summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--AndroidManifest.xml1
-rw-r--r--res/menu/main_menu.xml5
-rw-r--r--res/menu/offline_menu.xml5
-rw-r--r--src/org/fox/ttrss/MainActivity.java38
-rw-r--r--src/org/fox/ttrss/OfflineActivity.java48
5 files changed, 77 insertions, 20 deletions
diff --git a/AndroidManifest.xml b/AndroidManifest.xml
index eda9b264..d017eb88 100644
--- a/AndroidManifest.xml
+++ b/AndroidManifest.xml
@@ -14,6 +14,7 @@
android:allowBackup="true"
android:backupAgent="PrefsBackupAgent"
android:hardwareAccelerated="true"
+ uiOptions="splitActionBarWhenNarrow"
android:icon="@drawable/icon"
android:label="@string/app_name" >
<activity
diff --git a/res/menu/main_menu.xml b/res/menu/main_menu.xml
index 1e3f58b7..092b822f 100644
--- a/res/menu/main_menu.xml
+++ b/res/menu/main_menu.xml
@@ -48,7 +48,7 @@
android:id="@+id/search"
android:actionViewClass="android.widget.SearchView"
android:icon="@android:drawable/ic_menu_search"
- android:showAsAction="ifRoom"
+ android:showAsAction="ifRoom|collapseActionView"
android:title="@string/search"/>
<item
@@ -96,7 +96,8 @@
<item
android:id="@+id/share_article"
android:icon="@android:drawable/ic_menu_share"
- android:showAsAction="ifRoom"
+ android:showAsAction="ifRoom|collapseActionView"
+ android:actionProviderClass="android.widget.ShareActionProvider"
android:title="@string/share_article"/>
<item
diff --git a/res/menu/offline_menu.xml b/res/menu/offline_menu.xml
index e0b2b18f..a7ee4c42 100644
--- a/res/menu/offline_menu.xml
+++ b/res/menu/offline_menu.xml
@@ -34,7 +34,7 @@
android:id="@+id/search"
android:actionViewClass="android.widget.SearchView"
android:icon="@android:drawable/ic_menu_search"
- android:showAsAction="ifRoom"
+ android:showAsAction="ifRoom|collapseActionView"
android:title="@string/search"/>
<item
@@ -81,7 +81,8 @@
<item
android:id="@+id/share_article"
android:icon="@android:drawable/ic_menu_share"
- android:showAsAction="ifRoom"
+ android:showAsAction="ifRoom|collapseActionView"
+ android:actionProviderClass="android.widget.ShareActionProvider"
android:title="@string/share_article"/>
<item
diff --git a/src/org/fox/ttrss/MainActivity.java b/src/org/fox/ttrss/MainActivity.java
index ec672a21..06d86b2a 100644
--- a/src/org/fox/ttrss/MainActivity.java
+++ b/src/org/fox/ttrss/MainActivity.java
@@ -38,6 +38,7 @@ import android.view.animation.AnimationUtils;
import android.widget.AdapterView.AdapterContextMenuInfo;
import android.widget.EditText;
import android.widget.SearchView;
+import android.widget.ShareActionProvider;
import android.widget.TextView;
import android.widget.Toast;
@@ -1176,14 +1177,21 @@ public class MainActivity extends FragmentActivity implements OnlineServices {
}
}
+ private Intent getShareIntent(Article article) {
+ Intent intent = new Intent(Intent.ACTION_SEND);
+
+ intent.setType("text/plain");
+ intent.putExtra(Intent.EXTRA_SUBJECT, article.title);
+ intent.putExtra(Intent.EXTRA_TEXT, article.title + " " + article.link);
+
+ return intent;
+ }
+
private void shareArticle(Article article) {
if (article != null) {
- Intent intent = new Intent(Intent.ACTION_SEND);
-
- intent.setType("text/plain");
- intent.putExtra(Intent.EXTRA_SUBJECT, article.title);
- intent.putExtra(Intent.EXTRA_TEXT, article.title + " " + article.link);
+ Intent intent = getShareIntent(article);
+
startActivity(Intent.createChooser(intent,
getString(R.string.share_article)));
}
@@ -1313,11 +1321,31 @@ public class MainActivity extends FragmentActivity implements OnlineServices {
}
if (!m_compatMode) {
+
+ if (m_activeFeed != null) {
+ getActionBar().setTitle(m_activeFeed.title);
+ } else if (m_activeCategory != null) {
+ getActionBar().setTitle(m_activeCategory.title);
+ } else {
+ getActionBar().setTitle(R.string.app_name);
+ }
+
if (!m_smallScreenMode) {
getActionBar().setDisplayHomeAsUpEnabled(m_selectedArticle != null || m_activeCategory != null);
} else {
getActionBar().setDisplayHomeAsUpEnabled(m_selectedArticle != null || m_activeFeed != null || m_activeCategory != null);
+ getActionBar().setDisplayShowTitleEnabled(m_selectedArticle == null);
}
+
+ if (android.os.Build.VERSION.SDK_INT >= 14) {
+ ShareActionProvider shareProvider = (ShareActionProvider) m_menu.findItem(R.id.share_article).getActionProvider();
+
+ if (m_selectedArticle != null) {
+ Log.d(TAG, "setting up share provider");
+ shareProvider.setShareIntent(getShareIntent(m_selectedArticle));
+ }
+ }
+
}
m_menu.findItem(R.id.set_labels).setEnabled(m_apiLevel >= 1);
diff --git a/src/org/fox/ttrss/OfflineActivity.java b/src/org/fox/ttrss/OfflineActivity.java
index ff157ab8..20faff2d 100644
--- a/src/org/fox/ttrss/OfflineActivity.java
+++ b/src/org/fox/ttrss/OfflineActivity.java
@@ -418,6 +418,29 @@ public class OfflineActivity extends FragmentActivity implements
return c;
}
+ private Cursor getFeedById(int feedId) {
+ Cursor c = getReadableDb().query("feeds", null,
+ BaseColumns._ID + "=?",
+ new String[] { String.valueOf(feedId) }, null, null, null);
+
+ c.moveToFirst();
+
+ return c;
+ }
+
+ private Intent getShareIntent(Cursor article) {
+ String title = article.getString(article.getColumnIndex("title"));
+ String link = article.getString(article.getColumnIndex("link"));
+
+ Intent intent = new Intent(Intent.ACTION_SEND);
+
+ intent.setType("text/plain");
+ intent.putExtra(Intent.EXTRA_SUBJECT, title);
+ intent.putExtra(Intent.EXTRA_TEXT, title + " " + link);
+
+ return intent;
+ }
+
private void shareArticle(int articleId) {
Cursor article = getArticleById(articleId);
@@ -429,20 +452,11 @@ public class OfflineActivity extends FragmentActivity implements
}
private void shareArticle(Cursor article) {
-
if (article != null) {
- String title = article.getString(article.getColumnIndex("title"));
- String link = article.getString(article.getColumnIndex("link"));
-
- Intent intent = new Intent(Intent.ACTION_SEND);
-
- intent.setType("text/plain");
- intent.putExtra(Intent.EXTRA_SUBJECT, title);
- intent.putExtra(Intent.EXTRA_TEXT, title + " " + link);
-
+ Intent intent = getShareIntent(article);
+
startActivity(Intent.createChooser(intent,
getString(R.id.share_article)));
-
}
}
@@ -784,10 +798,22 @@ public class OfflineActivity extends FragmentActivity implements
}
if (!m_compatMode) {
+
+ if (m_activeFeedId != 0) {
+ Cursor feed = getFeedById(m_activeFeedId);
+
+ if (feed != null) {
+ getActionBar().setTitle(feed.getString(feed.getColumnIndex("title")));
+ }
+ } else {
+ getActionBar().setTitle(R.string.app_name);
+ }
+
if (!m_smallScreenMode) {
getActionBar().setDisplayHomeAsUpEnabled(m_selectedArticleId != 0);
} else {
getActionBar().setDisplayHomeAsUpEnabled(m_selectedArticleId != 0 || m_activeFeedId != 0);
+ getActionBar().setDisplayShowTitleEnabled(m_selectedArticleId == 0);
}
}
}