aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorLubo Viluda <lubo.viluda@gmail.com>2016-03-20 11:52:36 +0100
committerLubo Viluda <lubo.viluda@gmail.com>2016-03-20 11:52:36 +0100
commit7efeebc6381784a9362e5514fb50084c662dd335 (patch)
treea910e8f82d484ffa10b24081cc4c62af80503584
parent556c04db829c7e7534d03e8eb101a13d2cab6503 (diff)
downloadopen-keychain-7efeebc6381784a9362e5514fb50084c662dd335.tar.gz
open-keychain-7efeebc6381784a9362e5514fb50084c662dd335.tar.bz2
open-keychain-7efeebc6381784a9362e5514fb50084c662dd335.zip
#1661 - Don't expose CertifyActivity
*Add new activity - RedirectImportKeysActivity, which prompts user to use Openkeychain directly *Add intent filter for the activity *Change intent filter for CertifyActivity
-rw-r--r--OpenKeychain/src/main/AndroidManifest.xml17
-rw-r--r--OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/RedirectImportKeysActivity.java60
-rw-r--r--OpenKeychain/src/main/res/layout/redirect_import_keys_activity.xml73
-rw-r--r--OpenKeychain/src/main/res/values-w820dp/dimens.xml6
-rw-r--r--OpenKeychain/src/main/res/values/dimens.xml3
-rw-r--r--OpenKeychain/src/main/res/values/strings.xml2
6 files changed, 156 insertions, 5 deletions
diff --git a/OpenKeychain/src/main/AndroidManifest.xml b/OpenKeychain/src/main/AndroidManifest.xml
index 50ab9aaae..8031606fb 100644
--- a/OpenKeychain/src/main/AndroidManifest.xml
+++ b/OpenKeychain/src/main/AndroidManifest.xml
@@ -711,6 +711,15 @@
<category android:name="android.intent.category.DEFAULT" />
</intent-filter>
+ <meta-data
+ android:name="android.support.PARENT_ACTIVITY"
+ android:value=".ui.MainActivity" />
+ </activity>
+ <activity
+ android:name=".ui.RedirectImportKeysActivity"
+ android:configChanges="orientation|screenSize|keyboardHidden|keyboard"
+ android:label="@string/title_activity_redirect_key"> >
+
<!-- VIEW with fingerprint scheme:
Handle URIs with fingerprints when scanning directly from Barcode Scanner -->
<intent-filter android:label="@string/intent_import_key">
@@ -726,11 +735,9 @@
<data android:scheme="OpenPGP4Fpr" />
<data android:scheme="OpenPGP4fpr" />
</intent-filter>
-
- <meta-data
- android:name="android.support.PARENT_ACTIVITY"
- android:value=".ui.MainActivity" />
</activity>
+
+
<activity
android:name=".ui.LogDisplayActivity"
android:configChanges="orientation|screenSize|keyboardHidden|keyboard"
@@ -943,4 +950,4 @@
</application>
-</manifest>
+</manifest> \ No newline at end of file
diff --git a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/RedirectImportKeysActivity.java b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/RedirectImportKeysActivity.java
new file mode 100644
index 000000000..a59d3ba80
--- /dev/null
+++ b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/RedirectImportKeysActivity.java
@@ -0,0 +1,60 @@
+/*
+ *
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package org.sufficientlysecure.keychain.ui;
+
+import android.app.Activity;
+
+import android.content.DialogInterface;
+import android.content.Intent;
+import android.os.Bundle;
+import android.support.v7.app.AlertDialog;
+import org.sufficientlysecure.keychain.R;
+import org.sufficientlysecure.keychain.ui.base.BaseActivity;
+
+public class RedirectImportKeysActivity extends BaseActivity {
+
+ @Override
+ protected void onCreate(Bundle savedInstanceState) {
+ super.onCreate(savedInstanceState);
+
+ setFullScreenDialogClose(Activity.RESULT_CANCELED, true);
+ final Intent intent = new Intent(this, org.sufficientlysecure.keychain.ui.ImportKeysActivity.class);
+
+ new AlertDialog.Builder(this)
+ .setTitle("Import key attempt")
+ .setMessage("You scanned a fingerprint with another app, please scan with Openkeychain directly to be safe" )
+ .setPositiveButton(android.R.string.yes, new DialogInterface.OnClickListener() {
+ public void onClick(DialogInterface dialog, int which) {
+ // intent directly to ImportKeyChain activity
+ startActivity(intent);
+ }
+ })
+ .setNegativeButton(android.R.string.no, new DialogInterface.OnClickListener() {
+ public void onClick(DialogInterface dialog, int which) {
+ // close window
+ finish();
+ }
+ })
+ .setIcon(android.R.drawable.ic_dialog_alert)
+ .show();
+ }
+
+ @Override
+ protected void initLayout() {
+ setContentView(R.layout.redirect_import_keys_activity);
+ }
+} \ No newline at end of file
diff --git a/OpenKeychain/src/main/res/layout/redirect_import_keys_activity.xml b/OpenKeychain/src/main/res/layout/redirect_import_keys_activity.xml
new file mode 100644
index 000000000..2f63d143d
--- /dev/null
+++ b/OpenKeychain/src/main/res/layout/redirect_import_keys_activity.xml
@@ -0,0 +1,73 @@
+<?xml version="1.0" encoding="utf-8"?>
+<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
+ android:layout_width="match_parent"
+ android:layout_height="match_parent"
+ xmlns:tools="http://schemas.android.com/tools">
+
+ <include
+ android:id="@+id/toolbar_include"
+ layout="@layout/toolbar_standalone" />
+
+ <!--
+ fitsSystemWindows and layout_marginTop from
+ https://medium.com/@ngdelamo/using-drawerlayout-the-material-way-i-716bba2b5705
+ -->
+ <LinearLayout
+ android:layout_below="@id/toolbar_include"
+ android:fitsSystemWindows="true"
+ android:layout_marginTop="@dimen/minus_statusbar_height"
+ android:layout_width="match_parent"
+ android:layout_height="match_parent"
+ android:orientation="vertical">
+
+ <include layout="@layout/notify_area" />
+
+ <LinearLayout
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:orientation="vertical"
+ android:id="@+id/import_keys_top_layout"
+ android:visibility="gone"
+ tools:visibility="visible">
+
+ <FrameLayout
+ android:id="@+id/import_keys_top_container"
+ android:layout_width="match_parent"
+ android:layout_height="64dp"
+ android:orientation="vertical" />
+
+ <View
+ android:layout_width="match_parent"
+ android:layout_height="1dip"
+ android:background="?android:attr/listDivider" />
+
+ </LinearLayout>
+
+ <FrameLayout
+ android:id="@+id/import_keys_list_container"
+ android:layout_width="match_parent"
+ android:layout_height="0dp"
+ android:orientation="vertical"
+ android:layout_weight="1" />
+
+ <RelativeLayout
+ android:id="@+id/import_footer"
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:orientation="vertical">
+
+ <View
+ android:id="@+id/import_divider"
+ android:layout_width="match_parent"
+ android:layout_height="1dip"
+ android:background="?android:attr/listDivider" />
+
+ <RelativeLayout
+ android:id="@+id/import_snackbar"
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:layout_alignBottom="@id/import_import" />
+
+ </RelativeLayout>
+ </LinearLayout>
+</RelativeLayout>
diff --git a/OpenKeychain/src/main/res/values-w820dp/dimens.xml b/OpenKeychain/src/main/res/values-w820dp/dimens.xml
new file mode 100644
index 000000000..63fc81644
--- /dev/null
+++ b/OpenKeychain/src/main/res/values-w820dp/dimens.xml
@@ -0,0 +1,6 @@
+<resources>
+ <!-- Example customization of dimensions originally defined in res/values/dimens.xml
+ (such as screen margins) for screens with more than 820dp of available width. This
+ would include 7" and 10" devices in landscape (~960dp and ~1280dp respectively). -->
+ <dimen name="activity_horizontal_margin">64dp</dimen>
+</resources>
diff --git a/OpenKeychain/src/main/res/values/dimens.xml b/OpenKeychain/src/main/res/values/dimens.xml
index 2aae06e2e..254dc02bb 100644
--- a/OpenKeychain/src/main/res/values/dimens.xml
+++ b/OpenKeychain/src/main/res/values/dimens.xml
@@ -5,4 +5,7 @@
<dimen name="big_toolbar">120dp</dimen>
<dimen name="huge_toolbar">222dp</dimen>
<dimen name="minus_statusbar_height">0dp</dimen>
+ <!-- Default screen margins, per the Android Design guidelines. -->
+ <dimen name="activity_horizontal_margin">16dp</dimen>
+ <dimen name="activity_vertical_margin">16dp</dimen>
</resources> \ No newline at end of file
diff --git a/OpenKeychain/src/main/res/values/strings.xml b/OpenKeychain/src/main/res/values/strings.xml
index 70db4029b..acc0c7f20 100644
--- a/OpenKeychain/src/main/res/values/strings.xml
+++ b/OpenKeychain/src/main/res/values/strings.xml
@@ -1740,4 +1740,6 @@
<item>50 EUR</item>
<item>100 EUR</item>
</string-array>
+ <string name="title_activity_redirect_key">RedirectKeyActivity</string>
+ <string name="action_settings">Settings</string>
</resources>