aboutsummaryrefslogtreecommitdiffstats
path: root/OpenKeychain
diff options
context:
space:
mode:
authorDominik Schürmann <dominik@dominikschuermann.de>2015-02-27 23:39:36 +0100
committerDominik Schürmann <dominik@dominikschuermann.de>2015-02-27 23:39:36 +0100
commit200d4a6bb6185242afa566d09d10d5b0ba62d58c (patch)
tree122644edb3856830dc0ab5150ef3baf14e4e9009 /OpenKeychain
parentb1c8fa347162825e603e44781efa1446181a1218 (diff)
downloadopen-keychain-200d4a6bb6185242afa566d09d10d5b0ba62d58c.tar.gz
open-keychain-200d4a6bb6185242afa566d09d10d5b0ba62d58c.tar.bz2
open-keychain-200d4a6bb6185242afa566d09d10d5b0ba62d58c.zip
Remove swipte to refresh src, fix padding in key list
Diffstat (limited to 'OpenKeychain')
-rw-r--r--OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/KeyListFragment.java68
-rw-r--r--OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/widget/ListAwareSwipeRefreshLayout.java99
-rw-r--r--OpenKeychain/src/main/res/layout/key_list_fragment.xml68
3 files changed, 27 insertions, 208 deletions
diff --git a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/KeyListFragment.java b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/KeyListFragment.java
index 99714b4a0..ba9a96b28 100644
--- a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/KeyListFragment.java
+++ b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/KeyListFragment.java
@@ -36,8 +36,6 @@ import android.support.v4.content.CursorLoader;
import android.support.v4.content.Loader;
import android.support.v4.view.MenuItemCompat;
import android.support.v4.widget.CursorAdapter;
-import android.support.v4.widget.NoScrollableSwipeRefreshLayout;
-import android.support.v7.app.ActionBar;
import android.support.v7.app.ActionBarActivity;
import android.support.v7.widget.SearchView;
import android.view.ActionMode;
@@ -45,7 +43,6 @@ import android.view.LayoutInflater;
import android.view.Menu;
import android.view.MenuInflater;
import android.view.MenuItem;
-import android.view.MotionEvent;
import android.view.View;
import android.view.View.OnClickListener;
import android.view.ViewGroup;
@@ -73,7 +70,6 @@ import org.sufficientlysecure.keychain.ui.dialog.DeleteKeyDialogFragment;
import org.sufficientlysecure.keychain.ui.util.Highlighter;
import org.sufficientlysecure.keychain.ui.util.KeyFormattingUtils;
import org.sufficientlysecure.keychain.ui.util.Notify;
-import org.sufficientlysecure.keychain.ui.widget.ListAwareSwipeRefreshLayout;
import org.sufficientlysecure.keychain.util.ExportHelper;
import org.sufficientlysecure.keychain.util.Log;
import org.sufficientlysecure.keychain.util.Preferences;
@@ -97,7 +93,6 @@ public class KeyListFragment extends LoaderFragment
private KeyListAdapter mAdapter;
private StickyListHeadersListView mStickyList;
- private ListAwareSwipeRefreshLayout mSwipeRefreshLayout;
// saves the mode object for multiselect, needed for reset at some point
private ActionMode mActionMode = null;
@@ -152,73 +147,10 @@ public class KeyListFragment extends LoaderFragment
}
});
- mSwipeRefreshLayout = (ListAwareSwipeRefreshLayout) view.findViewById(R.id.key_list_swipe_container);
- mSwipeRefreshLayout.setOnRefreshListener(new NoScrollableSwipeRefreshLayout.OnRefreshListener() {
- @Override
- public void onRefresh() {
- KeychainIntentServiceHandler finishedHandler = new KeychainIntentServiceHandler(getActivity()) {
- public void handleMessage(Message message) {
- if (message.arg1 == KeychainIntentServiceHandler.MESSAGE_OKAY) {
- mSwipeRefreshLayout.setRefreshing(false);
- }
- }
- };
- // new KeyUpdateHelper().updateAllKeys(getActivity(), finishedHandler);
- updateActionbarForSwipe(false);
- }
- });
- mSwipeRefreshLayout.setColorScheme(
- R.color.android_purple_dark,
- R.color.android_purple_light,
- R.color.android_purple_dark,
- R.color.android_purple_light);
- mSwipeRefreshLayout.setStickyListHeadersListView(mStickyList);
- mSwipeRefreshLayout.setOnTouchListener(new View.OnTouchListener() {
- @Override
- public boolean onTouch(View v, MotionEvent event) {
- if (event.getAction() == MotionEvent.ACTION_MOVE) {
- updateActionbarForSwipe(true);
- } else {
- updateActionbarForSwipe(false);
- }
- return false;
- }
- });
- // Just disable for now
- mSwipeRefreshLayout.setIsLocked(true);
return root;
}
- private void updateActionbarForSwipe(boolean show) {
- ActionBarActivity activity = (ActionBarActivity) getActivity();
- ActionBar bar = activity.getSupportActionBar();
-
- if (show) {
- bar.setDisplayOptions(ActionBar.DISPLAY_SHOW_CUSTOM);
- bar.setDisplayUseLogoEnabled(false);
- bar.setCustomView(R.layout.custom_actionbar);
- TextView title = (TextView) getActivity().findViewById(R.id.custom_actionbar_text);
- title.setText(R.string.swipe_to_update);
- if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.HONEYCOMB) {
-// hideMenu = true;
-// activity.invalidateOptionsMenu();
- }
- } else {
- bar.setTitle(getActivity().getTitle());
- bar.setDisplayHomeAsUpEnabled(true);
- bar.setDisplayShowTitleEnabled(true);
- bar.setDisplayUseLogoEnabled(true);
- bar.setDisplayShowHomeEnabled(true);
- bar.setDisplayShowCustomEnabled(false);
-
- if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.HONEYCOMB) {
-// hideMenu = false;
-// activity.invalidateOptionsMenu();
- }
- }
- }
-
/**
* Define Adapter and Loader on create of Activity
*/
diff --git a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/widget/ListAwareSwipeRefreshLayout.java b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/widget/ListAwareSwipeRefreshLayout.java
deleted file mode 100644
index 3403208d7..000000000
--- a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/widget/ListAwareSwipeRefreshLayout.java
+++ /dev/null
@@ -1,99 +0,0 @@
-/*
- * Copyright (C) 2014 Daniel Albert
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- */
-
-package org.sufficientlysecure.keychain.ui.widget;
-
-import android.content.Context;
-import android.support.v4.widget.NoScrollableSwipeRefreshLayout;
-import android.util.AttributeSet;
-import android.view.MotionEvent;
-
-import se.emilsjolander.stickylistheaders.StickyListHeadersListView;
-
-public class ListAwareSwipeRefreshLayout extends NoScrollableSwipeRefreshLayout {
-
- private StickyListHeadersListView mStickyListHeadersListView = null;
- private boolean mIsLocked = false;
-
- /**
- * Constructors
- */
- public ListAwareSwipeRefreshLayout(Context context) {
- super(context);
- }
-
- public ListAwareSwipeRefreshLayout(Context context, AttributeSet attrs) {
- super(context, attrs);
- }
-
- /**
- * Getters / Setters
- */
- public void setStickyListHeadersListView(StickyListHeadersListView stickyListHeadersListView) {
- mStickyListHeadersListView = stickyListHeadersListView;
- }
-
- public StickyListHeadersListView getStickyListHeadersListView() {
- return mStickyListHeadersListView;
- }
-
- public void setIsLocked(boolean locked) {
- mIsLocked = locked;
- }
-
- public boolean getIsLocked() {
- return mIsLocked;
- }
-
- @Override
- public boolean canChildScrollUp() {
- if (mStickyListHeadersListView == null) {
- return super.canChildScrollUp();
- }
-
- return (mIsLocked || (
- mStickyListHeadersListView.getWrappedList().getChildCount() > 0
- && (mStickyListHeadersListView.getWrappedList().getChildAt(0).getTop() < 0
- || mStickyListHeadersListView.getFirstVisiblePosition() > 0)
- )
- );
- }
-
- /** Called on a touch event, this method exempts a small area in the upper right from pull to
- * refresh handling.
- *
- * If the touch event happens somewhere in the upper right corner of the screen, we return false
- * to indicate that the event was not handled. This ensures events in that area are always
- * handed through to the list scrollbar handle. For all other cases, we pass the message through
- * to the pull to refresh handler.
- */
- @Override
- public boolean onTouchEvent(MotionEvent event) {
- // The device may be null. This actually happens
- if (event.getDevice() != null) {
- // MotionEvent.AXIS_X is api level 12, for some reason, so we use a constant 0 here
- float ratioX = event.getX() / event.getDevice().getMotionRange(0).getMax();
- float ratioY = event.getY() / event.getDevice().getMotionRange(1).getMax();
- // if this is the upper right corner, don't handle as pull to refresh event
- if (ratioX > 0.85f && ratioY < 0.15f) {
- return false;
- }
- }
- return super.onTouchEvent(event);
- }
-
-} \ No newline at end of file
diff --git a/OpenKeychain/src/main/res/layout/key_list_fragment.xml b/OpenKeychain/src/main/res/layout/key_list_fragment.xml
index bdebf2ea7..2affa6e86 100644
--- a/OpenKeychain/src/main/res/layout/key_list_fragment.xml
+++ b/OpenKeychain/src/main/res/layout/key_list_fragment.xml
@@ -1,56 +1,42 @@
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:fab="http://schemas.android.com/apk/res-auto"
xmlns:android="http://schemas.android.com/apk/res/android"
- android:fitsSystemWindows="true"
- android:layout_marginTop="-25dp"
android:layout_height="match_parent"
android:layout_width="match_parent">
- <!--
- fitsSystemWindows and layout_marginTop from
- https://medium.com/@ngdelamo/using-drawerlayout-the-material-way-i-716bba2b5705
- -->
-
- <org.sufficientlysecure.keychain.ui.widget.ListAwareSwipeRefreshLayout
- android:id="@+id/key_list_swipe_container"
+ <!--rebuild functionality of ListFragment -->
+ <FrameLayout
android:layout_width="match_parent"
- android:layout_height="match_parent"
- android:orientation="vertical">
- <!--rebuild functionality of ListFragment -->
- <FrameLayout
+ android:layout_height="match_parent">
+
+ <se.emilsjolander.stickylistheaders.StickyListHeadersListView
+ android:id="@+id/key_list_list"
android:layout_width="match_parent"
- android:layout_height="match_parent">
+ android:layout_height="match_parent"
+ android:drawSelectorOnTop="true"
+ android:fastScrollEnabled="true"
+ android:paddingBottom="16dp"
+ android:paddingLeft="16dp"
+ android:paddingRight="32dp"
+ android:scrollbarStyle="outsideOverlay" />
- <se.emilsjolander.stickylistheaders.StickyListHeadersListView
- android:id="@+id/key_list_list"
- android:layout_width="match_parent"
- android:layout_height="match_parent"
- android:clipToPadding="false"
- android:drawSelectorOnTop="true"
- android:fastScrollEnabled="true"
- android:paddingBottom="16dp"
- android:paddingLeft="16dp"
- android:paddingRight="32dp"
- android:scrollbarStyle="outsideOverlay" />
+ <LinearLayout
+ android:id="@+id/key_list_empty"
+ android:layout_width="match_parent"
+ android:layout_height="match_parent"
+ android:gravity="center"
+ android:orientation="vertical"
+ android:visibility="visible">
- <LinearLayout
- android:id="@+id/key_list_empty"
- android:layout_width="match_parent"
- android:layout_height="match_parent"
+ <TextView
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
android:gravity="center"
- android:orientation="vertical"
- android:visibility="visible">
-
- <TextView
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- android:gravity="center"
- android:text="@string/key_list_empty_text1"
- android:textAppearance="?android:attr/textAppearanceLarge" />
+ android:text="@string/key_list_empty_text1"
+ android:textAppearance="?android:attr/textAppearanceLarge" />
- </LinearLayout>
- </FrameLayout>
- </org.sufficientlysecure.keychain.ui.widget.ListAwareSwipeRefreshLayout>
+ </LinearLayout>
+ </FrameLayout>
<com.getbase.floatingactionbutton.FloatingActionsMenu
android:id="@+id/fab_main"