aboutsummaryrefslogtreecommitdiffstats
path: root/OpenKeychain
diff options
context:
space:
mode:
Diffstat (limited to 'OpenKeychain')
-rw-r--r--OpenKeychain/build.gradle4
-rw-r--r--OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/KeyListFragment.java59
-rw-r--r--OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/NavDrawerActivity.java4
-rw-r--r--OpenKeychain/src/main/res/drawable-hdpi/ic_folder_white_24dp.pngbin0 -> 224 bytes
-rw-r--r--OpenKeychain/src/main/res/drawable-mdpi/ic_folder_white_24dp.pngbin0 -> 206 bytes
-rw-r--r--OpenKeychain/src/main/res/drawable-xhdpi/ic_folder_white_24dp.pngbin0 -> 273 bytes
-rw-r--r--OpenKeychain/src/main/res/drawable-xxhdpi/ic_folder_white_24dp.pngbin0 -> 342 bytes
-rw-r--r--OpenKeychain/src/main/res/drawable-xxxhdpi/ic_folder_white_24dp.pngbin0 -> 504 bytes
-rw-r--r--OpenKeychain/src/main/res/drawable/qrcode.xml8
-rw-r--r--OpenKeychain/src/main/res/layout/api_app_settings_activity.xml2
-rw-r--r--OpenKeychain/src/main/res/layout/first_time_activity.xml2
-rw-r--r--OpenKeychain/src/main/res/layout/key_list_fragment.xml7
-rw-r--r--OpenKeychain/src/main/res/layout/toolbar_standalone.xml6
-rw-r--r--OpenKeychain/src/main/res/menu/key_list.xml16
-rw-r--r--OpenKeychain/src/main/res/values-v21/dimens.xml8
-rw-r--r--OpenKeychain/src/main/res/values/dimens.xml3
-rw-r--r--OpenKeychain/src/main/res/values/themes.xml2
17 files changed, 78 insertions, 43 deletions
diff --git a/OpenKeychain/build.gradle b/OpenKeychain/build.gradle
index c5d2bbcff..bf7208060 100644
--- a/OpenKeychain/build.gradle
+++ b/OpenKeychain/build.gradle
@@ -26,9 +26,9 @@ dependencies {
compile 'com.journeyapps:zxing-android-integration:2.0.1@aar'
compile 'com.google.zxing:core:3.0.1'
compile 'com.jpardogo.materialtabstrip:library:1.0.8'
- compile 'it.neokree:MaterialNavigationDrawer:1.3'
+ compile 'it.neokree:MaterialNavigationDrawer:1.3.1'
compile 'com.nispok:snackbar:2.7.4'
- compile 'com.getbase:floatingactionbutton:1.7.0'
+ compile 'com.getbase:floatingactionbutton:1.8.0'
}
android {
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 079ebb729..55efd9bb0 100644
--- a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/KeyListFragment.java
+++ b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/KeyListFragment.java
@@ -56,6 +56,8 @@ import android.widget.ImageView;
import android.widget.ListView;
import android.widget.TextView;
+import com.getbase.floatingactionbutton.FloatingActionButton;
+
import org.sufficientlysecure.keychain.Constants;
import org.sufficientlysecure.keychain.R;
import org.sufficientlysecure.keychain.operations.results.ConsolidateResult;
@@ -105,6 +107,10 @@ public class KeyListFragment extends LoaderFragment
private String mQuery;
private SearchView mSearchView;
+ private FloatingActionButton mFabQrCode;
+ private FloatingActionButton mFabCloud;
+ private FloatingActionButton mFabFile;
+
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
@@ -123,6 +129,29 @@ public class KeyListFragment extends LoaderFragment
mStickyList = (StickyListHeadersListView) view.findViewById(R.id.key_list_list);
mStickyList.setOnItemClickListener(this);
+ mFabQrCode = (FloatingActionButton) view.findViewById(R.id.fab_add_qr_code);
+ mFabCloud = (FloatingActionButton) view.findViewById(R.id.fab_add_cloud);
+ mFabFile = (FloatingActionButton) view.findViewById(R.id.fab_add_file);
+
+ mFabQrCode.setOnClickListener(new OnClickListener() {
+ @Override
+ public void onClick(View v) {
+ scanQrCode();
+ }
+ });
+ mFabCloud.setOnClickListener(new OnClickListener() {
+ @Override
+ public void onClick(View v) {
+ searchCloud();
+ }
+ });
+ mFabFile.setOnClickListener(new OnClickListener() {
+ @Override
+ public void onClick(View v) {
+ importFile();
+ }
+ });
+
mSwipeRefreshLayout = (ListAwareSwipeRefreshLayout) view.findViewById(R.id.key_list_swipe_container);
mSwipeRefreshLayout.setOnRefreshListener(new NoScrollableSwipeRefreshLayout.OnRefreshListener() {
@Override
@@ -198,6 +227,9 @@ public class KeyListFragment extends LoaderFragment
public void onActivityCreated(Bundle savedInstanceState) {
super.onActivityCreated(savedInstanceState);
+ // show app name instead of "keys" from nav drawer
+ getActivity().setTitle(R.string.app_name);
+
mStickyList.setOnItemClickListener(this);
mStickyList.setAreHeadersSticky(true);
mStickyList.setDrawingListUnderStickyHeader(false);
@@ -496,26 +528,11 @@ public class KeyListFragment extends LoaderFragment
@Override
public boolean onOptionsItemSelected(MenuItem item) {
switch (item.getItemId()) {
- case R.id.menu_key_list_add:
- Intent scanQrCode = new Intent(getActivity(), QrCodeScanActivity.class);
- scanQrCode.setAction(QrCodeScanActivity.ACTION_SCAN_WITH_RESULT);
- startActivityForResult(scanQrCode, 0);
- return true;
-
- case R.id.menu_key_list_search_cloud:
- searchCloud();
- return true;
case R.id.menu_key_list_create:
createKey();
return true;
- case R.id.menu_key_list_import_existing_key:
- Intent intentImportExisting = new Intent(getActivity(), ImportKeysActivity.class);
- intentImportExisting.setAction(ImportKeysActivity.ACTION_IMPORT_KEY_FROM_FILE_AND_RETURN);
- startActivityForResult(intentImportExisting, 0);
- return true;
-
case R.id.menu_key_list_export:
mExportHelper.showExportKeysDialog(null, Constants.Path.APP_DIR_FILE, true);
return true;
@@ -587,6 +604,18 @@ public class KeyListFragment extends LoaderFragment
startActivity(importIntent);
}
+ private void scanQrCode() {
+ Intent scanQrCode = new Intent(getActivity(), QrCodeScanActivity.class);
+ scanQrCode.setAction(QrCodeScanActivity.ACTION_SCAN_WITH_RESULT);
+ startActivityForResult(scanQrCode, 0);
+ }
+
+ private void importFile() {
+ Intent intentImportExisting = new Intent(getActivity(), ImportKeysActivity.class);
+ intentImportExisting.setAction(ImportKeysActivity.ACTION_IMPORT_KEY_FROM_FILE_AND_RETURN);
+ startActivityForResult(intentImportExisting, 0);
+ }
+
private void createKey() {
Intent intent = new Intent(getActivity(), CreateKeyActivity.class);
startActivityForResult(intent, 0);
diff --git a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/NavDrawerActivity.java b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/NavDrawerActivity.java
index d82e1c246..1bd1f0085 100644
--- a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/NavDrawerActivity.java
+++ b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/NavDrawerActivity.java
@@ -24,6 +24,8 @@ import org.sufficientlysecure.keychain.R;
import org.sufficientlysecure.keychain.remote.ui.AppsListFragment;
import it.neokree.materialnavigationdrawer.MaterialNavigationDrawer;
+import it.neokree.materialnavigationdrawer.elements.MaterialSection;
+import it.neokree.materialnavigationdrawer.elements.listeners.MaterialSectionListener;
public abstract class NavDrawerActivity extends MaterialNavigationDrawer {
@@ -39,7 +41,7 @@ public abstract class NavDrawerActivity extends MaterialNavigationDrawer {
setDrawerHeaderImage(R.drawable.drawer_header);
// create sections
- addSection(newSection(getString(R.string.title_keys), R.drawable.ic_vpn_key_black_24dp, new KeyListFragment()));
+ addSection(newSection(getString(R.string.nav_keys), R.drawable.ic_vpn_key_black_24dp, new KeyListFragment()));
addSection(newSection(getString(R.string.nav_encrypt_decrypt), R.drawable.ic_lock_black_24dp, new EncryptDecryptOverviewFragment()));
addSection(newSection(getString(R.string.title_api_registered_apps), R.drawable.ic_apps_black_24dp, new AppsListFragment()));
diff --git a/OpenKeychain/src/main/res/drawable-hdpi/ic_folder_white_24dp.png b/OpenKeychain/src/main/res/drawable-hdpi/ic_folder_white_24dp.png
new file mode 100644
index 000000000..9f5c75609
--- /dev/null
+++ b/OpenKeychain/src/main/res/drawable-hdpi/ic_folder_white_24dp.png
Binary files differ
diff --git a/OpenKeychain/src/main/res/drawable-mdpi/ic_folder_white_24dp.png b/OpenKeychain/src/main/res/drawable-mdpi/ic_folder_white_24dp.png
new file mode 100644
index 000000000..1c5797c9e
--- /dev/null
+++ b/OpenKeychain/src/main/res/drawable-mdpi/ic_folder_white_24dp.png
Binary files differ
diff --git a/OpenKeychain/src/main/res/drawable-xhdpi/ic_folder_white_24dp.png b/OpenKeychain/src/main/res/drawable-xhdpi/ic_folder_white_24dp.png
new file mode 100644
index 000000000..e5f54cef0
--- /dev/null
+++ b/OpenKeychain/src/main/res/drawable-xhdpi/ic_folder_white_24dp.png
Binary files differ
diff --git a/OpenKeychain/src/main/res/drawable-xxhdpi/ic_folder_white_24dp.png b/OpenKeychain/src/main/res/drawable-xxhdpi/ic_folder_white_24dp.png
new file mode 100644
index 000000000..0d1ac4876
--- /dev/null
+++ b/OpenKeychain/src/main/res/drawable-xxhdpi/ic_folder_white_24dp.png
Binary files differ
diff --git a/OpenKeychain/src/main/res/drawable-xxxhdpi/ic_folder_white_24dp.png b/OpenKeychain/src/main/res/drawable-xxxhdpi/ic_folder_white_24dp.png
new file mode 100644
index 000000000..7a3c198ee
--- /dev/null
+++ b/OpenKeychain/src/main/res/drawable-xxxhdpi/ic_folder_white_24dp.png
Binary files differ
diff --git a/OpenKeychain/src/main/res/drawable/qrcode.xml b/OpenKeychain/src/main/res/drawable/qrcode.xml
new file mode 100644
index 000000000..87eb7d485
--- /dev/null
+++ b/OpenKeychain/src/main/res/drawable/qrcode.xml
@@ -0,0 +1,8 @@
+<!-- drawable/qrcode.xml -->
+<vector xmlns:android="http://schemas.android.com/apk/res/android"
+ android:height="24dp"
+ android:width="24dp"
+ android:viewportWidth="24"
+ android:viewportHeight="24">
+ <path android:fillColor="#fff" android:pathData="M5,5H7V7H5V5M1,1H11V11H1V1M3,3V9H9V3H3M5,17H7V19H5V17M1,13H11V23H1V13M3,15V21H9V15H3M17,5H19V7H17V5M13,1H23V11H13V1M15,3V9H21V3H15M13,13H17V15H19V13H23V15H19V17H23V23H19V21H15V23H13V21H15V19H13V13M21,21V19H19V21H21M19,17H17V15H15V19H19V17Z" />
+</vector> \ No newline at end of file
diff --git a/OpenKeychain/src/main/res/layout/api_app_settings_activity.xml b/OpenKeychain/src/main/res/layout/api_app_settings_activity.xml
index c7b8c9b3a..253836080 100644
--- a/OpenKeychain/src/main/res/layout/api_app_settings_activity.xml
+++ b/OpenKeychain/src/main/res/layout/api_app_settings_activity.xml
@@ -18,7 +18,7 @@
<ImageView
android:id="@+id/status_bar"
android:layout_width="match_parent"
- android:layout_height="@dimen/statusbar_margin"
+ android:layout_height="@dimen/statusbar_height"
android:background="?attr/colorPrimary" />
<android.support.v7.widget.Toolbar
diff --git a/OpenKeychain/src/main/res/layout/first_time_activity.xml b/OpenKeychain/src/main/res/layout/first_time_activity.xml
index 61737e548..ba80214a6 100644
--- a/OpenKeychain/src/main/res/layout/first_time_activity.xml
+++ b/OpenKeychain/src/main/res/layout/first_time_activity.xml
@@ -7,7 +7,7 @@
<ImageView
android:id="@+id/status_bar"
android:layout_width="match_parent"
- android:layout_height="@dimen/statusbar_margin" />
+ android:layout_height="@dimen/statusbar_height" />
<LinearLayout
android:id="@+id/first_time_buttons"
diff --git a/OpenKeychain/src/main/res/layout/key_list_fragment.xml b/OpenKeychain/src/main/res/layout/key_list_fragment.xml
index 0c3c6404a..290e56872 100644
--- a/OpenKeychain/src/main/res/layout/key_list_fragment.xml
+++ b/OpenKeychain/src/main/res/layout/key_list_fragment.xml
@@ -63,18 +63,20 @@
android:layout_marginEnd="16dp">
<com.getbase.floatingactionbutton.FloatingActionButton
- android:id="@+id/fab_add_cloud"
+ android:id="@+id/fab_add_qr_code"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
+ fab:fab_icon="@drawable/qrcode"
fab:fab_colorNormal="@color/fab"
fab:fab_colorPressed="@color/fab_pressed"
fab:fab_title="Scan QR Code"
fab:fab_size="mini" />
<com.getbase.floatingactionbutton.FloatingActionButton
- android:id="@+id/fab_add_qr_code"
+ android:id="@+id/fab_add_cloud"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
+ fab:fab_icon="@drawable/ic_cloud_search_24px"
fab:fab_colorNormal="@color/fab"
fab:fab_colorPressed="@color/fab_pressed"
fab:fab_title="Search Cloud"
@@ -84,6 +86,7 @@
android:id="@+id/fab_add_file"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
+ fab:fab_icon="@drawable/ic_folder_white_24dp"
fab:fab_colorNormal="@color/fab"
fab:fab_colorPressed="@color/fab_pressed"
fab:fab_title="Import from File"
diff --git a/OpenKeychain/src/main/res/layout/toolbar_standalone.xml b/OpenKeychain/src/main/res/layout/toolbar_standalone.xml
index cef0b862d..950c2f2ae 100644
--- a/OpenKeychain/src/main/res/layout/toolbar_standalone.xml
+++ b/OpenKeychain/src/main/res/layout/toolbar_standalone.xml
@@ -7,10 +7,14 @@
android:layout_width="match_parent"
android:layout_height="wrap_content">
+ <!--
+ We always have windowTranslucentStatus=true to get under the status bar.
+ Thus this ImageView is the part under the status bar!
+ -->
<ImageView
android:id="@+id/status_bar"
android:layout_width="match_parent"
- android:layout_height="@dimen/statusbar_margin"
+ android:layout_height="@dimen/statusbar_height"
android:background="?attr/colorPrimary" />
<android.support.v7.widget.Toolbar
diff --git a/OpenKeychain/src/main/res/menu/key_list.xml b/OpenKeychain/src/main/res/menu/key_list.xml
index 8a682badc..386a9d46e 100644
--- a/OpenKeychain/src/main/res/menu/key_list.xml
+++ b/OpenKeychain/src/main/res/menu/key_list.xml
@@ -10,17 +10,6 @@
app:showAsAction="collapseActionView|always" />
<item
- android:id="@+id/menu_key_list_search_cloud"
- android:icon="@drawable/ic_cloud_search_24px"
- android:title="@string/menu_search_cloud"
- app:showAsAction="ifRoom|withText" />
-
- <item
- android:id="@+id/menu_key_list_add"
- android:title="@string/import_qr_code_button"
- app:showAsAction="ifRoom|withText" />
-
- <item
android:id="@+id/menu_key_list_export"
android:title="@string/menu_export_all_keys"
app:showAsAction="never" />
@@ -31,11 +20,6 @@
app:showAsAction="never" />
<item
- android:id="@+id/menu_key_list_import_existing_key"
- android:title="@string/menu_import_existing_key"
- app:showAsAction="never" />
-
- <item
android:id="@+id/menu_key_list_debug_cons"
android:title="Debug / Consolidate"
android:visible="false"
diff --git a/OpenKeychain/src/main/res/values-v21/dimens.xml b/OpenKeychain/src/main/res/values-v21/dimens.xml
index d54327293..3a85cca93 100644
--- a/OpenKeychain/src/main/res/values-v21/dimens.xml
+++ b/OpenKeychain/src/main/res/values-v21/dimens.xml
@@ -1,6 +1,10 @@
<?xml version="1.0" encoding="utf-8"?>
<resources>
- <dimen name="statusbar_margin">21dp</dimen>
- <!-- 120dp + statusbar_margin -->
+ <!--
+ Status bar height according to
+ http://www.google.com/design/spec/layout/structure.html#structure-system-bars
+ -->
+ <dimen name="statusbar_height">24dp</dimen>
+ <!-- 120dp + statusbar_height -->
<dimen name="big_toolbar">141dp</dimen>
</resources> \ No newline at end of file
diff --git a/OpenKeychain/src/main/res/values/dimens.xml b/OpenKeychain/src/main/res/values/dimens.xml
index 21ef110ea..7e361a358 100644
--- a/OpenKeychain/src/main/res/values/dimens.xml
+++ b/OpenKeychain/src/main/res/values/dimens.xml
@@ -1,5 +1,6 @@
<?xml version="1.0" encoding="utf-8"?>
<resources>
- <dimen name="statusbar_margin">0dp</dimen>
+ <!-- on Android < 5, we do not color the status bar, thus 0dp! -->
+ <dimen name="statusbar_height">0dp</dimen>
<dimen name="big_toolbar">120dp</dimen>
</resources> \ No newline at end of file
diff --git a/OpenKeychain/src/main/res/values/themes.xml b/OpenKeychain/src/main/res/values/themes.xml
index f1d1ea490..885d5e682 100644
--- a/OpenKeychain/src/main/res/values/themes.xml
+++ b/OpenKeychain/src/main/res/values/themes.xml
@@ -4,7 +4,7 @@
<style name="KeychainTheme" parent="KeychainTheme.Base" />
<!--<style name="KeychainTheme.Base" parent="HoloKeychainTheme">-->
- <style name="KeychainTheme.Base" parent="Theme.AppCompat.Light.NoActionBar">
+ <style name="KeychainTheme.Base" parent="Theme.AppCompat.Light">
<item name="colorPrimary">@color/colorPrimary</item>
<item name="colorPrimaryDark">@color/colorPrimaryDark</item>
<item name="colorAccent">@color/accent</item>