From 06d76ccd0cdf510196a2f52efc7abd3b2b127b3c Mon Sep 17 00:00:00 2001 From: Ishan Khanna Date: Tue, 3 Mar 2015 14:46:28 +0530 Subject: [PATCH 1/5] Fixes Issue #1081 The App crashed because the Adapter was trying to call a method on a null object. Where was the null object? CheckBox was null because in the Layout file view_key_adv_user_id_item.xml There is no such widget with id = user_id_item_check_box Fix : I removed the two lines which were causing the bug, and now the screen loads perfectly. --- .../keychain/ui/adapter/UserIdsAddedAdapter.java | 3 --- 1 file changed, 3 deletions(-) diff --git a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/adapter/UserIdsAddedAdapter.java b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/adapter/UserIdsAddedAdapter.java index 01218a4e4..970855c77 100644 --- a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/adapter/UserIdsAddedAdapter.java +++ b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/adapter/UserIdsAddedAdapter.java @@ -24,7 +24,6 @@ import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; import android.widget.ArrayAdapter; -import android.widget.CheckBox; import android.widget.ImageButton; import android.widget.ImageView; import android.widget.TextView; @@ -73,10 +72,8 @@ public class UserIdsAddedAdapter extends ArrayAdapter { holder.vDelete.setVisibility(View.VISIBLE); // always visible // not used: - CheckBox checkBox = (CheckBox) convertView.findViewById(R.id.user_id_item_check_box); View certifiedLayout = convertView.findViewById(R.id.user_id_item_certified_layout); ImageView editImage = (ImageView) convertView.findViewById(R.id.user_id_item_edit_image); - checkBox.setVisibility(View.GONE); certifiedLayout.setVisibility(View.GONE); editImage.setVisibility(View.GONE); From 2ea0f609f29bf8458fd4f5b5170caad8fc0525cf Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Dominik=20Sch=C3=BCrmann?= Date: Tue, 3 Mar 2015 13:16:56 +0100 Subject: [PATCH 2/5] Remove old min sdk check --- .../keychain/ui/dialog/EditSubkeyExpiryDialogFragment.java | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/dialog/EditSubkeyExpiryDialogFragment.java b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/dialog/EditSubkeyExpiryDialogFragment.java index f46e253c0..fc618c9eb 100644 --- a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/dialog/EditSubkeyExpiryDialogFragment.java +++ b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/dialog/EditSubkeyExpiryDialogFragment.java @@ -151,9 +151,7 @@ public class EditSubkeyExpiryDialogFragment extends DialogFragment { ); } - if (android.os.Build.VERSION.SDK_INT >= android.os.Build.VERSION_CODES.HONEYCOMB) { - datePicker.setMinDate(creationCal.getTime().getTime()); - } + datePicker.setMinDate(creationCal.getTime().getTime()); alert.setPositiveButton(android.R.string.ok, new DialogInterface.OnClickListener() { @Override From 5da57f05825372350f0d5521ac401c114cef9836 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Dominik=20Sch=C3=BCrmann?= Date: Tue, 3 Mar 2015 15:56:03 +0100 Subject: [PATCH 3/5] Update patternview lib, remove workaround --- OpenKeychain/build.gradle | 22 +++++++++++----------- OpenKeychain/src/main/AndroidManifest.xml | 2 -- 2 files changed, 11 insertions(+), 13 deletions(-) diff --git a/OpenKeychain/build.gradle b/OpenKeychain/build.gradle index 606df0464..97c8a6d5e 100644 --- a/OpenKeychain/build.gradle +++ b/OpenKeychain/build.gradle @@ -12,7 +12,7 @@ dependencies { compile 'com.android.support:cardview-v7:21.0.3' // JCenter etc. - compile 'com.eftimoff:android-patternview:1.0.0@aar' + compile 'com.eftimoff:android-patternview:1.0.1@aar' compile 'com.journeyapps:zxing-android-embedded:2.0.1@aar' compile 'com.journeyapps:zxing-android-integration:2.0.1@aar' compile 'com.google.zxing:core:3.0.1' @@ -44,6 +44,16 @@ dependencyVerification { 'com.android.support:appcompat-v7:5dbeb5316d0a6027d646ae552804c3baa5e3bd53f7f33db50904d51505c8a0e5', 'com.android.support:recyclerview-v7:e525ad3f33c84bb12b73d2dc975b55364a53f0f2d0697e043efba59ba73e22d2', 'com.android.support:cardview-v7:45c48c2ab056bc7a8573970b10f8902742c5d443f180dae43c56557397ac39af', + 'com.eftimoff:android-patternview:cec80e7265b8d8278b3c55b5fcdf551e4600ac2c8bf60d8dd76adca538af0b1e', + 'com.journeyapps:zxing-android-embedded:5d6ba3931bd0b999695e363b571e95bd6bc9956340c1e6ce740cd0bff3d89a50', + 'com.journeyapps:zxing-android-integration:6f50bb07c057ac94319777ddfbb66f5d4f6190393418b2fc861e0e60d06f3c0d', + 'com.google.zxing:core:38c49045765281e4c170062fa3f48e4e988629bf985cab850c7497be5eaa72a1', + 'com.jpardogo.materialtabstrip:library:c6ef812fba4f74be7dc4a905faa4c2908cba261a94c13d4f96d5e67e4aad4aaa', + 'it.neokree:MaterialNavigationDrawer:1174d751a54689fccf53c1fbcdf439745926ae19024f4f1017afb6b29643c57d', + 'com.nispok:snackbar:59dc092a44c877e9ce5f9040c632d99e62d8932b0a4d67ba0ec9e35467d9047c', + 'com.getbase:floatingactionbutton:e63966148212e9685afad2370780ea239b6dbd2a06f6a3f919b98882318e6a32', + 'com.android.support:support-annotations:fdee2354787ef66b268e75958de3f7f6c4f8f325510a6dac9f49c929f83a63de', + 'com.balysv:material-ripple:587f19c1e27f16c7dc67ff9ac73838aa1451086ef05a15cee38bee3e4e1454ae', //'OpenKeychain.extern:openpgp-api-lib:b17bb282321351e4b00b4cd6422a57aadc13decae264019a88707bcb556439ea', //'OpenKeychain.extern:openkeychain-api-lib:5f95f01c066069d4bde68992fd8da5faac21510d009b1fdae7a2e28e43e82cf4', //'OpenKeychain.extern:html-textview:b58e343cf4c145e91f888806d06a2a7770a9e9331a72f08cfcf1128db30dcff3', @@ -56,16 +66,6 @@ dependencyVerification { //'OpenKeychain.extern.KeybaseLib:Lib:af9bff087148e0859430d0b99ece096c41b315c5dc1ed500a68580b9b0e5ab11', //'OpenKeychain.extern.TokenAutoComplete:library:40d4212a95e947efdb02f2ca66c95a27d49fba848471a6317eca2b9cc18e8780', //'OpenKeychain.extern:safeslinger-exchange:94a1ce68217af7499579a042758283b1530912c53241bdfa06d1a079a5ae3faf', - 'com.eftimoff:android-patternview:a031eaed3b5cef8ea06c2d4a6e27693937f89ae483598d61b7027eeee0bed408', - 'com.journeyapps:zxing-android-embedded:5d6ba3931bd0b999695e363b571e95bd6bc9956340c1e6ce740cd0bff3d89a50', - 'com.journeyapps:zxing-android-integration:6f50bb07c057ac94319777ddfbb66f5d4f6190393418b2fc861e0e60d06f3c0d', - 'com.google.zxing:core:38c49045765281e4c170062fa3f48e4e988629bf985cab850c7497be5eaa72a1', - 'com.jpardogo.materialtabstrip:library:c6ef812fba4f74be7dc4a905faa4c2908cba261a94c13d4f96d5e67e4aad4aaa', - 'it.neokree:MaterialNavigationDrawer:1174d751a54689fccf53c1fbcdf439745926ae19024f4f1017afb6b29643c57d', - 'com.nispok:snackbar:59dc092a44c877e9ce5f9040c632d99e62d8932b0a4d67ba0ec9e35467d9047c', - 'com.getbase:floatingactionbutton:e63966148212e9685afad2370780ea239b6dbd2a06f6a3f919b98882318e6a32', - 'com.android.support:support-annotations:fdee2354787ef66b268e75958de3f7f6c4f8f325510a6dac9f49c929f83a63de', - 'com.balysv:material-ripple:587f19c1e27f16c7dc67ff9ac73838aa1451086ef05a15cee38bee3e4e1454ae', ] } diff --git a/OpenKeychain/src/main/AndroidManifest.xml b/OpenKeychain/src/main/AndroidManifest.xml index d74a71fff..a1a6ed02e 100644 --- a/OpenKeychain/src/main/AndroidManifest.xml +++ b/OpenKeychain/src/main/AndroidManifest.xml @@ -67,10 +67,8 @@ - Date: Tue, 3 Mar 2015 19:04:40 +0100 Subject: [PATCH 4/5] Use spinner DatePicker, not full calendar, also on Android 5 --- .../src/main/res/layout/add_subkey_dialog.xml | 83 +++++++++++-------- .../res/layout/edit_subkey_expiry_dialog.xml | 13 ++- 2 files changed, 59 insertions(+), 37 deletions(-) diff --git a/OpenKeychain/src/main/res/layout/add_subkey_dialog.xml b/OpenKeychain/src/main/res/layout/add_subkey_dialog.xml index d32b1496f..4b5058a81 100644 --- a/OpenKeychain/src/main/res/layout/add_subkey_dialog.xml +++ b/OpenKeychain/src/main/res/layout/add_subkey_dialog.xml @@ -1,5 +1,6 @@ @@ -90,42 +91,6 @@ android:layout_height="wrap_content" android:layout_gravity="center_vertical" /> - - - - - - - - - - - - - - + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/OpenKeychain/src/main/res/layout/edit_subkey_expiry_dialog.xml b/OpenKeychain/src/main/res/layout/edit_subkey_expiry_dialog.xml index a692db574..0931eb6a7 100644 --- a/OpenKeychain/src/main/res/layout/edit_subkey_expiry_dialog.xml +++ b/OpenKeychain/src/main/res/layout/edit_subkey_expiry_dialog.xml @@ -1,5 +1,6 @@ + + - \ No newline at end of file From 5a4fc0a07127155f9c560374e65bf1373979d3ac Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Dominik=20Sch=C3=BCrmann?= Date: Tue, 3 Mar 2015 20:15:09 +0100 Subject: [PATCH 5/5] Fix toolbar margins on Android lower 5 --- OpenKeychain/src/main/res/layout/create_key_activity.xml | 2 +- OpenKeychain/src/main/res/layout/decrypt_files_activity.xml | 2 +- OpenKeychain/src/main/res/layout/decrypt_text_activity.xml | 2 +- OpenKeychain/src/main/res/layout/encrypt_files_activity.xml | 2 +- OpenKeychain/src/main/res/layout/encrypt_text_activity.xml | 2 +- OpenKeychain/src/main/res/layout/import_keys_activity.xml | 2 +- OpenKeychain/src/main/res/values-large/dimens.xml | 3 --- OpenKeychain/src/main/res/values-v21/dimens.xml | 1 + OpenKeychain/src/main/res/values/dimens.xml | 1 + 9 files changed, 8 insertions(+), 9 deletions(-) delete mode 100644 OpenKeychain/src/main/res/values-large/dimens.xml diff --git a/OpenKeychain/src/main/res/layout/create_key_activity.xml b/OpenKeychain/src/main/res/layout/create_key_activity.xml index b9d5206a1..ecf69e640 100644 --- a/OpenKeychain/src/main/res/layout/create_key_activity.xml +++ b/OpenKeychain/src/main/res/layout/create_key_activity.xml @@ -14,7 +14,7 @@ diff --git a/OpenKeychain/src/main/res/layout/decrypt_files_activity.xml b/OpenKeychain/src/main/res/layout/decrypt_files_activity.xml index 06c1dda7b..3cf4a9e7b 100644 --- a/OpenKeychain/src/main/res/layout/decrypt_files_activity.xml +++ b/OpenKeychain/src/main/res/layout/decrypt_files_activity.xml @@ -14,7 +14,7 @@ diff --git a/OpenKeychain/src/main/res/layout/decrypt_text_activity.xml b/OpenKeychain/src/main/res/layout/decrypt_text_activity.xml index a692b3681..da4aa7099 100644 --- a/OpenKeychain/src/main/res/layout/decrypt_text_activity.xml +++ b/OpenKeychain/src/main/res/layout/decrypt_text_activity.xml @@ -14,7 +14,7 @@ diff --git a/OpenKeychain/src/main/res/layout/encrypt_files_activity.xml b/OpenKeychain/src/main/res/layout/encrypt_files_activity.xml index 168e6d0be..f9efd81b4 100644 --- a/OpenKeychain/src/main/res/layout/encrypt_files_activity.xml +++ b/OpenKeychain/src/main/res/layout/encrypt_files_activity.xml @@ -15,7 +15,7 @@ android:layout_below="@id/toolbar_include" android:id="@+id/content_frame" android:fitsSystemWindows="true" - android:layout_marginTop="-25dp" + android:layout_marginTop="@dimen/minus_statusbar_height" android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical"> diff --git a/OpenKeychain/src/main/res/layout/encrypt_text_activity.xml b/OpenKeychain/src/main/res/layout/encrypt_text_activity.xml index fd7fd6672..67f17fa81 100644 --- a/OpenKeychain/src/main/res/layout/encrypt_text_activity.xml +++ b/OpenKeychain/src/main/res/layout/encrypt_text_activity.xml @@ -15,7 +15,7 @@ android:layout_below="@id/toolbar_include" android:id="@+id/content_frame" android:fitsSystemWindows="true" - android:layout_marginTop="-25dp" + android:layout_marginTop="@dimen/minus_statusbar_height" android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical"> diff --git a/OpenKeychain/src/main/res/layout/import_keys_activity.xml b/OpenKeychain/src/main/res/layout/import_keys_activity.xml index dcdd9a31a..fcc84f50f 100644 --- a/OpenKeychain/src/main/res/layout/import_keys_activity.xml +++ b/OpenKeychain/src/main/res/layout/import_keys_activity.xml @@ -14,7 +14,7 @@ diff --git a/OpenKeychain/src/main/res/values-large/dimens.xml b/OpenKeychain/src/main/res/values-large/dimens.xml deleted file mode 100644 index 045e125f3..000000000 --- a/OpenKeychain/src/main/res/values-large/dimens.xml +++ /dev/null @@ -1,3 +0,0 @@ - - - diff --git a/OpenKeychain/src/main/res/values-v21/dimens.xml b/OpenKeychain/src/main/res/values-v21/dimens.xml index 7e07ae0f9..f06cbbb80 100644 --- a/OpenKeychain/src/main/res/values-v21/dimens.xml +++ b/OpenKeychain/src/main/res/values-v21/dimens.xml @@ -8,4 +8,5 @@ 141dp 243dp + -25dp \ 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 434a0a171..2aae06e2e 100644 --- a/OpenKeychain/src/main/res/values/dimens.xml +++ b/OpenKeychain/src/main/res/values/dimens.xml @@ -4,4 +4,5 @@ 0dp 120dp 222dp + 0dp \ No newline at end of file