From e14888d19c4f2e4c24bef22203b3bbffa523b291 Mon Sep 17 00:00:00 2001 From: Samuel Clay Date: Wed, 26 Oct 2016 16:43:50 -0700 Subject: [PATCH 01/21] Fixing TT logo image. --- templates/mail/email_launch_turntouch.xhtml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/templates/mail/email_launch_turntouch.xhtml b/templates/mail/email_launch_turntouch.xhtml index a6502a98c..86128d01f 100644 --- a/templates/mail/email_launch_turntouch.xhtml +++ b/templates/mail/email_launch_turntouch.xhtml @@ -2,7 +2,7 @@ {% load utils_tags %} {% block body %} -

Introducing Turn Touch

+

Introducing Turn Touch

Turn Touch is a solid wood remote... for NewsBlur.

Your favorite RSS news reader just dropped a gorgeous new piece of hardware on the world and it's built just for you. The you that would enjoy a new way of reading the news.

From 1ae3fa72f92d86e832f0d792efb4caf9128b2b00 Mon Sep 17 00:00:00 2001 From: dosiecki Date: Thu, 27 Oct 2016 13:53:28 -0700 Subject: [PATCH 02/21] ragged right align for story titles when thumbnail enabled (#942) --- .../NewsBlur/src/com/newsblur/database/StoryItemsAdapter.java | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/clients/android/NewsBlur/src/com/newsblur/database/StoryItemsAdapter.java b/clients/android/NewsBlur/src/com/newsblur/database/StoryItemsAdapter.java index 101aaded6..24e942b45 100644 --- a/clients/android/NewsBlur/src/com/newsblur/database/StoryItemsAdapter.java +++ b/clients/android/NewsBlur/src/com/newsblur/database/StoryItemsAdapter.java @@ -183,7 +183,8 @@ public class StoryItemsAdapter extends SimpleCursorAdapter { thumbnailView.setVisibility(View.VISIBLE); FeedUtils.thumbnailLoader.displayImage(story.thumbnailUrl, thumbnailView, 0, true); } else { - thumbnailView.setVisibility(View.INVISIBLE); + // to GONE rather than INVIS makes start titles misalign on the right side, but this is by design + thumbnailView.setVisibility(View.GONE); } } else { thumbnailView.setVisibility(View.GONE); From 6b709f52d7831b1ee8897316dcda5ef335771599 Mon Sep 17 00:00:00 2001 From: dosiecki Date: Thu, 27 Oct 2016 13:57:07 -0700 Subject: [PATCH 03/21] enable story thumbs by default (#942) --- clients/android/NewsBlur/res/xml/activity_settings.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/clients/android/NewsBlur/res/xml/activity_settings.xml b/clients/android/NewsBlur/res/xml/activity_settings.xml index 62fd20c67..0e758e967 100644 --- a/clients/android/NewsBlur/res/xml/activity_settings.xml +++ b/clients/android/NewsBlur/res/xml/activity_settings.xml @@ -61,7 +61,7 @@ android:key="pref_show_content_preview" android:title="@string/settings_show_content_preview" /> From 7601ad0a48b7272cfcd1f7f9474682575b24308c Mon Sep 17 00:00:00 2001 From: dosiecki Date: Thu, 27 Oct 2016 14:00:21 -0700 Subject: [PATCH 04/21] include thumbs pref in feedback debug dump --- clients/android/NewsBlur/src/com/newsblur/util/PrefsUtils.java | 1 + 1 file changed, 1 insertion(+) diff --git a/clients/android/NewsBlur/src/com/newsblur/util/PrefsUtils.java b/clients/android/NewsBlur/src/com/newsblur/util/PrefsUtils.java index ba5269d07..4050790b7 100644 --- a/clients/android/NewsBlur/src/com/newsblur/util/PrefsUtils.java +++ b/clients/android/NewsBlur/src/com/newsblur/util/PrefsUtils.java @@ -97,6 +97,7 @@ public class PrefsUtils { } s.append("%0Aprefetch: ").append(isOfflineEnabled(context) ? "yes" : "no"); s.append("%0Akeepread: ").append(isKeepOldStories(context) ? "yes" : "no"); + s.append("%0Athumbs: ").append(isShowThumbnails(context) ? "yes" : "no"); return s.toString(); } From 895e784dc2e308b15ff38f743bc672a8e4f7efa6 Mon Sep 17 00:00:00 2001 From: dosiecki Date: Thu, 27 Oct 2016 15:59:18 -0700 Subject: [PATCH 05/21] fix mismatched colour on unread count for collapsed social folder --- .../android/NewsBlur/res/layout/row_all_shared_stories.xml | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/clients/android/NewsBlur/res/layout/row_all_shared_stories.xml b/clients/android/NewsBlur/res/layout/row_all_shared_stories.xml index 7da59e944..a2836f3aa 100644 --- a/clients/android/NewsBlur/res/layout/row_all_shared_stories.xml +++ b/clients/android/NewsBlur/res/layout/row_all_shared_stories.xml @@ -42,12 +42,10 @@ android:gravity="center" android:paddingLeft="3dp" android:paddingRight="3dp" - android:paddingTop="1dp" - android:paddingBottom="2dp" android:shadowColor="@color/neutral_drop_shadow" android:shadowDy="1" android:shadowRadius="1" - android:textColor="@color/white" + style="?feedRowNeutCountText" android:textSize="14sp" android:textStyle="bold" /> From 09cab80fa8317cb307c944cd244a00ad38d8a595 Mon Sep 17 00:00:00 2001 From: Samuel Clay Date: Fri, 28 Oct 2016 17:04:12 -0700 Subject: [PATCH 06/21] Limiting permalinks when looking at query popularity. --- apps/rss_feeds/models.py | 1 + 1 file changed, 1 insertion(+) diff --git a/apps/rss_feeds/models.py b/apps/rss_feeds/models.py index 55eaa1087..dd519c406 100644 --- a/apps/rss_feeds/models.py +++ b/apps/rss_feeds/models.py @@ -1493,6 +1493,7 @@ class Feed(models.Model): stories_db = MStory.objects(story_hash__in=story_ids) stories = cls.format_stories(stories_db) for story in stories: + story['story_permalink'] = story['story_permalink'][:250] if story['story_authors'] not in feed['authors']: feed['authors'][story['story_authors']] = { 'name': story['story_authors'], From f370ac5cd83671af4431f1e5174eb028a148fd5f Mon Sep 17 00:00:00 2001 From: dosiecki Date: Fri, 28 Oct 2016 18:58:04 -0700 Subject: [PATCH 07/21] better atomic flagging for story session resets by sync service --- .../com/newsblur/fragment/ItemListFragment.java | 2 ++ .../src/com/newsblur/service/NBSyncService.java | 16 ++++++++++------ 2 files changed, 12 insertions(+), 6 deletions(-) diff --git a/clients/android/NewsBlur/src/com/newsblur/fragment/ItemListFragment.java b/clients/android/NewsBlur/src/com/newsblur/fragment/ItemListFragment.java index 5649c4bc0..9207c3006 100644 --- a/clients/android/NewsBlur/src/com/newsblur/fragment/ItemListFragment.java +++ b/clients/android/NewsBlur/src/com/newsblur/fragment/ItemListFragment.java @@ -69,6 +69,8 @@ public abstract class ItemListFragment extends NbFragment implements OnScrollLis super.onCreate(savedInstanceState); defaultFeedView = (DefaultFeedView)getArguments().getSerializable("defaultFeedView"); activity = (ItemsList) getActivity(); + // tell the sync service to discard the reading session at the start of the next sync, just in case + NBSyncService.resetReadingSession(); } @Override diff --git a/clients/android/NewsBlur/src/com/newsblur/service/NBSyncService.java b/clients/android/NewsBlur/src/com/newsblur/service/NBSyncService.java index 1b4f3308d..006d6cb9a 100644 --- a/clients/android/NewsBlur/src/com/newsblur/service/NBSyncService.java +++ b/clients/android/NewsBlur/src/com/newsblur/service/NBSyncService.java @@ -633,17 +633,21 @@ public class NBSyncService extends Service { StoryOrder order = PrefsUtils.getStoryOrder(this, fs); ReadFilter filter = PrefsUtils.getReadFilter(this, fs); + boolean doReset = false; synchronized (PENDING_FEED_MUTEX) { if (ResetSession) { - // the next fetch will be the start of a new reading session; clear it so it - // will be re-primed - dbHelper.clearStorySession(); - // don't just rely on the auto-prepare code when fetching stories, it might be called - // after we insert our first page and not trigger - dbHelper.prepareReadingSession(fs); + doReset = true; ResetSession = false; } } + if (doReset) { + // the next fetch will be the start of a new reading session; clear it so it + // will be re-primed + dbHelper.clearStorySession(); + // don't just rely on the auto-prepare code when fetching stories, it might be called + // after we insert our first page and not trigger + dbHelper.prepareReadingSession(fs); + } while (totalStoriesSeen < PendingFeedTarget) { if (stopSync()) return; From aae3189599507b4ba83a99bc987a40b62a75fcea Mon Sep 17 00:00:00 2001 From: dosiecki Date: Mon, 31 Oct 2016 14:25:59 -0700 Subject: [PATCH 08/21] ragged right story list if thumbnail present but invalid. offload more of thumbnail load to UI thread. --- .../src/com/newsblur/util/ImageLoader.java | 25 +++++++++++-------- 1 file changed, 15 insertions(+), 10 deletions(-) diff --git a/clients/android/NewsBlur/src/com/newsblur/util/ImageLoader.java b/clients/android/NewsBlur/src/com/newsblur/util/ImageLoader.java index fa291117e..c3f623a89 100644 --- a/clients/android/NewsBlur/src/com/newsblur/util/ImageLoader.java +++ b/clients/android/NewsBlur/src/com/newsblur/util/ImageLoader.java @@ -15,7 +15,7 @@ import android.content.Context; import android.graphics.Bitmap; import android.graphics.BitmapFactory; import android.os.Process; -import android.util.Log; +import android.view.View; import android.widget.ImageView; import com.newsblur.R; @@ -28,25 +28,27 @@ public class ImageLoader { private final ExecutorService executorService; private final int emptyRID; private final int minImgHeight; + private final boolean hideMissing; // some image loads can happen after the imageview in question is already reused for some other image. keep // track of what image each view wants so that when it comes time to load them, they aren't stale private final Map imageViewMappings = Collections.synchronizedMap(new WeakHashMap()); - private ImageLoader(FileCache fileCache, int emptyRID, int minImgHeight, long memoryCacheSize) { + private ImageLoader(FileCache fileCache, int emptyRID, int minImgHeight, boolean hideMissing, long memoryCacheSize) { this.memoryCache = new MemoryCache(memoryCacheSize); this.fileCache = fileCache; executorService = Executors.newFixedThreadPool(3); this.emptyRID = emptyRID; this.minImgHeight = minImgHeight; + this.hideMissing = hideMissing; } public static ImageLoader asIconLoader(Context context) { - return new ImageLoader(FileCache.asIconCache(context), R.drawable.world, 2, (Runtime.getRuntime().maxMemory()/20)); + return new ImageLoader(FileCache.asIconCache(context), R.drawable.world, 2, false, (Runtime.getRuntime().maxMemory()/20)); } public static ImageLoader asThumbnailLoader(Context context) { - return new ImageLoader(FileCache.asThumbnailCache(context), android.R.color.transparent, 32, (Runtime.getRuntime().maxMemory()/5)); + return new ImageLoader(FileCache.asThumbnailCache(context), android.R.color.transparent, 32, true, (Runtime.getRuntime().maxMemory()/5)); } public void displayImage(String url, ImageView imageView, float roundRadius, boolean cropSquare) { @@ -108,14 +110,12 @@ public class ImageLoader { if (bitmap != null) { memoryCache.put(photoToLoad.url, bitmap); - setViewImage(bitmap, photoToLoad); } + setViewImage(bitmap, photoToLoad); } } private void setViewImage(Bitmap bitmap, PhotoToLoad photoToLoad) { - if (bitmap == null) return; - if (bitmap.getHeight() < minImgHeight) return; BitmapDisplayer bitmapDisplayer = new BitmapDisplayer(bitmap, photoToLoad); Activity a = (Activity) photoToLoad.imageView.getContext(); a.runOnUiThread(bitmapDisplayer); @@ -133,11 +133,16 @@ public class ImageLoader { // ensure this imageview even still wants this image String latestMappedUrl = imageViewMappings.get(photoToLoad.imageView); if (latestMappedUrl == null || !latestMappedUrl.equals(photoToLoad.url)) return; - if (bitmap != null) { + + if ((bitmap == null) || (bitmap.getHeight() < minImgHeight)) { + if (hideMissing) { + photoToLoad.imageView.setVisibility(View.GONE); + } else { + photoToLoad.imageView.setImageResource(emptyRID); + } + } else { bitmap = UIUtils.clipAndRound(bitmap, photoToLoad.roundRadius, photoToLoad.cropSquare); photoToLoad.imageView.setImageBitmap(bitmap); - } else { - photoToLoad.imageView.setImageResource(emptyRID); } } } From fff85beb23eb5e33e25aa6e2fe59419fec3e8d51 Mon Sep 17 00:00:00 2001 From: David Sinclair Date: Tue, 1 Nov 2016 15:10:56 -0700 Subject: [PATCH 09/21] iOS: fixed #960 (returning on iPad reloads story) A bit tricksy to track down, but videos keep playing and the scroll position is preserved (on rotation while in the app, too). --- clients/ios/Classes/StoryDetailViewController.m | 5 +++++ clients/ios/Classes/StoryPageControl.m | 4 +++- clients/ios/NewsBlur.xcodeproj/project.pbxproj | 2 +- 3 files changed, 9 insertions(+), 2 deletions(-) diff --git a/clients/ios/Classes/StoryDetailViewController.m b/clients/ios/Classes/StoryDetailViewController.m index 7c59ed015..a416c0c99 100644 --- a/clients/ios/Classes/StoryDetailViewController.m +++ b/clients/ios/Classes/StoryDetailViewController.m @@ -2176,6 +2176,11 @@ shouldStartLoadWithRequest:(NSURLRequest *)request } - (void)changeWebViewWidth { + // Don't do this in the background, to avoid scrolling to the top unnecessarily + if ([UIApplication sharedApplication].applicationState == UIApplicationStateBackground) { + return; + } + // [webView setNeedsLayout]; // [webView layoutIfNeeded]; diff --git a/clients/ios/Classes/StoryPageControl.m b/clients/ios/Classes/StoryPageControl.m index ec005f13c..9e288ffee 100644 --- a/clients/ios/Classes/StoryPageControl.m +++ b/clients/ios/Classes/StoryPageControl.m @@ -368,7 +368,9 @@ // NSLog(@"---> Story page control did re-orient: %@ / %@", NSStringFromCGSize(self.view.bounds.size), NSStringFromCGSize(size)); [self.view setNeedsLayout]; [self.view layoutIfNeeded]; - [self refreshPages]; + + // This causes the story to reload on rotation (or when going to the background), but doesn't seem necessary? +// [self refreshPages]; }]; } diff --git a/clients/ios/NewsBlur.xcodeproj/project.pbxproj b/clients/ios/NewsBlur.xcodeproj/project.pbxproj index 4748fc72d..9ee876adb 100755 --- a/clients/ios/NewsBlur.xcodeproj/project.pbxproj +++ b/clients/ios/NewsBlur.xcodeproj/project.pbxproj @@ -2431,7 +2431,7 @@ 29B97313FDCFA39411CA2CEA /* Project object */ = { isa = PBXProject; attributes = { - LastUpgradeCheck = 0800; + LastUpgradeCheck = 0810; ORGANIZATIONNAME = NewsBlur; TargetAttributes = { 1D6058900D05DD3D006BFB54 = { From 3702c2ca6b8f85ba1ad47d14135216d58087850e Mon Sep 17 00:00:00 2001 From: Samuel Clay Date: Tue, 1 Nov 2016 15:16:53 -0700 Subject: [PATCH 10/21] Moving reach score --- apps/rss_feeds/models.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/apps/rss_feeds/models.py b/apps/rss_feeds/models.py index dd519c406..0f2e472c8 100644 --- a/apps/rss_feeds/models.py +++ b/apps/rss_feeds/models.py @@ -1572,8 +1572,8 @@ class Feed(models.Model): worksheet.write(0, col, 'Feed', bold) worksheet.write(0, col+1, 'Feed URL', bold) worksheet.write(0, col+2, '# Subs', bold) - worksheet.write(0, col+3, 'Reach score', bold) worksheet.write(0, col+4, '# Readers', bold) + worksheet.write(0, col+3, 'Reach score', bold) worksheet.write(0, col+5, 'Read %', bold) worksheet.write(0, col+6, '# stories 30d', bold) worksheet.write(0, col+7, 'Author', bold) @@ -1602,8 +1602,8 @@ class Feed(models.Model): worksheet.write(row, col+0, feed['feed_title']) worksheet.write_url(row, col+1, feed['feed_url']) worksheet.write(row, col+2, feed['num_subscribers']) - worksheet.write(row, col+3, feed['reach_score']) worksheet.write(row, col+4, feed['reader_count']) + worksheet.write(row, col+3, feed['reach_score']) worksheet.write(row, col+5, feed['read_pct']) worksheet.write(row, col+6, feed['story_count']) worksheet.conditional_format(row, col+3, row, col+6, {'type': 'cell', From d4d0047b31e7f792aa5e801153aae406f2ac3f8a Mon Sep 17 00:00:00 2001 From: dosiecki Date: Wed, 2 Nov 2016 15:22:31 -0700 Subject: [PATCH 11/21] switch light theme toolbars back to NewsBlur green. (#942) --- clients/android/NewsBlur/res/values/colors.xml | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/clients/android/NewsBlur/res/values/colors.xml b/clients/android/NewsBlur/res/values/colors.xml index 776c4071d..cfe75fff0 100644 --- a/clients/android/NewsBlur/res/values/colors.xml +++ b/clients/android/NewsBlur/res/values/colors.xml @@ -14,7 +14,9 @@ #000000 #00000000 - @color/gray90 + #E4E7E1 + + @color/nb_gren_gray91 @color/gray13 @color/gray20 From fcc12ea21c7d0bab0d45fa9c7ffd99abadbfa47b Mon Sep 17 00:00:00 2001 From: dosiecki Date: Wed, 2 Nov 2016 16:26:14 -0700 Subject: [PATCH 12/21] use shadow-effect story list separator (#942) --- .../dark_row_item_feed_header.xml | 8 ----- .../feed_background_default.xml | 4 +-- .../drawable-nodpi/row_item_feed_header.xml | 8 ----- .../NewsBlur/res/layout/fragment_itemlist.xml | 3 +- .../layout/include_reading_item_metadata.xml | 3 +- .../res/layout/row_all_shared_stories.xml | 4 +-- .../NewsBlur/res/layout/row_all_stories.xml | 4 +-- .../NewsBlur/res/layout/row_folder.xml | 4 +-- .../res/layout/row_global_shared_stories.xml | 4 +-- .../NewsBlur/res/layout/row_read_stories.xml | 4 +-- .../NewsBlur/res/layout/row_saved_stories.xml | 4 +-- .../android/NewsBlur/res/layout/row_story.xml | 11 +++++++ clients/android/NewsBlur/res/values/attrs.xml | 5 ++- .../android/NewsBlur/res/values/colors.xml | 32 +++++++++---------- .../android/NewsBlur/res/values/styles.xml | 30 +++++------------ clients/android/NewsBlur/res/values/theme.xml | 12 +++---- .../newsblur/fragment/ItemListFragment.java | 2 -- 17 files changed, 56 insertions(+), 86 deletions(-) delete mode 100644 clients/android/NewsBlur/res/drawable-nodpi/dark_row_item_feed_header.xml delete mode 100644 clients/android/NewsBlur/res/drawable-nodpi/row_item_feed_header.xml diff --git a/clients/android/NewsBlur/res/drawable-nodpi/dark_row_item_feed_header.xml b/clients/android/NewsBlur/res/drawable-nodpi/dark_row_item_feed_header.xml deleted file mode 100644 index b09fdbfc9..000000000 --- a/clients/android/NewsBlur/res/drawable-nodpi/dark_row_item_feed_header.xml +++ /dev/null @@ -1,8 +0,0 @@ - - - - diff --git a/clients/android/NewsBlur/res/drawable-nodpi/feed_background_default.xml b/clients/android/NewsBlur/res/drawable-nodpi/feed_background_default.xml index d0c4c64fd..39a3c86c7 100644 --- a/clients/android/NewsBlur/res/drawable-nodpi/feed_background_default.xml +++ b/clients/android/NewsBlur/res/drawable-nodpi/feed_background_default.xml @@ -1,5 +1,5 @@ - - \ No newline at end of file + + diff --git a/clients/android/NewsBlur/res/drawable-nodpi/row_item_feed_header.xml b/clients/android/NewsBlur/res/drawable-nodpi/row_item_feed_header.xml deleted file mode 100644 index e44d16610..000000000 --- a/clients/android/NewsBlur/res/drawable-nodpi/row_item_feed_header.xml +++ /dev/null @@ -1,8 +0,0 @@ - - - - diff --git a/clients/android/NewsBlur/res/layout/fragment_itemlist.xml b/clients/android/NewsBlur/res/layout/fragment_itemlist.xml index b1dc0a7ac..2f6772058 100644 --- a/clients/android/NewsBlur/res/layout/fragment_itemlist.xml +++ b/clients/android/NewsBlur/res/layout/fragment_itemlist.xml @@ -44,7 +44,6 @@ android:id="@+id/itemlistfragment_list" android:layout_width="match_parent" android:layout_height="match_parent" - style="?divider" - android:dividerHeight="1dp" /> + android:divider="@null" /> diff --git a/clients/android/NewsBlur/res/layout/include_reading_item_metadata.xml b/clients/android/NewsBlur/res/layout/include_reading_item_metadata.xml index 164751ecc..d8bf2c1a7 100644 --- a/clients/android/NewsBlur/res/layout/include_reading_item_metadata.xml +++ b/clients/android/NewsBlur/res/layout/include_reading_item_metadata.xml @@ -17,8 +17,7 @@ android:layout_width="match_parent" android:minHeight="6dp" android:paddingTop="4dp" - android:paddingBottom="4dp" - style="?rowItemFeedHeader"> + android:paddingBottom="4dp" > + style="?rowBorderTop" /> + style="?rowBorderBottom" /> diff --git a/clients/android/NewsBlur/res/layout/row_all_stories.xml b/clients/android/NewsBlur/res/layout/row_all_stories.xml index ff8118b00..dc41f01e2 100644 --- a/clients/android/NewsBlur/res/layout/row_all_stories.xml +++ b/clients/android/NewsBlur/res/layout/row_all_stories.xml @@ -30,11 +30,11 @@ android:layout_width="match_parent" android:layout_height="1dp" android:layout_alignParentTop="true" - style="?folderBorderTop" /> + style="?rowBorderTop" /> + style="?rowBorderBottom" /> diff --git a/clients/android/NewsBlur/res/layout/row_folder.xml b/clients/android/NewsBlur/res/layout/row_folder.xml index 40cf8648c..4636522ee 100644 --- a/clients/android/NewsBlur/res/layout/row_folder.xml +++ b/clients/android/NewsBlur/res/layout/row_folder.xml @@ -89,12 +89,12 @@ diff --git a/clients/android/NewsBlur/res/layout/row_global_shared_stories.xml b/clients/android/NewsBlur/res/layout/row_global_shared_stories.xml index 8e6885400..34a7d4e94 100644 --- a/clients/android/NewsBlur/res/layout/row_global_shared_stories.xml +++ b/clients/android/NewsBlur/res/layout/row_global_shared_stories.xml @@ -30,11 +30,11 @@ android:layout_width="match_parent" android:layout_height="1dp" android:layout_alignParentTop="true" - style="?folderBorderTop" /> + style="?rowBorderTop" /> + style="?rowBorderBottom" /> diff --git a/clients/android/NewsBlur/res/layout/row_read_stories.xml b/clients/android/NewsBlur/res/layout/row_read_stories.xml index 1af7a83ac..cd316486e 100644 --- a/clients/android/NewsBlur/res/layout/row_read_stories.xml +++ b/clients/android/NewsBlur/res/layout/row_read_stories.xml @@ -30,11 +30,11 @@ android:layout_width="match_parent" android:layout_height="1dp" android:layout_alignParentTop="true" - style="?folderBorderTop" /> + style="?rowBorderTop" /> + style="?rowBorderBottom" /> diff --git a/clients/android/NewsBlur/res/layout/row_saved_stories.xml b/clients/android/NewsBlur/res/layout/row_saved_stories.xml index fcfeee864..6b26f8f5e 100644 --- a/clients/android/NewsBlur/res/layout/row_saved_stories.xml +++ b/clients/android/NewsBlur/res/layout/row_saved_stories.xml @@ -60,11 +60,11 @@ android:layout_width="match_parent" android:layout_height="1dp" android:layout_alignParentTop="true" - style="?folderBorderTop" /> + style="?rowBorderTop" /> + style="?rowBorderBottom" /> diff --git a/clients/android/NewsBlur/res/layout/row_story.xml b/clients/android/NewsBlur/res/layout/row_story.xml index 276332cfa..94076d0da 100644 --- a/clients/android/NewsBlur/res/layout/row_story.xml +++ b/clients/android/NewsBlur/res/layout/row_story.xml @@ -125,6 +125,17 @@ android:singleLine="true" android:textColor="@color/story_author_text" /> + + + diff --git a/clients/android/NewsBlur/res/values/attrs.xml b/clients/android/NewsBlur/res/values/attrs.xml index 991fbfe40..4b1e5c29f 100644 --- a/clients/android/NewsBlur/res/values/attrs.xml +++ b/clients/android/NewsBlur/res/values/attrs.xml @@ -16,7 +16,6 @@ - @@ -24,8 +23,8 @@ - - + + diff --git a/clients/android/NewsBlur/res/values/colors.xml b/clients/android/NewsBlur/res/values/colors.xml index cfe75fff0..884b76b4a 100644 --- a/clients/android/NewsBlur/res/values/colors.xml +++ b/clients/android/NewsBlur/res/values/colors.xml @@ -1,7 +1,9 @@ - #FFF + #000000 + #121212 + #1A1A1A #212121 #333333 #4D4D4D @@ -11,12 +13,13 @@ #BFBFBF #CCCCCC #E6E6E6 - #000000 + #F4F4F4 + #FFF #00000000 - #E4E7E1 + #E4E7E1 - @color/nb_gren_gray91 + @color/nb_green_gray91 @color/gray13 @color/gray20 @@ -31,28 +34,23 @@ #E9EBE4 #DDE0D7 - #1A1A1A - #212121 + @color/gray07 + @color/gray13 #D9DBD4 #CDD0C7 #4C4C4C #1A1A1A - #FDFDFD - #B7BBAA - #434343 - #3B3B3B - #F7F8F5 - #303030 - #505050 - #303030 - #505050 + @color/white + @color/gray80 + @color/gray20 + @color/gray13 #FFFFD2 #E3D0AE #4C4C4C #1A1A1A - #F4F4F4 + @color/gray96 #FFFDEF - #1A1A1A + @color/gray07 #4C4C4C #606060 diff --git a/clients/android/NewsBlur/res/values/styles.xml b/clients/android/NewsBlur/res/values/styles.xml index 620707fd1..4985639ed 100644 --- a/clients/android/NewsBlur/res/values/styles.xml +++ b/clients/android/NewsBlur/res/values/styles.xml @@ -137,13 +137,6 @@ @drawable/dark_row_item_header_background - - - @@ -227,25 +220,18 @@ @color/dark_text - - - - - - -