fix missing stuff for default_view_mode implementation in fragments
This commit is contained in:
parent
349dc9d797
commit
cf39cea333
@ -1,8 +1,8 @@
|
|||||||
<?xml version="1.0" encoding="utf-8"?>
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
|
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
|
||||||
package="org.fox.ttrss"
|
package="org.fox.ttrss"
|
||||||
android:versionCode="101"
|
android:versionCode="102"
|
||||||
android:versionName="0.8.0" >
|
android:versionName="0.8.1" >
|
||||||
|
|
||||||
<uses-sdk
|
<uses-sdk
|
||||||
android:minSdkVersion="8"
|
android:minSdkVersion="8"
|
||||||
|
@ -406,7 +406,7 @@ public class FeedCategoriesFragment extends Fragment implements OnItemClickListe
|
|||||||
if (list != null) {
|
if (list != null) {
|
||||||
FeedCategory cat = (FeedCategory)list.getItemAtPosition(position);
|
FeedCategory cat = (FeedCategory)list.getItemAtPosition(position);
|
||||||
|
|
||||||
if ("ARTICLES".equals(m_prefs.getString("default_view_mode", "HEADLINES")) &&
|
if (m_activity.isSmallScreen() && "ARTICLES".equals(m_prefs.getString("default_view_mode", "HEADLINES")) &&
|
||||||
m_prefs.getBoolean("browse_cats_like_feeds", false)) {
|
m_prefs.getBoolean("browse_cats_like_feeds", false)) {
|
||||||
|
|
||||||
m_activity.openFeedArticles(new Feed(cat.id, cat.title, true));
|
m_activity.openFeedArticles(new Feed(cat.id, cat.title, true));
|
||||||
|
@ -244,9 +244,6 @@ public class FeedsActivity extends OnlineActivity implements HeadlinesEventListe
|
|||||||
intent.putExtra("feed", feed);
|
intent.putExtra("feed", feed);
|
||||||
intent.putExtra("article", new Article());
|
intent.putExtra("article", new Article());
|
||||||
startActivityForResult(intent, 0);
|
startActivityForResult(intent, 0);
|
||||||
|
|
||||||
} else {
|
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -255,16 +255,16 @@ public class FeedsFragment extends Fragment implements OnItemClickListener, OnSh
|
|||||||
Feed feed = (Feed)list.getItemAtPosition(position);
|
Feed feed = (Feed)list.getItemAtPosition(position);
|
||||||
|
|
||||||
if (feed.is_cat) {
|
if (feed.is_cat) {
|
||||||
FeedCategory cat = new FeedCategory();
|
if (m_activity.isSmallScreen() && "ARTICLES".equals(m_prefs.getString("default_view_mode", "HEADLINES")) &&
|
||||||
cat.id = feed.id;
|
|
||||||
cat.title = feed.title;
|
|
||||||
|
|
||||||
if ("ARTICLES".equals(m_prefs.getString("default_view_mode", "HEADLINES")) &&
|
|
||||||
m_prefs.getBoolean("browse_cats_like_feeds", false)) {
|
m_prefs.getBoolean("browse_cats_like_feeds", false)) {
|
||||||
|
|
||||||
m_activity.openFeedArticles(feed);
|
m_activity.openFeedArticles(feed);
|
||||||
|
|
||||||
} else {
|
} else {
|
||||||
|
FeedCategory cat = new FeedCategory();
|
||||||
|
cat.id = feed.id;
|
||||||
|
cat.title = feed.title;
|
||||||
|
|
||||||
m_activity.onCatSelected(cat);
|
m_activity.onCatSelected(cat);
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
|
@ -416,7 +416,7 @@ public class OfflineActivity extends CommonActivity {
|
|||||||
|
|
||||||
OfflineArticlePager af = (OfflineArticlePager) getSupportFragmentManager().findFragmentByTag(FRAG_ARTICLE);
|
OfflineArticlePager af = (OfflineArticlePager) getSupportFragmentManager().findFragmentByTag(FRAG_ARTICLE);
|
||||||
|
|
||||||
if (af != null) {
|
if (af != null && af.getSelectedArticleId() > 0) {
|
||||||
shareProvider.setShareIntent(getShareIntent(getArticleById(af.getSelectedArticleId())));
|
shareProvider.setShareIntent(getShareIntent(getArticleById(af.getSelectedArticleId())));
|
||||||
|
|
||||||
if (!isSmallScreen()) {
|
if (!isSmallScreen()) {
|
||||||
@ -516,16 +516,20 @@ public class OfflineActivity extends CommonActivity {
|
|||||||
}
|
}
|
||||||
|
|
||||||
protected Intent getShareIntent(Cursor article) {
|
protected Intent getShareIntent(Cursor article) {
|
||||||
String title = article.getString(article.getColumnIndex("title"));
|
if (article != null) {
|
||||||
String link = article.getString(article.getColumnIndex("link"));
|
String title = article.getString(article.getColumnIndex("title"));
|
||||||
|
String link = article.getString(article.getColumnIndex("link"));
|
||||||
|
|
||||||
Intent intent = new Intent(Intent.ACTION_SEND);
|
Intent intent = new Intent(Intent.ACTION_SEND);
|
||||||
|
|
||||||
intent.setType("text/plain");
|
intent.setType("text/plain");
|
||||||
intent.putExtra(Intent.EXTRA_SUBJECT, title);
|
intent.putExtra(Intent.EXTRA_SUBJECT, title);
|
||||||
intent.putExtra(Intent.EXTRA_TEXT, link);
|
intent.putExtra(Intent.EXTRA_TEXT, link);
|
||||||
|
|
||||||
return intent;
|
return intent;
|
||||||
|
} else {
|
||||||
|
return null;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
protected void shareArticle(int articleId) {
|
protected void shareArticle(int articleId) {
|
||||||
|
@ -110,18 +110,31 @@ public class OfflineArticlePager extends Fragment {
|
|||||||
|
|
||||||
m_adapter = new PagerAdapter(getActivity().getSupportFragmentManager());
|
m_adapter = new PagerAdapter(getActivity().getSupportFragmentManager());
|
||||||
|
|
||||||
m_cursor.moveToFirst();
|
|
||||||
|
|
||||||
int position = 0;
|
int position = 0;
|
||||||
|
|
||||||
while (!m_cursor.isLast()) {
|
Log.d(TAG, "maId=" + m_articleId);
|
||||||
if (m_cursor.getInt(m_cursor.getColumnIndex(BaseColumns._ID)) == m_articleId) {
|
|
||||||
position = m_cursor.getPosition();
|
if (m_articleId != 0) {
|
||||||
break;
|
if (m_cursor.moveToFirst()) {
|
||||||
|
|
||||||
|
while (!m_cursor.isLast()) {
|
||||||
|
if (m_cursor.getInt(m_cursor.getColumnIndex(BaseColumns._ID)) == m_articleId) {
|
||||||
|
position = m_cursor.getPosition();
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
m_cursor.moveToNext();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
if (m_cursor.moveToFirst()) {
|
||||||
|
m_articleId = m_cursor.getInt(m_cursor.getColumnIndex(BaseColumns._ID));
|
||||||
|
m_listener.onArticleSelected(m_articleId, false);
|
||||||
|
|
||||||
|
Log.d(TAG, "maId=" + m_articleId);
|
||||||
}
|
}
|
||||||
m_cursor.moveToNext();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
ViewPager pager = (ViewPager) view.findViewById(R.id.article_pager);
|
ViewPager pager = (ViewPager) view.findViewById(R.id.article_pager);
|
||||||
|
|
||||||
pager.setAdapter(m_adapter);
|
pager.setAdapter(m_adapter);
|
||||||
|
@ -87,6 +87,14 @@ public class OfflineFeedCategoriesFragment extends Fragment implements OnItemCli
|
|||||||
|
|
||||||
switch (item.getItemId()) {
|
switch (item.getItemId()) {
|
||||||
case R.id.browse_articles:
|
case R.id.browse_articles:
|
||||||
|
if (true) {
|
||||||
|
int catId = getCatIdAtPosition(info.position);
|
||||||
|
if (catId != -10000) {
|
||||||
|
m_activity.openFeedArticles(catId, true);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return true;
|
||||||
|
case R.id.browse_headlines:
|
||||||
if (true) {
|
if (true) {
|
||||||
int catId = getCatIdAtPosition(info.position);
|
int catId = getCatIdAtPosition(info.position);
|
||||||
if (catId != -10000) {
|
if (catId != -10000) {
|
||||||
@ -178,7 +186,14 @@ public class OfflineFeedCategoriesFragment extends Fragment implements OnItemCli
|
|||||||
int feedId = (int) cursor.getLong(0);
|
int feedId = (int) cursor.getLong(0);
|
||||||
Log.d(TAG, "clicked on feed " + feedId);
|
Log.d(TAG, "clicked on feed " + feedId);
|
||||||
|
|
||||||
m_activity.onCatSelected(feedId);
|
if (m_activity.isSmallScreen() && "ARTICLES".equals(m_prefs.getString("default_view_mode", "HEADLINES")) &&
|
||||||
|
m_prefs.getBoolean("browse_cats_like_feeds", false)) {
|
||||||
|
|
||||||
|
m_activity.openFeedArticles(feedId, true);
|
||||||
|
|
||||||
|
} else {
|
||||||
|
m_activity.onCatSelected(feedId);
|
||||||
|
}
|
||||||
|
|
||||||
if (!m_activity.isSmallScreen())
|
if (!m_activity.isSmallScreen())
|
||||||
m_selectedCatId = feedId;
|
m_selectedCatId = feedId;
|
||||||
|
@ -86,6 +86,17 @@ public class OfflineFeedsActivity extends OfflineActivity implements OfflineHead
|
|||||||
initMenu();
|
initMenu();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public void openFeedArticles(int feedId, boolean isCat) {
|
||||||
|
if (isSmallScreen()) {
|
||||||
|
Intent intent = new Intent(OfflineFeedsActivity.this, OfflineFeedsActivity.class);
|
||||||
|
|
||||||
|
intent.putExtra("feed", feedId);
|
||||||
|
intent.putExtra("isCat", isCat);
|
||||||
|
intent.putExtra("article", 0);
|
||||||
|
startActivityForResult(intent, 0);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public boolean onOptionsItemSelected(MenuItem item) {
|
public boolean onOptionsItemSelected(MenuItem item) {
|
||||||
switch (item.getItemId()) {
|
switch (item.getItemId()) {
|
||||||
|
@ -61,6 +61,22 @@ public class OfflineFeedsFragment extends Fragment implements OnItemClickListene
|
|||||||
AdapterContextMenuInfo info = (AdapterContextMenuInfo) item
|
AdapterContextMenuInfo info = (AdapterContextMenuInfo) item
|
||||||
.getMenuInfo();
|
.getMenuInfo();
|
||||||
switch (item.getItemId()) {
|
switch (item.getItemId()) {
|
||||||
|
case R.id.browse_articles:
|
||||||
|
if (true) {
|
||||||
|
int feedId = getFeedIdAtPosition(info.position);
|
||||||
|
if (feedId != -10000) {
|
||||||
|
m_activity.openFeedArticles(feedId, false);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return true;
|
||||||
|
case R.id.browse_headlines:
|
||||||
|
if (true) {
|
||||||
|
int feedId = getFeedIdAtPosition(info.position);
|
||||||
|
if (feedId != -10000) {
|
||||||
|
m_activity.onFeedSelected(feedId);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return true;
|
||||||
case R.id.catchup_feed:
|
case R.id.catchup_feed:
|
||||||
int feedId = getFeedIdAtPosition(info.position);
|
int feedId = getFeedIdAtPosition(info.position);
|
||||||
if (feedId != -10000) {
|
if (feedId != -10000) {
|
||||||
@ -183,7 +199,11 @@ public class OfflineFeedsFragment extends Fragment implements OnItemClickListene
|
|||||||
int feedId = (int) cursor.getLong(0);
|
int feedId = (int) cursor.getLong(0);
|
||||||
Log.d(TAG, "clicked on feed " + feedId);
|
Log.d(TAG, "clicked on feed " + feedId);
|
||||||
|
|
||||||
m_activity.onFeedSelected(feedId);
|
if (!m_activity.isSmallScreen() && "ARTICLES".equals(m_prefs.getString("default_view_mode", "HEADLINES"))) {
|
||||||
|
m_activity.openFeedArticles(feedId, false);
|
||||||
|
} else {
|
||||||
|
m_activity.onFeedSelected(feedId);
|
||||||
|
}
|
||||||
|
|
||||||
if (!m_activity.isSmallScreen())
|
if (!m_activity.isSmallScreen())
|
||||||
m_selectedFeedId = feedId;
|
m_selectedFeedId = feedId;
|
||||||
|
Loading…
Reference in New Issue
Block a user