diff options
author | Andrew Dolgov <[email protected]> | 2014-11-06 19:04:59 +0300 |
---|---|---|
committer | Andrew Dolgov <[email protected]> | 2014-11-06 19:04:59 +0300 |
commit | 6be9af46004d4d8bcb39fcca0a119754434b96cd (patch) | |
tree | b2df66ac64025939bd71a5afc0a4169853aad71e /org.fox.ttrss | |
parent | 73cf0c07a68f3c35e3d397e56a7acedd637d5e42 (diff) |
add loading progressbars to feeds/cats fragments
replace open parent button with a more familiar to msdos users ".." mnemonic near the listview top
Diffstat (limited to 'org.fox.ttrss')
8 files changed, 110 insertions, 55 deletions
diff --git a/org.fox.ttrss/src/main/java/org/fox/ttrss/FeedCategoriesFragment.java b/org.fox.ttrss/src/main/java/org/fox/ttrss/FeedCategoriesFragment.java index 740d43b9..40199afd 100644 --- a/org.fox.ttrss/src/main/java/org/fox/ttrss/FeedCategoriesFragment.java +++ b/org.fox.ttrss/src/main/java/org/fox/ttrss/FeedCategoriesFragment.java @@ -234,7 +234,10 @@ public class FeedCategoriesFragment extends Fragment implements OnItemClickListe list.setAdapter(m_adapter); list.setOnItemClickListener(this); registerForContextMenu(list); - + + View loadingBar = (View) view.findViewById(R.id.feeds_loading_bar); + loadingBar.setVisibility(View.VISIBLE); + //m_activity.m_pullToRefreshAttacher.addRefreshableView(list, this); return view; @@ -332,7 +335,13 @@ public class FeedCategoriesFragment extends Fragment implements OnItemClickListe if (list != null) { list.setEmptyView(getView().findViewById(R.id.no_feeds)); } - } + + View loadingBar = getView().findViewById(R.id.feeds_loading_bar); + + if (loadingBar != null) { + loadingBar.setVisibility(View.GONE); + } + } if (result != null) { try { diff --git a/org.fox.ttrss/src/main/java/org/fox/ttrss/FeedsActivity.java b/org.fox.ttrss/src/main/java/org/fox/ttrss/FeedsActivity.java index 6b51ad16..bd365248 100644 --- a/org.fox.ttrss/src/main/java/org/fox/ttrss/FeedsActivity.java +++ b/org.fox.ttrss/src/main/java/org/fox/ttrss/FeedsActivity.java @@ -296,14 +296,6 @@ public class FeedsActivity extends OnlineActivity implements HeadlinesEventListe @Override public boolean onOptionsItemSelected(MenuItem item) { - - if (item.getItemId() == android.R.id.home && getSupportFragmentManager().getBackStackEntryCount() > 0) { - if (m_drawerLayout != null && m_drawerLayout.isDrawerOpen(Gravity.START)) { - getSupportFragmentManager().popBackStack(); - return true; - } - } - if (m_drawerToggle != null && m_drawerToggle.onOptionsItemSelected(item)) { return true; } diff --git a/org.fox.ttrss/src/main/java/org/fox/ttrss/FeedsFragment.java b/org.fox.ttrss/src/main/java/org/fox/ttrss/FeedsFragment.java index 83fbf944..f111a126 100644 --- a/org.fox.ttrss/src/main/java/org/fox/ttrss/FeedsFragment.java +++ b/org.fox.ttrss/src/main/java/org/fox/ttrss/FeedsFragment.java @@ -31,7 +31,6 @@ import android.widget.AdapterView; import android.widget.AdapterView.AdapterContextMenuInfo; import android.widget.AdapterView.OnItemClickListener; import android.widget.ArrayAdapter; -import android.widget.Button; import android.widget.ImageButton; import android.widget.ImageView; import android.widget.ListView; @@ -297,7 +296,7 @@ public class FeedsFragment extends Fragment implements OnItemClickListener, OnSh android.R.color.holo_orange_dark); } - Button parentBtn = (Button) view.findViewById(R.id.open_parent); + /* Button parentBtn = (Button) view.findViewById(R.id.open_parent); if (parentBtn != null) { if (m_enableParentBtn) { @@ -310,19 +309,39 @@ public class FeedsFragment extends Fragment implements OnItemClickListener, OnSh } else { parentBtn.setVisibility(View.GONE); } + } */ + + ListView list = (ListView)view.findViewById(R.id.feeds); + + if (m_enableParentBtn) { + View layout = inflater.inflate(R.layout.feeds_goback, container, false); + + layout.setLayoutParams(new ListView.LayoutParams(ListView.LayoutParams.MATCH_PARENT, + ListView.LayoutParams.WRAP_CONTENT)); + + layout.setOnClickListener(new OnClickListener() { + @Override + public void onClick(View view) { + m_activity.getSupportFragmentManager().popBackStack(); + } + }); + + list.addHeaderView(layout, null, false); } - ListView list = (ListView)view.findViewById(R.id.feeds); - m_adapter = new FeedListAdapter(getActivity(), R.layout.feeds_row, (ArrayList<Feed>)m_feeds); + m_adapter = new FeedListAdapter(getActivity(), R.layout.feeds_row, (ArrayList<Feed>)m_feeds); list.setAdapter(m_adapter); //list.setEmptyView(view.findViewById(R.id.no_feeds)); list.setOnItemClickListener(this); - + registerForContextMenu(list); m_enableFeedIcons = m_prefs.getBoolean("download_feed_icons", false); - - //Log.d(TAG, "mpTRA=" + m_activity.m_pullToRefreshAttacher); + + View loadingBar = (View) view.findViewById(R.id.feeds_loading_bar); + loadingBar.setVisibility(View.VISIBLE); + + //Log.d(TAG, "mpTRA=" + m_activity.m_pullToRefreshAttacher); //m_activity.m_pullToRefreshAttacher.addRefreshableView(list, this); return view; @@ -517,7 +536,13 @@ public class FeedsFragment extends Fragment implements OnItemClickListener, OnSh if (list != null) { list.setEmptyView(getView().findViewById(R.id.no_feeds)); } - } + + View loadingBar = getView().findViewById(R.id.feeds_loading_bar); + + if (loadingBar != null) { + loadingBar.setVisibility(View.GONE); + } + } if (m_swipeLayout != null) m_swipeLayout.setRefreshing(false); @@ -569,6 +594,7 @@ public class FeedsFragment extends Fragment implements OnItemClickListener, OnSh public static final int VIEW_NORMAL = 0; public static final int VIEW_SELECTED = 1; + //public static final int VIEW_GOBACK = 2; public static final int VIEW_COUNT = VIEW_SELECTED+1; @@ -584,8 +610,10 @@ public class FeedsFragment extends Fragment implements OnItemClickListener, OnSh @Override public int getItemViewType(int position) { Feed feed = items.get(position); - - if (m_selectedFeed != null && feed.id == m_selectedFeed.id) { + + /* if (m_enableParentBtn && position == 0) { + return VIEW_GOBACK; + } else */ if (m_selectedFeed != null && feed.id == m_selectedFeed.id) { return VIEW_SELECTED; } else { return VIEW_NORMAL; @@ -602,6 +630,8 @@ public class FeedsFragment extends Fragment implements OnItemClickListener, OnSh int layoutId = R.layout.feeds_row; switch (getItemViewType(position)) { + /* case VIEW_GOBACK: + layoutId = R.layout.feeds_goback; */ case VIEW_SELECTED: layoutId = R.layout.feeds_row_selected; break; diff --git a/org.fox.ttrss/src/main/java/org/fox/ttrss/offline/OfflineFeedsActivity.java b/org.fox.ttrss/src/main/java/org/fox/ttrss/offline/OfflineFeedsActivity.java index b82f2486..89010584 100644 --- a/org.fox.ttrss/src/main/java/org/fox/ttrss/offline/OfflineFeedsActivity.java +++ b/org.fox.ttrss/src/main/java/org/fox/ttrss/offline/OfflineFeedsActivity.java @@ -130,9 +130,6 @@ public class OfflineFeedsActivity extends OfflineActivity implements OfflineHead } switch (item.getItemId()) { - case android.R.id.home: - //getSupportFragmentManager().popBackStack(); - return true; case R.id.headlines_toggle_sort_order: /* SharedPreferences.Editor editor = m_prefs.edit(); editor.putBoolean("offline_oldest_first", !m_prefs.getBoolean("offline_oldest_first", false)); diff --git a/org.fox.ttrss/src/main/java/org/fox/ttrss/offline/OfflineFeedsFragment.java b/org.fox.ttrss/src/main/java/org/fox/ttrss/offline/OfflineFeedsFragment.java index ea6e59e3..cb456319 100644 --- a/org.fox.ttrss/src/main/java/org/fox/ttrss/offline/OfflineFeedsFragment.java +++ b/org.fox.ttrss/src/main/java/org/fox/ttrss/offline/OfflineFeedsFragment.java @@ -25,7 +25,6 @@ import android.view.ViewGroup; import android.widget.AdapterView; import android.widget.AdapterView.AdapterContextMenuInfo; import android.widget.AdapterView.OnItemClickListener; -import android.widget.Button; import android.widget.ImageButton; import android.widget.ImageView; import android.widget.ListView; @@ -172,21 +171,6 @@ public class OfflineFeedsFragment extends Fragment implements OnItemClickListene android.R.color.holo_orange_dark); } - Button parentBtn = (Button) view.findViewById(R.id.open_parent); - - if (parentBtn != null) { - if (m_enableParentBtn) { - parentBtn.setOnClickListener(new OnClickListener() { - @Override - public void onClick(View view) { - m_activity.getSupportFragmentManager().popBackStack(); - } - }); - } else { - parentBtn.setVisibility(View.GONE); - } - } - ListView list = (ListView)view.findViewById(R.id.feeds); m_cursor = createCursor(); diff --git a/org.fox.ttrss/src/main/res/layout/cats_fragment.xml b/org.fox.ttrss/src/main/res/layout/cats_fragment.xml index 1f0fc38b..87479565 100644 --- a/org.fox.ttrss/src/main/res/layout/cats_fragment.xml +++ b/org.fox.ttrss/src/main/res/layout/cats_fragment.xml @@ -4,7 +4,7 @@ android:layout_width="match_parent" android:layout_height="fill_parent" > - <android.support.v4.widget.SwipeRefreshLayout + <android.support.v4.widget.SwipeRefreshLayout android:id="@+id/feeds_swipe_container" android:layout_width="match_parent" android:layout_height="match_parent" > @@ -29,4 +29,12 @@ android:visibility="invisible" > </TextView> + <ProgressBar + style="?android:attr/progressBarStyleLarge" + android:visibility="gone" + android:layout_width="wrap_content" + android:layout_height="wrap_content" + android:id="@+id/feeds_loading_bar" + android:layout_gravity="center" /> + </FrameLayout>
\ No newline at end of file diff --git a/org.fox.ttrss/src/main/res/layout/feeds_fragment.xml b/org.fox.ttrss/src/main/res/layout/feeds_fragment.xml index 4c5ad73a..ae82bdd2 100644 --- a/org.fox.ttrss/src/main/res/layout/feeds_fragment.xml +++ b/org.fox.ttrss/src/main/res/layout/feeds_fragment.xml @@ -1,15 +1,13 @@ <?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/feeds_fragment" - android:layout_width="match_parent" - android:orientation="vertical" + android:layout_width="fill_parent" android:layout_height="fill_parent" > <android.support.v4.widget.SwipeRefreshLayout android:id="@+id/feeds_swipe_container" android:layout_width="match_parent" - android:layout_height="match_parent" - android:layout_weight="1"> + android:layout_height="match_parent"> <ListView android:id="@+id/feeds" @@ -21,15 +19,6 @@ </ListView> </android.support.v4.widget.SwipeRefreshLayout> - <Button - style="?android:attr/buttonStyleSmall" - android:background="?parentBtnBackground" - android:layout_width="match_parent" - android:layout_height="wrap_content" - android:text="@string/open_parent" - android:layout_weight="0" - android:id="@+id/open_parent" /> - <TextView android:id="@+id/no_feeds" android:layout_width="wrap_content" @@ -40,4 +29,11 @@ android:visibility="gone" > </TextView> -</LinearLayout>
\ No newline at end of file + <ProgressBar + style="?android:attr/progressBarStyleLarge" + android:visibility="gone" + android:layout_width="wrap_content" + android:layout_height="wrap_content" + android:id="@+id/feeds_loading_bar" + android:layout_gravity="center" /> +</FrameLayout>
\ No newline at end of file diff --git a/org.fox.ttrss/src/main/res/layout/feeds_goback.xml b/org.fox.ttrss/src/main/res/layout/feeds_goback.xml new file mode 100644 index 00000000..bace3d5f --- /dev/null +++ b/org.fox.ttrss/src/main/res/layout/feeds_goback.xml @@ -0,0 +1,39 @@ +<?xml version="1.0" encoding="utf-8"?> +<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" + android:id="@+id/feeds_row" + android:layout_width="match_parent" + android:layout_height="?android:attr/listPreferredItemHeight" + android:descendantFocusability="blocksDescendants" + android:paddingLeft="16dp" + android:paddingRight="16dp" + android:paddingTop="8dp" + android:paddingBottom="8dp" + android:baselineAligned="true" + android:gravity="center_vertical" + android:orientation="horizontal"> + + <ImageView + android:id="@+id/icon" + android:layout_gravity="center_vertical" + android:layout_width="16dp" + android:layout_height="16dp" + android:layout_weight="0" + android:scaleType="fitXY" + android:visibility="invisible" + android:src="@drawable/ic_unpublished" /> + + <TextView + android:fontFamily="sans-serif-light" + android:layout_width="wrap_content" + android:layout_height="wrap_content" + android:gravity="center_vertical" + android:layout_weight="1" + android:ellipsize="end" + android:paddingLeft="16dp" + android:singleLine="true" + android:text=".." + android:paddingBottom="2dp" + android:textColor="?feedlistTextColor" + android:textSize="18sp" /> + +</LinearLayout>
\ No newline at end of file |