summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--AndroidManifest.xml4
-rw-r--r--res/drawable-hdpi/arrowhead_dark.pngbin279 -> 0 bytes
-rw-r--r--res/drawable-hdpi/arrowhead_light.pngbin287 -> 0 bytes
-rw-r--r--res/drawable-hdpi/arrowhead_sepia.pngbin1269 -> 0 bytes
-rw-r--r--res/drawable-hdpi/ic_action_overflow.pngbin0 -> 2935 bytes
-rw-r--r--res/drawable-hdpi/ic_mailbox_collapsed_holo_dark.pngbin274 -> 0 bytes
-rw-r--r--res/drawable-hdpi/ic_mailbox_collapsed_holo_light.pngbin350 -> 0 bytes
-rw-r--r--res/drawable-xxhdpi/icon.pngbin0 -> 12760 bytes
-rw-r--r--res/drawable/headline_row.xml19
-rw-r--r--res/drawable/headline_row_selected.xml19
-rw-r--r--res/drawable/headline_row_selected_dark.xml13
-rw-r--r--res/drawable/headline_row_selected_gray.xml7
-rw-r--r--res/drawable/headline_row_selected_light.xml11
-rw-r--r--res/drawable/headline_row_selected_sepia.xml22
-rw-r--r--res/drawable/headline_row_sepia.xml19
-rw-r--r--res/drawable/headline_row_unread.xml19
-rw-r--r--res/drawable/headline_row_unread_gray.xml7
-rw-r--r--res/drawable/headline_row_unread_light.xml7
-rw-r--r--res/drawable/headline_row_unread_sepia.xml18
-rw-r--r--res/drawable/s_icon.svg10
-rw-r--r--res/layout/feeds_row.xml5
-rw-r--r--res/layout/feeds_row_selected.xml5
-rw-r--r--res/layout/headlines_fragment.xml6
-rw-r--r--res/layout/headlines_row.xml207
-rw-r--r--res/layout/headlines_row_selected.xml203
-rw-r--r--res/layout/headlines_row_selected_unread.xml204
-rw-r--r--res/layout/headlines_row_unread.xml204
-rw-r--r--res/values-es/strings.xml204
-rw-r--r--res/values-ja/strings.xml3
-rw-r--r--res/values-v11/style.xml25
-rw-r--r--res/values/resources.xml8
-rw-r--r--res/values/strings.xml1
-rw-r--r--res/values/style.xml28
-rw-r--r--src/org/fox/ttrss/ArticlePager.java31
-rw-r--r--src/org/fox/ttrss/FeedCategoriesFragment.java37
-rw-r--r--src/org/fox/ttrss/FeedsFragment.java36
-rw-r--r--src/org/fox/ttrss/HeadlinesFragment.java53
-rw-r--r--src/org/fox/ttrss/offline/OfflineFeedCategoriesFragment.java3
-rw-r--r--src/org/fox/ttrss/offline/OfflineFeedsActivity.java3
-rw-r--r--src/org/fox/ttrss/offline/OfflineFeedsFragment.java3
-rw-r--r--src/org/fox/ttrss/offline/OfflineHeadlinesFragment.java10
-rw-r--r--src/org/fox/ttrss/share/SubscribeActivity.java7
42 files changed, 919 insertions, 542 deletions
diff --git a/AndroidManifest.xml b/AndroidManifest.xml
index e705bf6d..b92b8da0 100644
--- a/AndroidManifest.xml
+++ b/AndroidManifest.xml
@@ -1,8 +1,8 @@
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="org.fox.ttrss"
- android:versionCode="194"
- android:versionName="1.8.13" >
+ android:versionCode="200"
+ android:versionName="1.13" >
<uses-sdk
android:minSdkVersion="8"
diff --git a/res/drawable-hdpi/arrowhead_dark.png b/res/drawable-hdpi/arrowhead_dark.png
deleted file mode 100644
index ad263895..00000000
--- a/res/drawable-hdpi/arrowhead_dark.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-hdpi/arrowhead_light.png b/res/drawable-hdpi/arrowhead_light.png
deleted file mode 100644
index 2c113ae1..00000000
--- a/res/drawable-hdpi/arrowhead_light.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-hdpi/arrowhead_sepia.png b/res/drawable-hdpi/arrowhead_sepia.png
deleted file mode 100644
index 78e276a0..00000000
--- a/res/drawable-hdpi/arrowhead_sepia.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-hdpi/ic_action_overflow.png b/res/drawable-hdpi/ic_action_overflow.png
new file mode 100644
index 00000000..0612f431
--- /dev/null
+++ b/res/drawable-hdpi/ic_action_overflow.png
Binary files differ
diff --git a/res/drawable-hdpi/ic_mailbox_collapsed_holo_dark.png b/res/drawable-hdpi/ic_mailbox_collapsed_holo_dark.png
deleted file mode 100644
index eb1a7bd8..00000000
--- a/res/drawable-hdpi/ic_mailbox_collapsed_holo_dark.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-hdpi/ic_mailbox_collapsed_holo_light.png b/res/drawable-hdpi/ic_mailbox_collapsed_holo_light.png
deleted file mode 100644
index 2c395b80..00000000
--- a/res/drawable-hdpi/ic_mailbox_collapsed_holo_light.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-xxhdpi/icon.png b/res/drawable-xxhdpi/icon.png
new file mode 100644
index 00000000..30baa7a5
--- /dev/null
+++ b/res/drawable-xxhdpi/icon.png
Binary files differ
diff --git a/res/drawable/headline_row.xml b/res/drawable/headline_row.xml
new file mode 100644
index 00000000..c928013e
--- /dev/null
+++ b/res/drawable/headline_row.xml
@@ -0,0 +1,19 @@
+<?xml version="1.0" encoding="utf-8"?>
+<layer-list xmlns:android="http://schemas.android.com/apk/res/android" >
+
+ <item>
+ <shape android:shape="rectangle" >
+ <solid android:color="#e0e0e0" />
+ <corners android:radius="2dp"/>
+ </shape>
+ </item>
+
+ <item
+ android:bottom="2dp">
+ <shape android:shape="rectangle" >
+ <solid android:color="#f5f5f5" />
+ <corners android:radius="2dp"/>
+ </shape>
+ </item>
+
+</layer-list> \ No newline at end of file
diff --git a/res/drawable/headline_row_selected.xml b/res/drawable/headline_row_selected.xml
new file mode 100644
index 00000000..1f30f42f
--- /dev/null
+++ b/res/drawable/headline_row_selected.xml
@@ -0,0 +1,19 @@
+<?xml version="1.0" encoding="utf-8"?>
+<layer-list xmlns:android="http://schemas.android.com/apk/res/android" >
+
+ <item>
+ <shape android:shape="rectangle" >
+ <solid android:color="#e0e0e0" />
+ <corners android:radius="2dp"/>
+ </shape>
+ </item>
+
+ <item
+ android:bottom="2dp">
+ <shape android:shape="rectangle" >
+ <solid android:color="#88b0f0" />
+ <corners android:radius="2dp"/>
+ </shape>
+ </item>
+
+</layer-list> \ No newline at end of file
diff --git a/res/drawable/headline_row_selected_dark.xml b/res/drawable/headline_row_selected_dark.xml
deleted file mode 100644
index 75c79a11..00000000
--- a/res/drawable/headline_row_selected_dark.xml
+++ /dev/null
@@ -1,13 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<layer-list xmlns:android="http://schemas.android.com/apk/res/android" >
-
- <item android:drawable="@color/ics_cyan"/>
-
- <item android:drawable="@drawable/shadow"/>
-
- <item><bitmap
- xmlns:android="http://schemas.android.com/apk/res/android"
- android:src="@drawable/arrowhead_dark"
- android:gravity="center_vertical|right" /></item>
-
-</layer-list> \ No newline at end of file
diff --git a/res/drawable/headline_row_selected_gray.xml b/res/drawable/headline_row_selected_gray.xml
deleted file mode 100644
index 17c6dce2..00000000
--- a/res/drawable/headline_row_selected_gray.xml
+++ /dev/null
@@ -1,7 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<layer-list xmlns:android="http://schemas.android.com/apk/res/android" >
-
- <item android:drawable="@color/headline_row_selected_gray"/>
- <item android:drawable="@drawable/shadow"/>
-
-</layer-list> \ No newline at end of file
diff --git a/res/drawable/headline_row_selected_light.xml b/res/drawable/headline_row_selected_light.xml
deleted file mode 100644
index 55e4bc54..00000000
--- a/res/drawable/headline_row_selected_light.xml
+++ /dev/null
@@ -1,11 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<layer-list xmlns:android="http://schemas.android.com/apk/res/android" >
-
- <item android:drawable="@color/headline_row_selected_light"/>
- <item android:drawable="@drawable/shadow"/>
- <item><bitmap
- xmlns:android="http://schemas.android.com/apk/res/android"
- android:src="@drawable/arrowhead_light"
- android:gravity="center_vertical|right" /></item>
-
-</layer-list> \ No newline at end of file
diff --git a/res/drawable/headline_row_selected_sepia.xml b/res/drawable/headline_row_selected_sepia.xml
index 04d82723..0ed5da7a 100644
--- a/res/drawable/headline_row_selected_sepia.xml
+++ b/res/drawable/headline_row_selected_sepia.xml
@@ -1,11 +1,19 @@
<?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android" >
- <item android:drawable="@color/headline_row_selected_sepia"/>
- <item android:drawable="@drawable/shadow"/>
- <item><bitmap
- xmlns:android="http://schemas.android.com/apk/res/android"
- android:src="@drawable/arrowhead_sepia"
- android:gravity="center_vertical|right" /></item>
-
+ <item>
+ <shape android:shape="rectangle" >
+ <solid android:color="#d0d0d0" />
+ <corners android:radius="2dp"/>
+ </shape>
+ </item>
+
+ <item
+ android:bottom="2dp">
+ <shape android:shape="rectangle" >
+ <solid android:color="#E5B0A0" />
+ <corners android:radius="2dp"/>
+ </shape>
+ </item>
+
</layer-list> \ No newline at end of file
diff --git a/res/drawable/headline_row_sepia.xml b/res/drawable/headline_row_sepia.xml
new file mode 100644
index 00000000..5fcb7aa1
--- /dev/null
+++ b/res/drawable/headline_row_sepia.xml
@@ -0,0 +1,19 @@
+<?xml version="1.0" encoding="utf-8"?>
+<layer-list xmlns:android="http://schemas.android.com/apk/res/android" >
+
+ <item>
+ <shape android:shape="rectangle" >
+ <solid android:color="#d0d0d0" />
+ <corners android:radius="2dp"/>
+ </shape>
+ </item>
+
+ <item
+ android:bottom="2dp">
+ <shape android:shape="rectangle" >
+ <solid android:color="#f5f5f5" />
+ <corners android:radius="2dp"/>
+ </shape>
+ </item>
+
+</layer-list> \ No newline at end of file
diff --git a/res/drawable/headline_row_unread.xml b/res/drawable/headline_row_unread.xml
new file mode 100644
index 00000000..14840998
--- /dev/null
+++ b/res/drawable/headline_row_unread.xml
@@ -0,0 +1,19 @@
+<?xml version="1.0" encoding="utf-8"?>
+<layer-list xmlns:android="http://schemas.android.com/apk/res/android" >
+
+ <item>
+ <shape android:shape="rectangle" >
+ <solid android:color="#e0e0e0" />
+ <corners android:radius="2dp"/>
+ </shape>
+ </item>
+
+ <item
+ android:bottom="2dp">
+ <shape android:shape="rectangle" >
+ <solid android:color="#ffffff" />
+ <corners android:radius="2dp"/>
+ </shape>
+ </item>
+
+</layer-list> \ No newline at end of file
diff --git a/res/drawable/headline_row_unread_gray.xml b/res/drawable/headline_row_unread_gray.xml
deleted file mode 100644
index cbaaed86..00000000
--- a/res/drawable/headline_row_unread_gray.xml
+++ /dev/null
@@ -1,7 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<layer-list xmlns:android="http://schemas.android.com/apk/res/android" >
-
- <item android:drawable="@color/headline_row_unread_gray"/>
- <item android:drawable="@drawable/shadow"/>
-
-</layer-list> \ No newline at end of file
diff --git a/res/drawable/headline_row_unread_light.xml b/res/drawable/headline_row_unread_light.xml
deleted file mode 100644
index d64bd7be..00000000
--- a/res/drawable/headline_row_unread_light.xml
+++ /dev/null
@@ -1,7 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<layer-list xmlns:android="http://schemas.android.com/apk/res/android" >
-
- <item android:drawable="@color/headline_row_unread_light"/>
- <item android:drawable="@drawable/shadow"/>
-
-</layer-list> \ No newline at end of file
diff --git a/res/drawable/headline_row_unread_sepia.xml b/res/drawable/headline_row_unread_sepia.xml
index a19a9559..f062fb7e 100644
--- a/res/drawable/headline_row_unread_sepia.xml
+++ b/res/drawable/headline_row_unread_sepia.xml
@@ -1,7 +1,19 @@
<?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android" >
- <item android:drawable="@color/headline_row_unread_sepia"/>
- <item android:drawable="@drawable/shadow"/>
-
+ <item>
+ <shape android:shape="rectangle" >
+ <solid android:color="#d0d0d0" />
+ <corners android:radius="2dp"/>
+ </shape>
+ </item>
+
+ <item
+ android:bottom="2dp">
+ <shape android:shape="rectangle" >
+ <solid android:color="#ffffff" />
+ <corners android:radius="2dp"/>
+ </shape>
+ </item>
+
</layer-list> \ No newline at end of file
diff --git a/res/drawable/s_icon.svg b/res/drawable/s_icon.svg
index 5e9bb07c..82cd4812 100644
--- a/res/drawable/s_icon.svg
+++ b/res/drawable/s_icon.svg
@@ -14,10 +14,10 @@
height="72"
id="svg2985"
version="1.1"
- inkscape:version="0.48.1 "
- inkscape:export-filename="C:\Users\fox\workspace\org.fox.ttrss\res\drawable-xhdpi\icon.png"
- inkscape:export-xdpi="120"
- inkscape:export-ydpi="120"
+ inkscape:version="0.48.4 r9939"
+ inkscape:export-filename="C:\Users\Andrew\workspace\Tiny-Tiny-RSS-for-Honeycomb\res\drawable-xxhdpi\icon.png"
+ inkscape:export-xdpi="180.02"
+ inkscape:export-ydpi="180.02"
sodipodi:docname="s_icon.svg">
<defs
id="defs2987">
@@ -712,7 +712,7 @@
inkscape:grid-bbox="true"
inkscape:snap-page="false"
inkscape:window-width="1920"
- inkscape:window-height="1138"
+ inkscape:window-height="1137"
inkscape:window-x="-8"
inkscape:window-y="-8"
inkscape:window-maximized="1" />
diff --git a/res/layout/feeds_row.xml b/res/layout/feeds_row.xml
index e52de2c2..35cef732 100644
--- a/res/layout/feeds_row.xml
+++ b/res/layout/feeds_row.xml
@@ -58,9 +58,6 @@
android:layout_height="wrap_content"
android:layout_weight="0"
android:background="@null"
- android:paddingLeft="6dp"
- android:paddingTop="6dp"
- android:visibility="gone"
- android:src="@drawable/ic_mailbox_collapsed_holo_light" />
+ android:src="@drawable/ic_action_overflow" />
</LinearLayout> \ No newline at end of file
diff --git a/res/layout/feeds_row_selected.xml b/res/layout/feeds_row_selected.xml
index 7876d150..0d145b23 100644
--- a/res/layout/feeds_row_selected.xml
+++ b/res/layout/feeds_row_selected.xml
@@ -58,9 +58,6 @@
android:layout_height="wrap_content"
android:layout_weight="0"
android:background="@null"
- android:paddingLeft="6dp"
- android:paddingTop="6dp"
- android:visibility="gone"
- android:src="@drawable/ic_mailbox_collapsed_holo_light" />
+ android:src="@drawable/ic_action_overflow" />
</LinearLayout> \ No newline at end of file
diff --git a/res/layout/headlines_fragment.xml b/res/layout/headlines_fragment.xml
index 58fa6694..5df36557 100644
--- a/res/layout/headlines_fragment.xml
+++ b/res/layout/headlines_fragment.xml
@@ -2,13 +2,15 @@
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/headlines_fragment"
android:layout_width="fill_parent"
- android:layout_height="fill_parent"
- android:paddingLeft="5dp" >
+ android:layout_height="fill_parent">
<ListView
android:id="@+id/headlines"
android:layout_width="match_parent"
android:layoutAnimation="@anim/layout_headline"
+ android:dividerHeight="0dp"
+ android:divider="@null"
+ android:paddingTop="3dp"
android:layout_height="match_parent" >
</ListView>
diff --git a/res/layout/headlines_row.xml b/res/layout/headlines_row.xml
index c8a9a0e7..92b0d3cc 100644
--- a/res/layout/headlines_row.xml
+++ b/res/layout/headlines_row.xml
@@ -1,126 +1,137 @@
<?xml version="1.0" encoding="utf-8"?>
-<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
+<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/headlines_row"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
- android:background="?headlineNormalBackground"
- android:orientation="vertical"
- android:paddingLeft="0dp"
+ android:paddingBottom="3dp"
+ android:paddingLeft="6dp"
android:paddingRight="6dp"
- android:paddingTop="6dp" >
+ android:paddingTop="3dp"
+ tools:ignore="HardcodedText" >
<LinearLayout
- android:id="@+id/linearLayout6"
+ android:id="@+id/inner_row"
android:layout_width="match_parent"
- android:layout_height="wrap_content"
- android:gravity="center_vertical"
- android:orientation="horizontal"
- android:paddingLeft="6dp" >
+ android:layout_height="match_parent"
+ android:background="?headlineNormalBackground"
+ android:orientation="vertical"
+ android:paddingBottom="2dp"
+ android:paddingLeft="6dp"
+ android:paddingRight="6dp"
+ android:paddingTop="6dp" >
- <TextView
- android:id="@+id/title"
+ <LinearLayout
+ android:id="@+id/linearLayout6"
android:layout_width="match_parent"
android:layout_height="wrap_content"
- android:layout_weight="1"
- android:ellipsize="end"
android:gravity="center_vertical"
- android:singleLine="false"
- android:text="Sample entry title"
- android:textColor="?headlineTextColor"
- android:textSize="16sp" />
- </LinearLayout>
+ android:orientation="horizontal" >
- <LinearLayout
- android:id="@+id/linearLayout1"
- android:layout_width="match_parent"
- android:layout_height="wrap_content"
- android:layout_weight="1"
- android:gravity="center_vertical"
- android:orientation="horizontal" >
+ <TextView
+ android:id="@+id/title"
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:layout_weight="1"
+ android:ellipsize="end"
+ android:gravity="center_vertical"
+ android:singleLine="false"
+ android:text="Sample entry title"
+ android:textColor="?headlineTextColor"
+ android:textSize="16sp" />
+ </LinearLayout>
- <CheckBox
- android:id="@+id/selected"
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- android:layout_weight="0"
- android:focusable="false" />
-
- <TextView
- android:id="@+id/feed_title"
- android:layout_width="wrap_content"
+ <LinearLayout
+ android:id="@+id/linearLayout1"
+ android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_weight="1"
- android:ellipsize="end"
android:gravity="center_vertical"
- android:singleLine="true"
- android:text="Example Feed"
- android:textColor="?headlineSecondaryTextColor"
- android:textSize="12sp" />
-
- <TextView
- android:id="@+id/date"
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- android:layout_weight="1"
- android:gravity="right|center_vertical"
- android:text="Jan 01, 12:00"
- android:textColor="?headlineSecondaryTextColor"
- android:textSize="12sp" />
- </LinearLayout>
+ android:orientation="horizontal"
+ android:paddingTop="3dp" >
- <TextView
- android:id="@+id/excerpt"
- android:layout_width="match_parent"
- android:layout_height="match_parent"
- android:paddingLeft="6dp"
- android:text="Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua."
- android:textColor="?headlineExcerptTextColor"
- android:textSize="13sp" />
+ <TextView
+ android:id="@+id/feed_title"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:layout_weight="1"
+ android:ellipsize="end"
+ android:gravity="center_vertical"
+ android:singleLine="true"
+ android:text="Example Feed"
+ android:textColor="?headlineSecondaryTextColor"
+ android:textSize="12sp" />
- <LinearLayout
- android:layout_width="match_parent"
- android:layout_height="wrap_content"
- android:gravity="center_vertical"
- android:paddingLeft="6dp" >
+ <TextView
+ android:id="@+id/date"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:layout_weight="1"
+ android:gravity="right|center_vertical"
+ android:text="Jan 01, 12:00"
+ android:textColor="?headlineSecondaryTextColor"
+ android:textSize="12sp" />
+ </LinearLayout>
<TextView
- android:id="@+id/author"
- android:layout_width="wrap_content"
+ android:id="@+id/excerpt"
+ android:layout_width="match_parent"
android:layout_height="match_parent"
- android:layout_weight="1"
- android:ellipsize="end"
- android:gravity="center_vertical"
- android:singleLine="true"
- android:text="by Author"
- android:textColor="?headlineSecondaryTextColor"
- android:textSize="12sp" />
+ android:paddingTop="3dp"
+ android:text="Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua."
+ android:textColor="?headlineExcerptTextColor"
+ android:textSize="13sp" />
- <ImageView
- android:id="@+id/marked"
- android:layout_width="wrap_content"
+ <LinearLayout
+ android:layout_width="match_parent"
android:layout_height="wrap_content"
- android:layout_weight="0"
- android:clickable="true"
- android:paddingRight="6dp"
- android:src="@android:drawable/star_off" />
+ android:gravity="center_vertical" >
- <ImageView
- android:id="@+id/published"
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- android:layout_weight="0"
- android:clickable="true"
- android:src="@drawable/ic_rss_bw" />
+ <CheckBox
+ android:id="@+id/selected"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:layout_marginLeft="-6dp"
+ android:layout_weight="0"
+ android:focusable="false" />
- <ImageButton
- android:id="@+id/article_menu_button"
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- android:layout_weight="0"
- android:background="@null"
- android:paddingLeft="10dp"
- android:paddingTop="6dp"
- android:src="@drawable/ic_mailbox_collapsed_holo_light" />
+ <TextView
+ android:id="@+id/author"
+ android:layout_width="wrap_content"
+ android:layout_height="match_parent"
+ android:layout_weight="1"
+ android:ellipsize="end"
+ android:gravity="center_vertical"
+ android:singleLine="true"
+ android:text="by Author"
+ android:textColor="?headlineSecondaryTextColor"
+ android:textSize="12sp" />
+
+ <ImageView
+ android:id="@+id/marked"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:layout_weight="0"
+ android:clickable="true"
+ android:paddingRight="6dp"
+ android:src="@android:drawable/star_off" />
+
+ <ImageView
+ android:id="@+id/published"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:layout_weight="0"
+ android:clickable="true"
+ android:paddingRight="6dp"
+ android:src="@drawable/ic_rss_bw" />
+
+ <ImageView
+ android:id="@+id/article_menu_button"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:layout_weight="0"
+ android:src="@drawable/ic_action_overflow" />
+ </LinearLayout>
</LinearLayout>
-</LinearLayout> \ No newline at end of file
+</FrameLayout> \ No newline at end of file
diff --git a/res/layout/headlines_row_selected.xml b/res/layout/headlines_row_selected.xml
index 34be5023..c88c0a83 100644
--- a/res/layout/headlines_row_selected.xml
+++ b/res/layout/headlines_row_selected.xml
@@ -1,127 +1,132 @@
<?xml version="1.0" encoding="utf-8"?>
-<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
+<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/headlines_row"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
- android:background="?headlineSelectedBackground"
- android:orientation="vertical"
- android:paddingLeft="0dp"
+ android:paddingBottom="3dp"
+ android:paddingLeft="6dp"
android:paddingRight="6dp"
- android:paddingTop="6dp" >
+ android:paddingTop="3dp" >
<LinearLayout
- android:id="@+id/linearLayout6"
+ android:id="@+id/inner_row"
android:layout_width="match_parent"
- android:layout_height="wrap_content"
- android:gravity="center_vertical"
- android:orientation="horizontal"
- android:paddingLeft="6dp" >
+ android:layout_height="match_parent"
+ android:background="?headlineSelectedBackground"
+ android:orientation="vertical"
+ android:paddingTop="6dp" android:paddingLeft="6dp" android:paddingRight="6dp" android:paddingBottom="2dp" >
- <TextView
- android:id="@+id/title"
+ <LinearLayout
+ android:id="@+id/linearLayout6"
android:layout_width="match_parent"
android:layout_height="wrap_content"
- android:layout_weight="1"
- android:ellipsize="end"
android:gravity="center_vertical"
- android:singleLine="false"
- android:text="Sample entry title"
- android:textColor="?attr/headlineSelectedTextColor"
- android:textSize="16sp"
- android:textStyle="bold" />
- </LinearLayout>
-
- <LinearLayout
- android:id="@+id/linearLayout1"
- android:layout_width="match_parent"
- android:layout_height="wrap_content"
- android:layout_weight="1"
- android:gravity="center_vertical"
- android:orientation="horizontal" >
+ android:orientation="horizontal" >
- <CheckBox
- android:id="@+id/selected"
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- android:layout_weight="0"
- android:focusable="false" />
+ <TextView
+ android:id="@+id/title"
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:layout_weight="1"
+ android:ellipsize="end"
+ android:gravity="center_vertical"
+ android:singleLine="false"
+ android:text="Sample entry title"
+ android:textColor="?attr/headlineSelectedTextColor"
+ android:textSize="16sp" />
+ </LinearLayout>
- <TextView
- android:id="@+id/feed_title"
- android:layout_width="wrap_content"
+ <LinearLayout
+ android:id="@+id/linearLayout1"
+ android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_weight="1"
- android:ellipsize="end"
android:gravity="center_vertical"
- android:singleLine="true"
- android:text="Example Feed"
- android:textColor="?headlineSelectedSecondaryTextColor"
- android:textSize="12sp" />
-
- <TextView
- android:id="@+id/date"
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- android:layout_weight="1"
- android:gravity="right|center_vertical"
- android:text="Jan 01, 12:00"
- android:textColor="?headlineSelectedSecondaryTextColor"
- android:textSize="12sp" />
- </LinearLayout>
+ android:orientation="horizontal"
+ android:paddingTop="3dp" >
- <TextView
- android:id="@+id/excerpt"
- android:layout_width="match_parent"
- android:layout_height="match_parent"
- android:paddingLeft="6dp"
- android:text="Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua."
- android:textColor="?headlineSelectedExcerptTextColor"
- android:textSize="13sp" />
+ <TextView
+ android:id="@+id/feed_title"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:layout_weight="1"
+ android:ellipsize="end"
+ android:gravity="center_vertical"
+ android:singleLine="true"
+ android:text="Example Feed"
+ android:textColor="?headlineSelectedSecondaryTextColor"
+ android:textSize="12sp" />
- <LinearLayout
- android:layout_width="match_parent"
- android:layout_height="wrap_content"
- android:gravity="center_vertical"
- android:paddingLeft="6dp" >
+ <TextView
+ android:id="@+id/date"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:layout_weight="1"
+ android:gravity="right|center_vertical"
+ android:text="Jan 01, 12:00"
+ android:textColor="?headlineSelectedSecondaryTextColor"
+ android:textSize="12sp" />
+ </LinearLayout>
<TextView
- android:id="@+id/author"
- android:layout_width="wrap_content"
+ android:id="@+id/excerpt"
+ android:layout_width="match_parent"
android:layout_height="match_parent"
- android:layout_weight="1"
- android:ellipsize="end"
- android:gravity="center_vertical"
- android:singleLine="true"
- android:text="by Author"
- android:textColor="?headlineSelectedSecondaryTextColor"
- android:textSize="12sp" />
+ android:paddingTop="3dp"
+ android:text="Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua."
+ android:textColor="?headlineSelectedExcerptTextColor"
+ android:textSize="13sp" />
- <ImageView
- android:id="@+id/marked"
- android:layout_width="wrap_content"
+ <LinearLayout
+ android:layout_width="match_parent"
android:layout_height="wrap_content"
- android:layout_weight="0"
- android:clickable="true"
- android:paddingRight="6dp"
- android:src="@android:drawable/star_off" />
+ android:gravity="center_vertical" >
- <ImageView
- android:id="@+id/published"
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- android:layout_weight="0"
- android:clickable="true"
- android:src="@drawable/ic_rss_bw" />
+ <CheckBox
+ android:id="@+id/selected"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:layout_marginLeft="-6dp"
+ android:layout_weight="0"
+ android:focusable="false" />
- <ImageButton
- android:id="@+id/article_menu_button"
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- android:layout_weight="0"
- android:background="@null"
- android:paddingLeft="10dp"
- android:paddingTop="6dp"
- android:src="@drawable/ic_mailbox_collapsed_holo_light" />
+ <TextView
+ android:id="@+id/author"
+ android:layout_width="wrap_content"
+ android:layout_height="match_parent"
+ android:layout_weight="1"
+ android:ellipsize="end"
+ android:gravity="center_vertical"
+ android:singleLine="true"
+ android:text="by Author"
+ android:textColor="?headlineSelectedSecondaryTextColor"
+ android:textSize="12sp" />
+
+ <ImageView
+ android:id="@+id/marked"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:layout_weight="0"
+ android:clickable="true"
+ android:paddingRight="6dp"
+ android:src="@android:drawable/star_off" />
+
+ <ImageView
+ android:id="@+id/published"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:layout_weight="0"
+ android:clickable="true"
+ android:paddingRight="6dp"
+ android:src="@drawable/ic_rss_bw" />
+
+ <ImageView
+ android:id="@+id/article_menu_button"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:layout_weight="0"
+ android:src="@drawable/ic_action_overflow" />
+ </LinearLayout>
</LinearLayout>
-</LinearLayout> \ No newline at end of file
+</FrameLayout> \ No newline at end of file
diff --git a/res/layout/headlines_row_selected_unread.xml b/res/layout/headlines_row_selected_unread.xml
index 506fcbba..764571d4 100644
--- a/res/layout/headlines_row_selected_unread.xml
+++ b/res/layout/headlines_row_selected_unread.xml
@@ -1,127 +1,133 @@
<?xml version="1.0" encoding="utf-8"?>
-<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
+<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/headlines_row"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
- android:background="?headlineSelectedBackground"
- android:orientation="vertical"
- android:paddingLeft="0dp"
+ android:paddingBottom="3dp"
+ android:paddingLeft="6dp"
android:paddingRight="6dp"
- android:paddingTop="6dp" >
+ android:paddingTop="3dp" >
<LinearLayout
- android:id="@+id/linearLayout6"
+ android:id="@+id/inner_row"
android:layout_width="match_parent"
- android:layout_height="wrap_content"
- android:gravity="center_vertical"
- android:orientation="horizontal"
- android:paddingLeft="6dp" >
+ android:layout_height="match_parent"
+ android:background="?headlineSelectedBackground"
+ android:orientation="vertical"
+ android:paddingTop="6dp" android:paddingLeft="6dp" android:paddingRight="6dp" android:paddingBottom="2dp" >
- <TextView
- android:id="@+id/title"
+ <LinearLayout
+ android:id="@+id/linearLayout6"
android:layout_width="match_parent"
android:layout_height="wrap_content"
- android:layout_weight="1"
- android:ellipsize="end"
android:gravity="center_vertical"
- android:singleLine="false"
- android:text="Sample entry title"
- android:textColor="?headlineSelectedTextColor"
- android:textSize="16sp"
- android:textStyle="bold" />
- </LinearLayout>
-
- <LinearLayout
- android:id="@+id/linearLayout1"
- android:layout_width="match_parent"
- android:layout_height="wrap_content"
- android:layout_weight="1"
- android:gravity="center_vertical"
- android:orientation="horizontal" >
+ android:orientation="horizontal" >
- <CheckBox
- android:id="@+id/selected"
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- android:layout_weight="0"
- android:focusable="false" />
+ <TextView
+ android:id="@+id/title"
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:layout_weight="1"
+ android:ellipsize="end"
+ android:gravity="center_vertical"
+ android:singleLine="false"
+ android:text="Sample entry title"
+ android:textColor="?headlineSelectedTextColor"
+ android:textSize="16sp"
+ android:textStyle="bold" />
+ </LinearLayout>
- <TextView
- android:id="@+id/feed_title"
- android:layout_width="wrap_content"
+ <LinearLayout
+ android:id="@+id/linearLayout1"
+ android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_weight="1"
- android:ellipsize="end"
android:gravity="center_vertical"
- android:singleLine="true"
- android:text="Example Feed"
- android:textColor="?headlineSelectedSecondaryTextColor"
- android:textSize="12sp" />
-
- <TextView
- android:id="@+id/date"
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- android:layout_weight="1"
- android:gravity="right|center_vertical"
- android:text="Jan 01, 12:00"
- android:textColor="?headlineSelectedSecondaryTextColor"
- android:textSize="12sp" />
- </LinearLayout>
+ android:orientation="horizontal"
+ android:paddingTop="3dp" >
- <TextView
- android:id="@+id/excerpt"
- android:layout_width="match_parent"
- android:layout_height="match_parent"
- android:paddingLeft="6dp"
- android:text="Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua."
- android:textColor="?headlineSelectedExcerptTextColor"
- android:textSize="13sp" />
+ <TextView
+ android:id="@+id/feed_title"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:layout_weight="1"
+ android:ellipsize="end"
+ android:gravity="center_vertical"
+ android:singleLine="true"
+ android:text="Example Feed"
+ android:textColor="?headlineSelectedSecondaryTextColor"
+ android:textSize="12sp" />
- <LinearLayout
- android:layout_width="match_parent"
- android:layout_height="wrap_content"
- android:gravity="center_vertical"
- android:paddingLeft="6dp" >
+ <TextView
+ android:id="@+id/date"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:layout_weight="1"
+ android:gravity="right|center_vertical"
+ android:text="Jan 01, 12:00"
+ android:textColor="?headlineSelectedSecondaryTextColor"
+ android:textSize="12sp" />
+ </LinearLayout>
<TextView
- android:id="@+id/author"
- android:layout_width="wrap_content"
+ android:id="@+id/excerpt"
+ android:layout_width="match_parent"
android:layout_height="match_parent"
- android:layout_weight="1"
- android:ellipsize="end"
- android:gravity="center_vertical"
- android:singleLine="true"
- android:text="by Author"
- android:textColor="?headlineSelectedSecondaryTextColor"
- android:textSize="12sp" />
+ android:paddingTop="3dp"
+ android:text="Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua."
+ android:textColor="?headlineSelectedExcerptTextColor"
+ android:textSize="13sp" />
- <ImageView
- android:id="@+id/marked"
- android:layout_width="wrap_content"
+ <LinearLayout
+ android:layout_width="match_parent"
android:layout_height="wrap_content"
- android:layout_weight="0"
- android:clickable="true"
- android:paddingRight="6dp"
- android:src="@android:drawable/star_off" />
+ android:gravity="center_vertical" >
- <ImageView
- android:id="@+id/published"
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- android:layout_weight="0"
- android:clickable="true"
- android:src="@drawable/ic_rss_bw" />
+ <CheckBox
+ android:id="@+id/selected"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:layout_marginLeft="-6dp"
+ android:layout_weight="0"
+ android:focusable="false" />
- <ImageButton
- android:id="@+id/article_menu_button"
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- android:layout_weight="0"
- android:background="@null"
- android:paddingLeft="10dp"
- android:paddingTop="6dp"
- android:src="@drawable/ic_mailbox_collapsed_holo_light" />
+ <TextView
+ android:id="@+id/author"
+ android:layout_width="wrap_content"
+ android:layout_height="match_parent"
+ android:layout_weight="1"
+ android:ellipsize="end"
+ android:gravity="center_vertical"
+ android:singleLine="true"
+ android:text="by Author"
+ android:textColor="?headlineSelectedSecondaryTextColor"
+ android:textSize="12sp" />
+
+ <ImageView
+ android:id="@+id/marked"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:layout_weight="0"
+ android:clickable="true"
+ android:paddingRight="6dp"
+ android:src="@android:drawable/star_off" />
+
+ <ImageView
+ android:id="@+id/published"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:layout_weight="0"
+ android:clickable="true"
+ android:paddingRight="6dp"
+ android:src="@drawable/ic_rss_bw" />
+
+ <ImageView
+ android:id="@+id/article_menu_button"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:layout_weight="0"
+ android:src="@drawable/ic_action_overflow" />
+ </LinearLayout>
</LinearLayout>
-</LinearLayout> \ No newline at end of file
+</FrameLayout> \ No newline at end of file
diff --git a/res/layout/headlines_row_unread.xml b/res/layout/headlines_row_unread.xml
index 89537907..141b1736 100644
--- a/res/layout/headlines_row_unread.xml
+++ b/res/layout/headlines_row_unread.xml
@@ -1,127 +1,133 @@
<?xml version="1.0" encoding="utf-8"?>
-<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
+<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/headlines_row"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
- android:background="?headlineUnreadBackground"
- android:orientation="vertical"
- android:paddingLeft="0dp"
+ android:paddingBottom="3dp"
+ android:paddingLeft="6dp"
android:paddingRight="6dp"
- android:paddingTop="6dp" >
+ android:paddingTop="3dp" >
<LinearLayout
- android:id="@+id/linearLayout6"
+ android:id="@+id/inner_row"
android:layout_width="match_parent"
- android:layout_height="wrap_content"
- android:gravity="center_vertical"
- android:orientation="horizontal"
- android:paddingLeft="6dp" >
+ android:layout_height="match_parent"
+ android:background="?headlineUnreadBackground"
+ android:orientation="vertical"
+ android:paddingTop="6dp" android:paddingLeft="6dp" android:paddingRight="6dp" android:paddingBottom="2dp" > >
- <TextView
- android:id="@+id/title"
+ <LinearLayout
+ android:id="@+id/linearLayout6"
android:layout_width="match_parent"
android:layout_height="wrap_content"
- android:layout_weight="1"
- android:ellipsize="end"
android:gravity="center_vertical"
- android:singleLine="false"
- android:text="Sample entry title"
- android:textColor="?headlineUnreadTextColor"
- android:textSize="16sp"
- android:textStyle="bold" />
- </LinearLayout>
-
- <LinearLayout
- android:id="@+id/linearLayout1"
- android:layout_width="match_parent"
- android:layout_height="wrap_content"
- android:layout_weight="1"
- android:gravity="center_vertical"
- android:orientation="horizontal" >
+ android:orientation="horizontal" >
- <CheckBox
- android:id="@+id/selected"
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- android:layout_weight="0"
- android:focusable="false" />
+ <TextView
+ android:id="@+id/title"
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:layout_weight="1"
+ android:ellipsize="end"
+ android:gravity="center_vertical"
+ android:singleLine="false"
+ android:text="Sample entry title"
+ android:textColor="?headlineUnreadTextColor"
+ android:textSize="16sp"
+ android:textStyle="bold" />
+ </LinearLayout>
- <TextView
- android:id="@+id/feed_title"
- android:layout_width="wrap_content"
+ <LinearLayout
+ android:id="@+id/linearLayout1"
+ android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_weight="1"
- android:ellipsize="end"
android:gravity="center_vertical"
- android:singleLine="true"
- android:text="Example Feed"
- android:textColor="?headlineSecondaryTextColor"
- android:textSize="12sp" />
-
- <TextView
- android:id="@+id/date"
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- android:layout_weight="1"
- android:gravity="right|center_vertical"
- android:text="Jan 01, 12:00"
- android:textColor="?headlineSecondaryTextColor"
- android:textSize="12sp" />
- </LinearLayout>
+ android:orientation="horizontal"
+ android:paddingTop="3dp" >
- <TextView
- android:id="@+id/excerpt"
- android:layout_width="match_parent"
- android:layout_height="match_parent"
- android:paddingLeft="6dp"
- android:text="Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua."
- android:textColor="?headlineExcerptTextColor"
- android:textSize="13sp" />
+ <TextView
+ android:id="@+id/feed_title"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:layout_weight="1"
+ android:ellipsize="end"
+ android:gravity="center_vertical"
+ android:singleLine="true"
+ android:text="Example Feed"
+ android:textColor="?headlineSecondaryTextColor"
+ android:textSize="12sp" />
- <LinearLayout
- android:layout_width="match_parent"
- android:layout_height="wrap_content"
- android:gravity="center_vertical"
- android:paddingLeft="6dp" >
+ <TextView
+ android:id="@+id/date"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:layout_weight="1"
+ android:gravity="right|center_vertical"
+ android:text="Jan 01, 12:00"
+ android:textColor="?headlineSecondaryTextColor"
+ android:textSize="12sp" />
+ </LinearLayout>
<TextView
- android:id="@+id/author"
- android:layout_width="wrap_content"
+ android:id="@+id/excerpt"
+ android:layout_width="match_parent"
android:layout_height="match_parent"
- android:layout_weight="1"
- android:ellipsize="end"
- android:gravity="center_vertical"
- android:singleLine="true"
- android:text="by Author"
- android:textColor="?headlineSecondaryTextColor"
- android:textSize="12sp" />
+ android:paddingTop="3dp"
+ android:text="Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua."
+ android:textColor="?headlineExcerptTextColor"
+ android:textSize="13sp" />
- <ImageView
- android:id="@+id/marked"
- android:layout_width="wrap_content"
+ <LinearLayout
+ android:layout_width="match_parent"
android:layout_height="wrap_content"
- android:layout_weight="0"
- android:clickable="true"
- android:paddingRight="6dp"
- android:src="@android:drawable/star_off" />
+ android:gravity="center_vertical" >
- <ImageView
- android:id="@+id/published"
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- android:layout_weight="0"
- android:clickable="true"
- android:src="@drawable/ic_rss_bw" />
+ <CheckBox
+ android:id="@+id/selected"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:layout_marginLeft="-6dp"
+ android:layout_weight="0"
+ android:focusable="false" />
- <ImageButton
- android:id="@+id/article_menu_button"
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- android:layout_weight="0"
- android:background="@null"
- android:paddingLeft="10dp"
- android:paddingTop="6dp"
- android:src="@drawable/ic_mailbox_collapsed_holo_light" />
+ <TextView
+ android:id="@+id/author"
+ android:layout_width="wrap_content"
+ android:layout_height="match_parent"
+ android:layout_weight="1"
+ android:ellipsize="end"
+ android:gravity="center_vertical"
+ android:singleLine="true"
+ android:text="by Author"
+ android:textColor="?headlineSecondaryTextColor"
+ android:textSize="12sp" />
+
+ <ImageView
+ android:id="@+id/marked"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:layout_weight="0"
+ android:clickable="true"
+ android:paddingRight="6dp"
+ android:src="@android:drawable/star_off" />
+
+ <ImageView
+ android:id="@+id/published"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:layout_weight="0"
+ android:clickable="true"
+ android:paddingRight="6dp"
+ android:src="@drawable/ic_rss_bw" />
+
+ <ImageView
+ android:id="@+id/article_menu_button"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:layout_weight="0"
+ android:src="@drawable/ic_action_overflow" />
+ </LinearLayout>
</LinearLayout>
-</LinearLayout> \ No newline at end of file
+</FrameLayout> \ No newline at end of file
diff --git a/res/values-es/strings.xml b/res/values-es/strings.xml
new file mode 100644
index 00000000..6a111fea
--- /dev/null
+++ b/res/values-es/strings.xml
@@ -0,0 +1,204 @@
+<?xml version="1.0" encoding="utf-8"?>
+<resources>
+
+ <string name="login_in_progress">Iniciando sesión…</string>
+ <string name="app_name">Tiny Tiny RSS</string>
+ <string name="login_need_configure">Por favor, configure primero la aplicación.</string>
+ <string name="login_ready">Listo para iniciar sesión.</string>
+ <string name="login_login">Iniciar sesión</string>
+ <string name="logout">Cerrar sesión</string>
+ <string name="login">Credenciales</string>
+ <string name="debugging">Debugging</string>
+ <string name="password">Contraseña</string>
+ <string name="default_url">http://example.domain/tt-rss/</string>
+ <string name="look_and_feel">Apariencia</string>
+ <string name="pref_theme">Tema</string>
+ <string name="pref_theme_long">Cambiar el tema de colores de la aplicación</string>
+ <string name="ttrss_url">URL do Tiny Tiny RSS</string>
+ <string name="theme_dark">Oscuro</string>
+ <string name="preferences">Preferencias</string>
+ <string name="theme_light">Claro</string>
+ <string name="connection">Conexión</string>
+ <string name="headline_context_multiple">Artículos seleccionados</string>
+ <string name="http_authentication">Autenticación HTTP</string>
+ <string name="loading_message">Cargando, espere por favor…</string>
+ <string name="menu_unread_feeds">Mostrar fuentes sin leer</string>
+ <string name="menu_all_feeds">Mostrar todas las fuentes</string>
+ <string name="update_feeds">Actualizar</string>
+ <string name="share_article">Compartir artículo</string>
+ <string name="catchup">Marcar como leído</string>
+ <string name="sort_feeds_by_unread">Ordenar fuentes por número de artículos sin leer</string>
+ <string name="ssl_trust_any">Aceptar cualquier certificado</string>
+ <string name="category_browse_feeds">Ver fuentes</string>
+ <string name="category_browse_articles">Ver artículos</string>
+ <string name="blank"></string>
+ <string name="transport_debugging">Registrar datos enviados y recibidos</string>
+ <string name="article_toggle_marked">Marcar/desmarcar como favorito</string>
+ <string name="article_toggle_published">Marcar/desmarcar como publicado</string>
+ <string name="headlines_select">Seleccionar artículos</string>
+ <string name="headlines_select_dialog">Seleccionar artículos</string>
+ <string name="headlines_select_all">Todo</string>
+ <string name="headlines_select_unread">Sin leer</string>
+ <string name="headlines_select_none">Deseleccionar todo</string>
+ <string name="selection_toggle_marked">Marcar/desmarcar como favorito</string>
+ <string name="selection_toggle_published">Marcar/desmarcar como publicado</string>
+ <string name="selection_toggle_unread">Marcar/desmarcar como leído</string>
+ <string name="selection_select_none">Deseleccionar todo</string>
+ <string name="context_selection_toggle_marked">Marcar/desmarcar como favorito</string>
+ <string name="context_selection_toggle_published">Marcar/desmarcar como publicado</string>
+ <string name="context_selection_toggle_unread">Marcar/desmarcar como leído</string>
+ <string name="article_set_unread">Artículo marcado como no leído</string>
+ <string name="article_mark_read_above">Marcar artículos anteriores como leídos</string>
+ <string name="http_login_summary">Opcional. Complete este campo si su instalación de Tiny Tiny RSS usa autenticación básica por HTTP</string>
+ <string name="login_summary">Sus credenciales para Tiny Tiny RSS. No son necesarias en modo de usuario único</string>
+ <string name="ttrss_url_summary">URL de su instalación de Tiny Tiny RSS, por ejemplo http://site.com/tt-rss/</string>
+ <string name="download_feed_icons">Habilitar iconos de las fuentes</string>
+ <string name="enable_cats">Habilitar categorías de fuentes</string>
+ <string name="no_feeds_to_display">Ninguna fuente para mostrar</string>
+ <string name="no_headlines_to_display">Ningún titular para mostrar</string>
+ <string name="no_caption_to_display">Ninguna leyenda para mostrar</string>
+ <string name="browse_cats_like_feeds">Ver categorías como si fuesen fuentes</string>
+ <string name="browse_cats_like_feeds_summary">Use el menú contextual de categoría para reemplazar esta preferencia</string>
+ <string name="headlines_mark_as_read">Marcar como leído</string>
+ <string name="error_unknown">Error: Error desconocido (ver log)</string>
+ <string name="error_http_unauthorized">Error: 401 No autorizado</string>
+ <string name="error_http_forbidden">Error: 403 Acceso denegado</string>
+ <string name="error_http_not_found">Error: 404 No encontrado</string>
+ <string name="error_http_server_error">Error: 500 Error del servidor</string>
+ <string name="error_http_other_error">Error: Otro error HTTP (ver log)</string>
+ <string name="error_ssl_rejected">Error: Certificado SSL rechazado</string>
+ <string name="error_parse_error">Error: Fallo al interpretar JSON</string>
+ <string name="error_io_error">Error: Fallo de I/O (¿servidor caído?)</string>
+ <string name="error_other_error">Error: Error desconocido (ver log)</string>
+ <string name="error_api_disabled">Error: Habilite el acceso por API externa en las preferencias avanzadas de Tiny Tiny RSS</string>
+ <string name="error_api_unknown">Error: Error desconocido de la API (ver log)</string>
+ <string name="error_api_incorrect_usage">Error: Uso incorrecto da API</string>
+ <string name="error_login_failed">Error: Usuario o contraseña incorrectos</string>
+ <string name="error_invalid_api_url">Error: URL de la API inválida</string>
+ <string name="combined_mode_summary">Mostrar texto del artículo con el titular, en vez de usar un panel separado</string>
+ <string name="combined_mode">Modo combinado</string>
+ <string name="go_offline">Entrar en modo offline</string>
+ <string name="go_online">Entrar en modo online</string>
+ <string name="offline_switch_error">Fallo al preparar el modo offline (ver log)</string>
+ <string name="no_feeds">Ninguna fuente para mostrar</string>
+ <string name="no_headlines">Ningún artículo para mostrar</string>
+ <string name="dialog_offline_prompt">El inicio de sesión ha fallado, pero tiene datos offline almacenados. ¿Quiere entrar en modo offline?</string>
+ <string name="dialog_offline_success">Modo offline está listo</string>
+ <string name="dialog_offline_go">Entrar en modo offline</string>
+ <string name="dialog_cancel">Cancelar</string>
+ <string name="dialog_offline_switch_prompt">¿Descargar artículos sin leer y entrar a modo offline?</string>
+ <string name="notify_downloading_articles">Descargando artículos (%1$d)…</string>
+ <string name="notify_downloading_init">Iniciando descarga…</string>
+ <string name="notify_downloading_feeds">Descargando fuentes…</string>
+ <string name="notify_uploading_sending_data">Enviando datos al servidor…</string>
+ <string name="notify_downloading_title">Preparando modo offline</string>
+ <string name="notify_uploading_title">Sincronizando datos offline</string>
+ <string name="offline_sync_success">Sincronización de datos offline completa</string>
+ <string name="offline_mode">Modo offline</string>
+ <string name="offline_image_cache_enabled">Guardar imágenes en caché</string>
+ <string name="offline_image_cache_enabled_summary">Descargar imágenes a la tarjeta SD. Esto podría prolongar significativamente la espera para entrar al modo offline.</string>
+ <string name="notify_downloading_images">Descargando imágenes (%1$d)…</string>
+ <string name="article_set_labels">Definir marcadores</string>
+ <string name="search">Buscar</string>
+ <string name="cancel">Cancelar</string>
+ <string name="font_size_small">Pequeño</string>
+ <string name="font_size_medium">Medio</string>
+ <string name="font_size_large">Grande</string>
+ <string name="pref_font_size">Tamaño de texto de los artículos</string>
+ <string name="donate">Donar</string>
+ <string name="dialog_close">Cerrar</string>
+ <string name="donate_select">Por favor, seleccione la donación</string>
+ <string name="donate_do">¡Donar!</string>
+ <string name="tablet_article_swipe">Deslizar el dedo para moverse entre artículos</string>
+ <string name="article_link_copy">Copiar enlace al portapapeles</string>
+ <string name="text_copied_to_clipboard">Texto copiado al portapapeles</string>
+ <string name="attachments_prompt">Seleccione adjunto</string>
+ <string name="attachment_view">Ver</string>
+ <string name="attachment_copy">Copiar URL</string>
+ <string name="justify_article_text">Justificar texto de artículos</string>
+ <string name="dialog_offline_sync_in_progress">Sincronización offline en progreso</string>
+ <string name="dialog_offline_sync_stop">Detener sincronización</string>
+ <string name="dialog_offline_sync_continue">Continuar</string>
+ <string name="article_set_note">Publicar con anotación</string>
+ <string name="close_feed">Cerrar fuente</string>
+ <string name="close_article">Cerrar artículo</string>
+ <string name="dialog_open_preferences">Preferencias</string>
+ <string name="dialog_need_configure_prompt">Por favor, complete la información de su servidor de Tiny Tiny RSS, como URL, nombre de usuario y contraseña.</string>
+ <string name="notify_article_marked">Artículo favorito</string>
+ <string name="notify_article_unmarked">Artículo no favorito</string>
+ <string name="notify_article_published">Artículo publicado</string>
+ <string name="notify_article_unpublished">Artículo no publicado</string>
+ <string name="notify_article_note_set">Nota del artículo guardada</string>
+ <string name="update_headlines">Actualizar</string>
+ <string name="attachment_share">Compartir</string>
+ <string name="error_network_unavailable">Error: Red no disponible</string>
+ <string name="category_browse_headlines">Ver titulares</string>
+ <string name="pref_default_view_mode">Vista de fuentes por defecto</string>
+ <string name="pref_default_view_mode_long">Qué vista de fuentes abrir por defecto en smartphones</string>
+ <string name="donate_thanks">Donación encontrada, ¡gracias por su apoyo!</string>
+ <string name="use_volume_keys">Usar los botones de volumen</string>
+ <string name="use_volume_keys_long">Moverse entre artículos usando los botones de volumen</string>
+ <string name="ssl_trust_any_host">No verificar hostname</string>
+ <string name="error_api_unknown_method">Error: método API desconocido</string>
+ <string name="ssl_trust_any_long">Aceptar cualquier certificado SSL sin verificación</string>
+ <string name="ssl_trust_any_host_long">No verificar el nombre del servidor</string>
+ <string name="ssl">SSL</string>
+ <string name="error_ssl_hostname_rejected">Error: Hostname SSL no verificado</string>
+ <string name="offline_oldest_first">Mostrar artículos más antiguos primero</string>
+ <string name="prefs_dim_status_bar">Oscurecer barra de estado</string>
+ <string name="prefs_dim_status_bar_long">Oscurecer barra de estado durante lectura</string>
+ <string name="article_comments">%1$d comentarios</string>
+ <string name="trial_mode_prompt">Período de prueba, queda(n) %1$d día(s).</string>
+ <string name="trial_purchase">Desbloquear versión completa</string>
+ <string name="trial_expired">Período de prueba expirado</string>
+ <string name="trial_expired_message">Para continuar usando Tiny Tiny RSS, por favor desbloquee la versión completa adquiriendo una clave.</string>
+ <string name="theme_sepia">Sepia</string>
+ <string name="trial_thanks">Versión completa, ¡gracias por su apoyo!</string>
+ <string name="prefs_fullscreen_mode">Modo de pantalla completa</string>
+ <string name="reading">Leyendo</string>
+ <string name="theme_dark_gray">Gris oscuro</string>
+ <string name="offline_articles_to_download">Número de artículos a descargar</string>
+ <string name="offline_articles_to_download_long">Número de artículos a descargar para modo offline (primero los más recientes).</string>
+ <string name="pref_headlines_show_content_long">Previsualizar texto de los artículos en la lista de titulares</string>
+ <string name="pref_headlines_show_content">Previsualización de artículos</string>
+ <string name="api_too_low">Esta acción requiere una versión más reciente de Tiny Tiny RSS</string>
+ <string name="share_url_prompt">URL:</string>
+ <string name="share_url_hint">URL del artículo</string>
+ <string name="share_content_hint">Contenido del artículo</string>
+ <string name="share_title_prompt">Título:</string>
+ <string name="share_title_hint">Título del artículo</string>
+ <string name="share_share_button">Compartir</string>
+ <string name="share_article_posted">Artículo compartido.</string>
+ <string name="subscribe_name">Suscribirse con Tiny Tiny RSS</string>
+ <string name="feed_url">URL de la fuente</string>
+ <string name="subscribe_to_feed">Suscribirse a fuente</string>
+ <string name="error_while_subscribing">Error al suscribirse.</string>
+ <string name="category_list_updated">Lista de categorías actualizada</string>
+ <string name="subscribed_to_feed">Fuente suscrita</string>
+ <string name="error_feed_already_exists_">Error: la fuente ya existe.</string>
+ <string name="error_invalid_url">Error: URL inválida.</string>
+ <string name="error_url_is_an_html_page_no_feeds_found">Error: la URL es de una página HTML, no se han encontrado fuentes.</string>
+ <string name="error_url_contains_multiple_feeds">Error: la URL contiene múltiples fuentes</string>
+ <string name="error_could_not_download_url">Error: no se pudo descargar la URL</string>
+ <string name="headlines_view_mode">Definir modo de vista</string>
+ <string name="headlines_set_view_mode">Definir modo de vista</string>
+ <string name="headlines_adaptive">Adaptable</string>
+ <string name="headlines_all_articles">Todos los artículos</string>
+ <string name="headlines_starred">Favoritos</string>
+ <string name="headlines_published">Publicados</string>
+ <string name="headlines_unread">Sin leer</string>
+ <string name="article_img_open">Abrir imagen</string>
+ <string name="article_img_share">Compartir imagen</string>
+ <string name="requires_api5">Requiere la versión 1.7.6</string>
+ <string name="labels">Marcadores</string>
+ <string name="article_img_view_caption">Ver leyenda</string>
+ <string name="light_theme_is_not_supported_on_honeycomb">Tema claro no está soportado en Honeycomb</string>
+ <string name="pref_headlines_mark_read_scroll">Marcar como leído al desplazarse por titulares</string>
+ <string name="pref_headlines_mark_read_scroll_long">Los artículos se marcarán como leídos al desplazarse por la lista de titulares</string>
+ <string name="mark_num_headlines_as_read">Marcar %1$d artículo(s) como leído(s)?</string>
+ <string name="prefs_confirm_headlines_catchup">Confirme para marcar artículos como leídos</string>
+ <string name="author_formatted">por %1$s</string>
+ <string name="n_unread_articles">%1$d artículos sin leer</string>
+ <string name="pref_headline_font_size">Tamaño de texto para los titulares</string>
+ <string name="context_confirm_catchup">¿Marcar todos los artículos en %1$s como leídos?</string>
+</resources>
diff --git a/res/values-ja/strings.xml b/res/values-ja/strings.xml
index 5cd5bc28..8f1e4c9a 100644
--- a/res/values-ja/strings.xml
+++ b/res/values-ja/strings.xml
@@ -195,9 +195,10 @@
<string name="light_theme_is_not_supported_on_honeycomb">ライトテーマはHoneycombではサポートされていません</string>
<string name="pref_headlines_mark_read_scroll">スクロールしたら既読にする</string>
<string name="pref_headlines_mark_read_scroll_long">ヘッドラインをスクロールしたら既読にする</string>
- <string name="mark_num_headlines_as_read"> %1$d 件の記事を既読にしますか?</string>
+ <string name="mark_num_headlines_as_read">%1$d 件の記事を既読にしますか?</string>
<string name="prefs_confirm_headlines_catchup">記事を既読にする際に確認する</string>
<string name="author_formatted">by %1$s</string>
<string name="n_unread_articles">%1$d 件の未読記事</string>
<string name="pref_headline_font_size">ヘッドラインの文字サイズ</string>
+ <string name="context_confirm_catchup">%1$s の全ての記事を既読にしますか?</string>
</resources>
diff --git a/res/values-v11/style.xml b/res/values-v11/style.xml
index 6d5bde71..d2adf334 100644
--- a/res/values-v11/style.xml
+++ b/res/values-v11/style.xml
@@ -7,10 +7,10 @@
<item name="headlinesBackground"><!-- #f0f0f0 -->@drawable/shadow_headlines</item>
<item name="headlinesBackgroundSolid">#f0f0f0</item>
<item name="articleBackground">@android:color/transparent</item>
- <item name="headlineSelectedBackground">@drawable/headline_row_selected_light</item>
- <item name="headlineUnreadBackground">@drawable/headline_row_unread_light</item>
- <item name="headlineNormalBackground">@android:color/transparent</item>
- <item name="feedsSelectedBackground">@drawable/headline_row_selected_light</item>
+ <item name="headlineSelectedBackground">@drawable/headline_row_selected</item>
+ <item name="headlineUnreadBackground">@drawable/headline_row_unread</item>
+ <item name="headlineNormalBackground">@drawable/headline_row</item>
+ <item name="feedsSelectedBackground">#88b0f0</item>
<item name="feedlistTextColor">@android:color/primary_text_light</item>
<item name="feedlistSelectedTextColor">#ffffff</item>
<item name="headlineTextColor">@android:color/secondary_text_light</item>
@@ -33,8 +33,9 @@
<item name="headlinesBackground">@drawable/shadow_headlines_sepia</item>
<item name="headlinesBackgroundSolid">@drawable/paper_sepia</item>
<item name="headlineUnreadBackground">@drawable/headline_row_unread_sepia</item> <!-- #F2EAE8 -->
- <item name="headlineSelectedBackground">@drawable/headline_row_selected_sepia</item>
- <item name="feedsSelectedBackground">@drawable/headline_row_selected_sepia</item>
+ <item name="headlineNormalBackground">@drawable/headline_row_sepia</item>
+ <item name="headlineSelectedBackground">@drawable/headline_row_selected_sepia</item> <!-- #E5B0A0 -->
+ <item name="feedsSelectedBackground">#E5B0A0</item>
<item name="articleBackground">@drawable/paper_sepia</item>
<item name="unreadCounterBackground">@drawable/counter_background_sepia</item>
<item name="unreadSelectedCounterBackground">@drawable/counter_background_sepia</item>
@@ -51,10 +52,10 @@
<item name="headlinesBackground">@android:color/black</item>
<item name="headlinesBackgroundSolid">@android:color/black</item>
<item name="articleBackground">@android:color/black</item>
- <item name="headlineSelectedBackground">@drawable/headline_row_selected_dark</item>
+ <item name="headlineSelectedBackground">@color/ics_cyan</item>
<item name="headlineUnreadBackground">#202020</item>
- <item name="headlineNormalBackground">@android:color/transparent</item>
- <item name="feedsSelectedBackground">@drawable/headline_row_selected_dark</item>
+ <item name="headlineNormalBackground">#151515</item>
+ <item name="feedsSelectedBackground">@color/ics_cyan</item>
<item name="feedlistTextColor">@android:color/primary_text_dark</item>
<item name="feedlistSelectedTextColor">@android:color/black</item>
<item name="headlineTextColor">@android:color/secondary_text_dark</item>
@@ -78,9 +79,9 @@
<item name="headlinesBackground">@drawable/shadow_headlines_gray</item>
<item name="headlinesBackgroundSolid">@color/feeds_dark_gray</item>
<item name="articleBackground">@color/feeds_dark_gray</item>
- <item name="headlineSelectedBackground">@drawable/headline_row_selected_gray</item>
- <item name="headlineUnreadBackground">@drawable/headline_row_unread_gray</item>
- <item name="feedsSelectedBackground">@drawable/headline_row_selected_gray</item>
+ <item name="headlineSelectedBackground">#22667f</item>
+ <item name="headlineUnreadBackground">#383c42</item>
+ <item name="feedsSelectedBackground">#22667f</item>
<item name="feedlistSelectedTextColor">@android:color/primary_text_dark</item>
<item name="headlineSelectedExcerptTextColor">@android:color/secondary_text_dark</item>
<item name="headlineTextColor">@android:color/secondary_text_dark</item>
diff --git a/res/values/resources.xml b/res/values/resources.xml
index 134f7960..7e1b097e 100644
--- a/res/values/resources.xml
+++ b/res/values/resources.xml
@@ -5,16 +5,10 @@
<color name="headlines_light">#ffffff</color>
<color name="headlines_sepia">#EAE2DC</color>
<color name="feeds_sepia">#D3C6BA</color>
- <color name="headline_row_selected_light">#88b0f0</color>
- <color name="headline_row_selected_sepia">#E5B0A0</color>
<color name="ics_cyan">#33b5e5</color>
- <color name="feeds_dark_gray">#1c1d1e</color>
- <color name="headline_row_selected_gray">#22667f</color>
- <color name="headline_row_unread_gray">#383c42</color>
- <color name="headline_row_unread_light">#f0f0f0</color>
- <color name="headline_row_unread_sepia">#F2EAE8</color>
<color name="unread_counter_background">#88b0f0</color>
<color name="unread_counter_background_dark">#303030</color>
<color name="unread_counter_background_sepia">#C46262</color>
<color name="unread_counter_background_selected_light">#4684ff</color>
+ <color name="feeds_dark_gray">#1c1d1e</color>
</resources> \ No newline at end of file
diff --git a/res/values/strings.xml b/res/values/strings.xml
index a05188d8..e4ef4831 100644
--- a/res/values/strings.xml
+++ b/res/values/strings.xml
@@ -200,4 +200,5 @@
<string name="author_formatted">by %1$s</string>
<string name="n_unread_articles">%1$d unread articles</string>
<string name="pref_headline_font_size">Headline text size</string>
+ <string name="context_confirm_catchup">Mark all articles in %1$s as read?</string>
</resources>
diff --git a/res/values/style.xml b/res/values/style.xml
index d1123515..4a8e93ba 100644
--- a/res/values/style.xml
+++ b/res/values/style.xml
@@ -7,10 +7,10 @@
<item name="headlinesBackground"><!-- #f0f0f0 -->@drawable/shadow_headlines</item>
<item name="headlinesBackgroundSolid">#f0f0f0</item>
<item name="articleBackground">@android:color/transparent</item>
- <item name="headlineSelectedBackground">@drawable/headline_row_selected_light</item>
- <item name="headlineUnreadBackground">@drawable/headline_row_unread_light</item>
- <item name="headlineNormalBackground">@android:color/transparent</item>
- <item name="feedsSelectedBackground">@drawable/headline_row_selected_light</item>
+ <item name="headlineSelectedBackground">#88b0f0</item>
+ <item name="headlineUnreadBackground">#ffffff</item>
+ <item name="headlineNormalBackground">#f0f0f0</item>
+ <item name="feedsSelectedBackground">#88b0f0</item>
<item name="feedlistTextColor">@android:color/primary_text_light</item>
<item name="feedlistSelectedTextColor">#ffffff</item>
<item name="headlineTextColor">@android:color/secondary_text_light</item>
@@ -24,7 +24,7 @@
<item name="linkColor">#4684ff</item>
<item name="loadingBackground">@android:color/white</item>
<item name="unreadCounterBackground">@drawable/counter_background</item>
- <item name="unreadSelectedCounterBackground">@drawable/counter_background</item>
+ <item name="unreadSelectedCounterBackground">@drawable/counter_background_selected_light</item>
</style>
<style name="SepiaTheme" parent="LightTheme">
@@ -32,9 +32,9 @@
<item name="feedlistBackground">@drawable/shadow_feeds_sepia</item>
<item name="headlinesBackground">@drawable/shadow_headlines_sepia</item>
<item name="headlinesBackgroundSolid">@drawable/paper_sepia</item>
- <item name="headlineUnreadBackground">@drawable/headline_row_unread_sepia</item> <!-- #F2EAE8 -->
- <item name="headlineSelectedBackground">@drawable/headline_row_selected_sepia</item>
- <item name="feedsSelectedBackground">@drawable/headline_row_selected_sepia</item>
+ <item name="headlineUnreadBackground">#f2eae8</item> <!-- #F2EAE8 -->
+ <item name="headlineSelectedBackground">#E5B0A0</item>
+ <item name="feedsSelectedBackground">#E5B0A0</item>
<item name="articleBackground">@drawable/paper_sepia</item>
<item name="unreadCounterBackground">@drawable/counter_background_sepia</item>
<item name="unreadSelectedCounterBackground">@drawable/counter_background_sepia</item>
@@ -51,10 +51,10 @@
<item name="headlinesBackground">@android:color/black</item>
<item name="headlinesBackgroundSolid">@android:color/black</item>
<item name="articleBackground">@android:color/black</item>
- <item name="headlineSelectedBackground">@drawable/headline_row_selected_dark</item>
+ <item name="headlineSelectedBackground">@color/ics_cyan</item>
<item name="headlineUnreadBackground">#202020</item>
- <item name="headlineNormalBackground">@android:color/transparent</item>
- <item name="feedsSelectedBackground">@drawable/headline_row_selected_dark</item>
+ <item name="headlineNormalBackground">#151515</item>
+ <item name="feedsSelectedBackground">@color/ics_cyan</item>
<item name="feedlistTextColor">@android:color/primary_text_dark</item>
<item name="feedlistSelectedTextColor">@android:color/black</item>
<item name="headlineTextColor">@android:color/secondary_text_dark</item>
@@ -78,9 +78,9 @@
<item name="headlinesBackground">@drawable/shadow_headlines_gray</item>
<item name="headlinesBackgroundSolid">@color/feeds_dark_gray</item>
<item name="articleBackground">@color/feeds_dark_gray</item>
- <item name="headlineSelectedBackground">@drawable/headline_row_selected_gray</item>
- <item name="headlineUnreadBackground">@drawable/headline_row_unread_gray</item>
- <item name="feedsSelectedBackground">@drawable/headline_row_selected_gray</item>
+ <item name="headlineSelectedBackground">#22667f</item>
+ <item name="headlineUnreadBackground">#383c42</item>
+ <item name="feedsSelectedBackground">#22667f</item>
<item name="feedlistSelectedTextColor">@android:color/primary_text_dark</item>
<item name="headlineSelectedExcerptTextColor">@android:color/secondary_text_dark</item>
<item name="headlineTextColor">@android:color/secondary_text_dark</item>
diff --git a/src/org/fox/ttrss/ArticlePager.java b/src/org/fox/ttrss/ArticlePager.java
index 9caa72d1..f7e5a13f 100644
--- a/src/org/fox/ttrss/ArticlePager.java
+++ b/src/org/fox/ttrss/ArticlePager.java
@@ -175,10 +175,12 @@ public class ArticlePager extends Fragment {
}
}
- if (m_article.id == 0 || m_articles.indexOf(m_article) == -1) {
- if (m_articles.size() > 0) {
- m_article = m_articles.get(0);
- m_listener.onArticleSelected(m_article, false);
+ if (m_article != null) {
+ if (m_article.id == 0 || m_articles.indexOf(m_article) == -1) {
+ if (m_articles.size() > 0) {
+ m_article = m_articles.get(0);
+ m_listener.onArticleSelected(m_article, false);
+ }
}
}
@@ -199,11 +201,28 @@ public class ArticlePager extends Fragment {
int skip = 0;
if (append) {
+ // adaptive, all_articles, marked, published, unread
+ String viewMode = m_activity.getViewMode();
+ int numUnread = 0;
+ int numAll = m_articles.size();
+
for (Article a : m_articles) {
- if (a.unread) ++skip;
+ if (a.unread) ++numUnread;
}
- if (skip == 0) skip = m_articles.size();
+ if ("marked".equals(viewMode)) {
+ skip = numAll;
+ } else if ("published".equals(viewMode)) {
+ skip = numAll;
+ } else if ("unread".equals(viewMode)) {
+ skip = numUnread;
+ } else if (m_searchQuery != null && m_searchQuery.length() > 0) {
+ skip = numAll;
+ } else if ("adaptive".equals(viewMode)) {
+ skip = numUnread > 0 ? numUnread : numAll;
+ } else {
+ skip = numAll;
+ }
}
final int fskip = skip;
diff --git a/src/org/fox/ttrss/FeedCategoriesFragment.java b/src/org/fox/ttrss/FeedCategoriesFragment.java
index 34b21922..f2c6d522 100644
--- a/src/org/fox/ttrss/FeedCategoriesFragment.java
+++ b/src/org/fox/ttrss/FeedCategoriesFragment.java
@@ -13,7 +13,10 @@ import org.fox.ttrss.types.FeedCategoryList;
import android.annotation.SuppressLint;
import android.app.Activity;
+import android.app.AlertDialog;
+import android.app.Dialog;
import android.content.Context;
+import android.content.DialogInterface;
import android.content.SharedPreferences;
import android.content.SharedPreferences.OnSharedPreferenceChangeListener;
import android.os.Bundle;
@@ -125,9 +128,36 @@ public class FeedCategoriesFragment extends Fragment implements OnItemClickListe
return true;
case R.id.catchup_category:
if (true) {
- FeedCategory cat = getCategoryAtPosition(info.position);
+ final FeedCategory cat = getCategoryAtPosition(info.position);
if (cat != null) {
- m_activity.catchupFeed(new Feed(cat.id, cat.title, true));
+
+ if (m_prefs.getBoolean("confirm_headlines_catchup", true)) {
+ AlertDialog.Builder builder = new AlertDialog.Builder(
+ m_activity)
+ .setMessage(getString(R.string.context_confirm_catchup, cat.title))
+ .setPositiveButton(R.string.catchup,
+ new Dialog.OnClickListener() {
+ public void onClick(DialogInterface dialog,
+ int which) {
+
+ m_activity.catchupFeed(new Feed(cat.id, cat.title, true));
+
+ }
+ })
+ .setNegativeButton(R.string.dialog_cancel,
+ new Dialog.OnClickListener() {
+ public void onClick(DialogInterface dialog,
+ int which) {
+
+ }
+ });
+
+ AlertDialog dlg = builder.create();
+ dlg.show();
+ } else {
+ m_activity.catchupFeed(new Feed(cat.id, cat.title, true));
+ }
+
}
}
return true;
@@ -415,9 +445,6 @@ public class FeedCategoriesFragment extends Fragment implements OnItemClickListe
ImageButton ib = (ImageButton) v.findViewById(R.id.feed_menu_button);
if (ib != null) {
- if (m_activity.isDarkTheme())
- ib.setImageResource(R.drawable.ic_mailbox_collapsed_holo_dark);
-
ib.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
diff --git a/src/org/fox/ttrss/FeedsFragment.java b/src/org/fox/ttrss/FeedsFragment.java
index 9eae321b..cc851cd4 100644
--- a/src/org/fox/ttrss/FeedsFragment.java
+++ b/src/org/fox/ttrss/FeedsFragment.java
@@ -19,7 +19,10 @@ import org.fox.ttrss.types.FeedList;
import android.annotation.SuppressLint;
import android.app.Activity;
+import android.app.AlertDialog;
+import android.app.Dialog;
import android.content.Context;
+import android.content.DialogInterface;
import android.content.SharedPreferences;
import android.content.SharedPreferences.OnSharedPreferenceChangeListener;
import android.graphics.Bitmap;
@@ -156,9 +159,35 @@ public class FeedsFragment extends Fragment implements OnItemClickListener, OnSh
return true;
case R.id.catchup_feed:
if (true) {
- Feed feed = getFeedAtPosition(info.position);
+ final Feed feed = getFeedAtPosition(info.position);
+
if (feed != null) {
- m_activity.catchupFeed(feed);
+ if (m_prefs.getBoolean("confirm_headlines_catchup", true)) {
+ AlertDialog.Builder builder = new AlertDialog.Builder(
+ m_activity)
+ .setMessage(getString(R.string.context_confirm_catchup, feed.title))
+ .setPositiveButton(R.string.catchup,
+ new Dialog.OnClickListener() {
+ public void onClick(DialogInterface dialog,
+ int which) {
+
+ m_activity.catchupFeed(feed);
+
+ }
+ })
+ .setNegativeButton(R.string.dialog_cancel,
+ new Dialog.OnClickListener() {
+ public void onClick(DialogInterface dialog,
+ int which) {
+
+ }
+ });
+
+ AlertDialog dlg = builder.create();
+ dlg.show();
+ } else {
+ m_activity.catchupFeed(feed);
+ }
}
}
return true;
@@ -542,9 +571,6 @@ public class FeedsFragment extends Fragment implements OnItemClickListener, OnSh
ImageButton ib = (ImageButton) v.findViewById(R.id.feed_menu_button);
if (ib != null) {
- if (m_activity.isDarkTheme())
- ib.setImageResource(R.drawable.ic_mailbox_collapsed_holo_dark);
-
ib.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
diff --git a/src/org/fox/ttrss/HeadlinesFragment.java b/src/org/fox/ttrss/HeadlinesFragment.java
index d2ba40cc..0b5bc1ca 100644
--- a/src/org/fox/ttrss/HeadlinesFragment.java
+++ b/src/org/fox/ttrss/HeadlinesFragment.java
@@ -65,6 +65,7 @@ public class HeadlinesFragment extends Fragment implements OnItemClickListener,
private Article m_activeArticle;
private String m_searchQuery = "";
private boolean m_refreshInProgress = false;
+ private boolean m_autoCatchupDisabled = false;
private SharedPreferences m_prefs;
@@ -298,8 +299,8 @@ public class HeadlinesFragment extends Fragment implements OnItemClickListener,
//list.setEmptyView(view.findViewById(R.id.no_headlines));
registerForContextMenu(list);
- if (m_activity.isSmallScreen())
- view.findViewById(R.id.headlines_fragment).setPadding(0, 0, 0, 0);
+ //if (m_activity.isSmallScreen())
+ //view.findViewById(R.id.headlines_fragment).setPadding(0, 0, 0, 0);
Log.d(TAG, "onCreateView, feed=" + m_feed);
@@ -371,6 +372,20 @@ public class HeadlinesFragment extends Fragment implements OnItemClickListener,
append = false;
}
+ // new stuff may appear on top, scroll back to show it
+ if (!append) {
+ if (getView() != null) {
+ Log.d(TAG, "scroll hack");
+ ListView list = (ListView)getView().findViewById(R.id.headlines);
+ m_autoCatchupDisabled = true;
+ list.setSelection(0);
+ m_autoCatchupDisabled = false;
+ list.setEmptyView(null);
+ m_adapter.clear();
+ m_adapter.notifyDataSetChanged();
+ }
+ }
+
final boolean fappend = append;
final String sessionId = m_activity.getSessionId();
final boolean isCat = m_feed.is_cat;
@@ -418,11 +433,29 @@ public class HeadlinesFragment extends Fragment implements OnItemClickListener,
int skip = 0;
if (append) {
+ // adaptive, all_articles, marked, published, unread
+ String viewMode = m_activity.getViewMode();
+ int numUnread = 0;
+ int numAll = m_articles.size();
+
for (Article a : m_articles) {
- if (a.unread) ++skip;
+ if (a.unread) ++numUnread;
+ }
+
+ if ("marked".equals(viewMode)) {
+ skip = numAll;
+ } else if ("published".equals(viewMode)) {
+ skip = numAll;
+ } else if ("unread".equals(viewMode)) {
+ skip = numUnread;
+ } else if (m_searchQuery != null && m_searchQuery.length() > 0) {
+ skip = numAll;
+ } else if ("adaptive".equals(viewMode)) {
+ skip = numUnread > 0 ? numUnread : numAll;
+ } else {
+ skip = numAll;
}
- if (skip == 0) skip = m_articles.size();
} else {
m_activity.setLoadingStatus(R.string.blank, true);
}
@@ -765,13 +798,13 @@ public class HeadlinesFragment extends Fragment implements OnItemClickListener,
});
}
- ImageButton ib = (ImageButton) v.findViewById(R.id.article_menu_button);
+ ImageView iv = (ImageView) v.findViewById(R.id.article_menu_button);
- if (ib != null) {
- if (m_activity.isDarkTheme())
- ib.setImageResource(R.drawable.ic_mailbox_collapsed_holo_dark);
+ if (iv != null) {
+ //if (m_activity.isDarkTheme())
+ // ib.setImageResource(R.drawable.ic_mailbox_collapsed_holo_dark);
- ib.setOnClickListener(new OnClickListener() {
+ iv.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
getActivity().openContextMenu(v);
@@ -869,7 +902,7 @@ public class HeadlinesFragment extends Fragment implements OnItemClickListener,
refresh(true);
}
- if (m_prefs.getBoolean("headlines_mark_read_scroll", false) && firstVisibleItem > 0) {
+ if (m_prefs.getBoolean("headlines_mark_read_scroll", false) && firstVisibleItem > 0 && !m_autoCatchupDisabled) {
Article a = m_articles.get(firstVisibleItem - 1);
if (a != null && a.unread) {
diff --git a/src/org/fox/ttrss/offline/OfflineFeedCategoriesFragment.java b/src/org/fox/ttrss/offline/OfflineFeedCategoriesFragment.java
index ad229919..682cf3e6 100644
--- a/src/org/fox/ttrss/offline/OfflineFeedCategoriesFragment.java
+++ b/src/org/fox/ttrss/offline/OfflineFeedCategoriesFragment.java
@@ -288,9 +288,6 @@ public class OfflineFeedCategoriesFragment extends Fragment implements OnItemCli
ImageButton ib = (ImageButton) v.findViewById(R.id.feed_menu_button);
if (ib != null) {
- if (m_activity.isDarkTheme())
- ib.setImageResource(R.drawable.ic_mailbox_collapsed_holo_dark);
-
ib.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
diff --git a/src/org/fox/ttrss/offline/OfflineFeedsActivity.java b/src/org/fox/ttrss/offline/OfflineFeedsActivity.java
index 2511d266..1ca965b7 100644
--- a/src/org/fox/ttrss/offline/OfflineFeedsActivity.java
+++ b/src/org/fox/ttrss/offline/OfflineFeedsActivity.java
@@ -65,9 +65,10 @@ public class OfflineFeedsActivity extends OfflineActivity implements OfflineHead
m_actionbarUpEnabled = false;
m_feedIsSelected = false;
getSupportActionBar().setDisplayHomeAsUpEnabled(false);
- initMenu();
refresh();
}
+
+ initMenu();
}
});
}
diff --git a/src/org/fox/ttrss/offline/OfflineFeedsFragment.java b/src/org/fox/ttrss/offline/OfflineFeedsFragment.java
index 98996858..69a07595 100644
--- a/src/org/fox/ttrss/offline/OfflineFeedsFragment.java
+++ b/src/org/fox/ttrss/offline/OfflineFeedsFragment.java
@@ -322,9 +322,6 @@ public class OfflineFeedsFragment extends Fragment implements OnItemClickListene
ImageButton ib = (ImageButton) v.findViewById(R.id.feed_menu_button);
if (ib != null) {
- if (m_activity.isDarkTheme())
- ib.setImageResource(R.drawable.ic_mailbox_collapsed_holo_dark);
-
ib.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
diff --git a/src/org/fox/ttrss/offline/OfflineHeadlinesFragment.java b/src/org/fox/ttrss/offline/OfflineHeadlinesFragment.java
index 1953c671..afa08b40 100644
--- a/src/org/fox/ttrss/offline/OfflineHeadlinesFragment.java
+++ b/src/org/fox/ttrss/offline/OfflineHeadlinesFragment.java
@@ -317,8 +317,8 @@ public class OfflineHeadlinesFragment extends Fragment implements OnItemClickLis
list.setEmptyView(view.findViewById(R.id.no_headlines));
registerForContextMenu(list);
- if (m_activity.isSmallScreen())
- view.findViewById(R.id.headlines_fragment).setPadding(0, 0, 0, 0);
+ //if (m_activity.isSmallScreen())
+ // view.findViewById(R.id.headlines_fragment).setPadding(0, 0, 0, 0);
getActivity().setProgressBarIndeterminateVisibility(false);
@@ -645,11 +645,11 @@ public class OfflineHeadlinesFragment extends Fragment implements OnItemClickLis
});
}
- ImageButton ib = (ImageButton) v.findViewById(R.id.article_menu_button);
+ ImageView ib = (ImageView) v.findViewById(R.id.article_menu_button);
if (ib != null) {
- if (m_activity.isDarkTheme())
- ib.setImageResource(R.drawable.ic_mailbox_collapsed_holo_dark);
+ //if (m_activity.isDarkTheme())
+ // ib.setImageResource(R.drawable.ic_mailbox_collapsed_holo_dark);
ib.setOnClickListener(new OnClickListener() {
@Override
diff --git a/src/org/fox/ttrss/share/SubscribeActivity.java b/src/org/fox/ttrss/share/SubscribeActivity.java
index d37e8818..bed173a2 100644
--- a/src/org/fox/ttrss/share/SubscribeActivity.java
+++ b/src/org/fox/ttrss/share/SubscribeActivity.java
@@ -224,8 +224,7 @@ public class SubscribeActivity extends CommonShareActivity {
final List<FeedCategory> cats = new Gson().fromJson(content, listType);
m_cats.clear();
- m_cats.add(new FeedCategory(0, "Uncategorized", 0));
-
+
for (FeedCategory c : cats) {
if (c.id > 0)
m_cats.add(c);
@@ -233,8 +232,10 @@ public class SubscribeActivity extends CommonShareActivity {
sortCats();
- m_adapter.notifyDataSetChanged();
+ m_cats.add(0, new FeedCategory(0, "Uncategorized", 0));
+ m_adapter.notifyDataSetChanged();
+
toast(R.string.category_list_updated);
}
}