diff options
6 files changed, 93 insertions, 91 deletions
diff --git a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/EditIdentitiesFragment.java b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/EditIdentitiesFragment.java index ebc0c9158..31153d7af 100644 --- a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/EditIdentitiesFragment.java +++ b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/EditIdentitiesFragment.java @@ -56,7 +56,6 @@ import org.sufficientlysecure.keychain.ui.base.QueueingCryptoOperationFragment;  import org.sufficientlysecure.keychain.ui.dialog.AddUserIdDialogFragment;  import org.sufficientlysecure.keychain.ui.dialog.EditUserIdDialogFragment;  import org.sufficientlysecure.keychain.ui.dialog.SetPassphraseDialogFragment; -import org.sufficientlysecure.keychain.ui.util.Notify;  import org.sufficientlysecure.keychain.util.Log;  import java.util.Date; @@ -99,9 +98,9 @@ public class EditIdentitiesFragment extends QueueingCryptoOperationFragment<Save      public View onCreateView(LayoutInflater inflater, ViewGroup superContainer, Bundle savedInstanceState) {          View view = inflater.inflate(R.layout.edit_identities_fragment, null); -        mUserIdsList = (ListView) view.findViewById(R.id.edit_key_user_ids); -        mUserIdsAddedList = (ListView) view.findViewById(R.id.edit_key_user_ids_added); -        mAddUserId = view.findViewById(R.id.edit_key_action_add_user_id); +        mUserIdsList = (ListView) view.findViewById(R.id.edit_identities_user_ids); +        mUserIdsAddedList = (ListView) view.findViewById(R.id.edit_identities_user_ids_added); +        mAddUserId = view.findViewById(R.id.edit_identities_add_user_id);          return view;      } @@ -114,12 +113,7 @@ public class EditIdentitiesFragment extends QueueingCryptoOperationFragment<Save                  new OnClickListener() {                      @Override                      public void onClick(View v) { -                        // if we are working on an Uri, save directly -                        if (mDataUri == null) { -                            returnKeyringParcel(); -                        } else { -                            cryptoOperation(new CryptoInputParcel(new Date())); -                        } +                        cryptoOperation(new CryptoInputParcel(new Date()));                      }                  }, new OnClickListener() {                      @Override @@ -302,27 +296,11 @@ public class EditIdentitiesFragment extends QueueingCryptoOperationFragment<Save          // pre-fill out primary name          String predefinedName = KeyRing.splitUserId(mPrimaryUserId).name;          AddUserIdDialogFragment addUserIdDialog = AddUserIdDialogFragment.newInstance(messenger, -                predefinedName); +                predefinedName, false);          addUserIdDialog.show(getActivity().getSupportFragmentManager(), "addUserIdDialog");      } - -    protected void returnKeyringParcel() { -        if (mSaveKeyringParcel.mAddUserIds.size() == 0) { -            Notify.create(getActivity(), R.string.edit_key_error_add_identity, Notify.Style.ERROR).show(); -            return; -        } - -        // use first user id as primary -        mSaveKeyringParcel.mChangePrimaryUserId = mSaveKeyringParcel.mAddUserIds.get(0); - -        Intent returnIntent = new Intent(); -        returnIntent.putExtra(EditKeyActivity.EXTRA_SAVE_KEYRING_PARCEL, mSaveKeyringParcel); -        getActivity().setResult(Activity.RESULT_OK, returnIntent); -        getActivity().finish(); -    } -      /**       * Closes this activity, returning a result parcel with a single error log entry.       */ @@ -333,7 +311,7 @@ public class EditIdentitiesFragment extends QueueingCryptoOperationFragment<Save                  new SingletonResult(SingletonResult.RESULT_ERROR, reason));          // Finish with result -        getActivity().setResult(EditKeyActivity.RESULT_OK, intent); +        getActivity().setResult(Activity.RESULT_OK, intent);          getActivity().finish();      } @@ -351,7 +329,7 @@ public class EditIdentitiesFragment extends QueueingCryptoOperationFragment<Save          // if good -> finish, return result to showkey and display there!          Intent intent = new Intent();          intent.putExtra(OperationResult.EXTRA_RESULT, result); -        activity.setResult(EditKeyActivity.RESULT_OK, intent); +        activity.setResult(Activity.RESULT_OK, intent);          activity.finish();      } diff --git a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/EditKeyFragment.java b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/EditKeyFragment.java index 969a84f14..1c72cdf41 100644 --- a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/EditKeyFragment.java +++ b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/EditKeyFragment.java @@ -556,7 +556,7 @@ public class EditKeyFragment extends QueueingCryptoOperationFragment<SaveKeyring          // pre-fill out primary name          String predefinedName = KeyRing.splitUserId(mPrimaryUserId).name;          AddUserIdDialogFragment addUserIdDialog = AddUserIdDialogFragment.newInstance(messenger, -                predefinedName); +                predefinedName, true);          addUserIdDialog.show(getActivity().getSupportFragmentManager(), "addUserIdDialog");      } @@ -612,7 +612,7 @@ public class EditKeyFragment extends QueueingCryptoOperationFragment<SaveKeyring                  new SingletonResult(SingletonResult.RESULT_ERROR, reason));          // Finish with result -        getActivity().setResult(EditKeyActivity.RESULT_OK, intent); +        getActivity().setResult(Activity.RESULT_OK, intent);          getActivity().finish();      } @@ -630,7 +630,7 @@ public class EditKeyFragment extends QueueingCryptoOperationFragment<SaveKeyring          // if good -> finish, return result to showkey and display there!          Intent intent = new Intent();          intent.putExtra(OperationResult.EXTRA_RESULT, result); -        activity.setResult(EditKeyActivity.RESULT_OK, intent); +        activity.setResult(Activity.RESULT_OK, intent);          activity.finish();      } diff --git a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/ViewKeyAdvUserIdsFragment.java b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/ViewKeyAdvUserIdsFragment.java index ae1dd51d0..69ccab162 100644 --- a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/ViewKeyAdvUserIdsFragment.java +++ b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/ViewKeyAdvUserIdsFragment.java @@ -210,7 +210,8 @@ public class ViewKeyAdvUserIdsFragment extends LoaderFragment implements          Messenger messenger = new Messenger(returnHandler);          // pre-fill out primary name -        AddUserIdDialogFragment addUserIdDialog = AddUserIdDialogFragment.newInstance(messenger, ""); +        AddUserIdDialogFragment addUserIdDialog = +                AddUserIdDialogFragment.newInstance(messenger, "", true);          addUserIdDialog.show(getActivity().getSupportFragmentManager(), "addUserIdDialog");      } diff --git a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/ViewKeyFragment.java b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/ViewKeyFragment.java index 888cc32b8..b23287144 100644 --- a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/ViewKeyFragment.java +++ b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/ViewKeyFragment.java @@ -60,6 +60,7 @@ import android.widget.TextView;  import org.sufficientlysecure.keychain.Constants;  import org.sufficientlysecure.keychain.R;  import org.sufficientlysecure.keychain.compatibility.DialogFragmentWorkaround; +import org.sufficientlysecure.keychain.operations.results.OperationResult;  import org.sufficientlysecure.keychain.provider.KeychainContract;  import org.sufficientlysecure.keychain.ui.adapter.LinkedIdsAdapter;  import org.sufficientlysecure.keychain.ui.adapter.UserIdsAdapter; @@ -311,6 +312,17 @@ public class ViewKeyFragment extends LoaderFragment implements          loadData(dataUri);      } +    @Override +    public void onActivityResult(int requestCode, int resultCode, Intent data) { +        // if a result has been returned, display a notify +        if (data != null && data.hasExtra(OperationResult.EXTRA_RESULT)) { +            OperationResult result = data.getParcelableExtra(OperationResult.EXTRA_RESULT); +            result.createNotify(getActivity()).show(); +        } else { +            super.onActivityResult(requestCode, resultCode, data); +        } +    } +      // These are the rows that we will retrieve.      static final String[] UNIFIED_PROJECTION = new String[]{              KeychainContract.KeyRings._ID, diff --git a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/dialog/AddUserIdDialogFragment.java b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/dialog/AddUserIdDialogFragment.java index bc82feb70..4500ccd24 100644 --- a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/dialog/AddUserIdDialogFragment.java +++ b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/dialog/AddUserIdDialogFragment.java @@ -48,6 +48,7 @@ import org.sufficientlysecure.keychain.util.Log;  public class AddUserIdDialogFragment extends DialogFragment implements OnEditorActionListener {      private static final String ARG_MESSENGER = "messenger";      private static final String ARG_NAME = "name"; +    private static final String ARG_ALLOW_COMMENT = "allow_comment";      public static final int MESSAGE_OKAY = 1;      public static final int MESSAGE_CANCEL = 2; @@ -59,12 +60,14 @@ public class AddUserIdDialogFragment extends DialogFragment implements OnEditorA      private EmailEditText mEmail;      private EditText mComment; -    public static AddUserIdDialogFragment newInstance(Messenger messenger, String predefinedName) { +    public static AddUserIdDialogFragment newInstance(Messenger messenger, String predefinedName, +                                                      boolean allowComment) {          AddUserIdDialogFragment frag = new AddUserIdDialogFragment();          Bundle args = new Bundle();          args.putParcelable(ARG_MESSENGER, messenger);          args.putString(ARG_NAME, predefinedName); +        args.putBoolean(ARG_ALLOW_COMMENT, allowComment);          frag.setArguments(args);          return frag; @@ -78,6 +81,7 @@ public class AddUserIdDialogFragment extends DialogFragment implements OnEditorA          final Activity activity = getActivity();          mMessenger = getArguments().getParcelable(ARG_MESSENGER);          String predefinedName = getArguments().getString(ARG_NAME); +        boolean allowComment = getArguments().getBoolean(ARG_ALLOW_COMMENT);          CustomAlertDialogBuilder alert = new CustomAlertDialogBuilder(activity); @@ -91,6 +95,12 @@ public class AddUserIdDialogFragment extends DialogFragment implements OnEditorA          mEmail = (EmailEditText) view.findViewById(R.id.add_user_id_address);          mComment = (EditText) view.findViewById(R.id.add_user_id_comment); +        if (allowComment) { +            mComment.setVisibility(View.VISIBLE); +        } else { +            mComment.setVisibility(View.GONE); +        } +          mName.setText(predefinedName);          alert.setPositiveButton(android.R.string.ok, new OnClickListener() { diff --git a/OpenKeychain/src/main/res/layout/edit_identities_fragment.xml b/OpenKeychain/src/main/res/layout/edit_identities_fragment.xml index 7d8b9548f..e23ab7f81 100644 --- a/OpenKeychain/src/main/res/layout/edit_identities_fragment.xml +++ b/OpenKeychain/src/main/res/layout/edit_identities_fragment.xml @@ -1,77 +1,78 @@ -<ScrollView xmlns:android="http://schemas.android.com/apk/res/android" +<?xml version="1.0" encoding="utf-8"?> +<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"      xmlns:card_view="http://schemas.android.com/apk/res-auto" +    xmlns:tools="http://schemas.android.com/tools"      android:layout_width="match_parent" -    android:layout_height="match_parent"> +    android:layout_height="match_parent" +    tools:context=".ui.EditIdentitiesActivity"> -    <LinearLayout +    <ScrollView          android:layout_width="match_parent" -        android:layout_height="wrap_content" -        android:orientation="vertical" -        android:paddingBottom="16dp" -        android:paddingLeft="16dp" -        android:paddingRight="16dp" -        android:paddingTop="16dp"> - -        <android.support.v7.widget.CardView -            android:id="@+id/view_key_card_user_ids" +        android:layout_height="match_parent"> + +        <LinearLayout              android:layout_width="match_parent"              android:layout_height="wrap_content" -            android:layout_gravity="center" -            card_view:cardBackgroundColor="?attr/colorCardViewBackground" -            card_view:cardCornerRadius="4dp" -            card_view:cardElevation="2dp" -            card_view:cardUseCompatPadding="true"> +            android:orientation="vertical" +            android:paddingBottom="96dp" +            android:paddingLeft="16dp" +            android:paddingRight="16dp" +            android:paddingTop="16dp"> -            <LinearLayout +            <android.support.v7.widget.CardView +                android:id="@+id/edit_identities_user_ids_card"                  android:layout_width="match_parent"                  android:layout_height="wrap_content" -                android:orientation="vertical"> +                android:layout_gravity="center" +                card_view:cardBackgroundColor="?attr/colorCardViewBackground" +                card_view:cardCornerRadius="4dp" +                card_view:cardElevation="2dp" +                card_view:cardUseCompatPadding="true"> -                <TextView -                    style="@style/CardViewHeader" -                    android:layout_width="wrap_content" +                <LinearLayout +                    android:layout_width="match_parent"                      android:layout_height="wrap_content" -                    android:text="@string/section_linked_identities" /> +                    android:orientation="vertical"> -                <org.sufficientlysecure.keychain.ui.widget.FixedListView -                    android:id="@+id/edit_key_user_ids" -                    android:layout_width="match_parent" -                    android:layout_height="wrap_content" /> +                    <TextView +                        style="@style/CardViewHeader" +                        android:layout_width="wrap_content" +                        android:layout_height="wrap_content" +                        android:text="@string/section_user_ids" /> -                <View -                    android:layout_width="match_parent" -                    android:layout_height="1dip" -                    android:background="?android:attr/listDivider" /> +                    <org.sufficientlysecure.keychain.ui.widget.FixedListView +                        android:id="@+id/edit_identities_user_ids" +                        android:layout_width="match_parent" +                        android:layout_height="wrap_content" /> -                <org.sufficientlysecure.keychain.ui.widget.FixedListView -                    android:id="@+id/edit_key_user_ids_added" -                    android:layout_width="match_parent" -                    android:layout_height="wrap_content" /> +                    <View +                        android:layout_width="match_parent" +                        android:layout_height="1dip" +                        android:background="?android:attr/listDivider" /> -                <View -                    android:layout_width="match_parent" -                    android:layout_height="1dip" -                    android:background="?android:attr/listDivider" /> +                    <org.sufficientlysecure.keychain.ui.widget.FixedListView +                        android:id="@+id/edit_identities_user_ids_added" +                        android:layout_width="match_parent" +                        android:layout_height="wrap_content" /> -                <TextView -                    android:id="@+id/edit_key_action_add_user_id" -                    style="?android:attr/borderlessButtonStyle" -                    android:layout_width="match_parent" -                    android:layout_height="match_parent" -                    android:clickable="true" -                    android:drawablePadding="8dp" -                    android:drawableRight="@drawable/ic_person_add_grey_24dp" -                    android:gravity="center_vertical" -                    android:minHeight="?android:attr/listPreferredItemHeight" -                    android:paddingLeft="8dp" -                    android:paddingRight="8dp" -                    android:text="@string/edit_key_action_add_identity" -                    android:textAppearance="?android:attr/textAppearanceMedium" /> +                </LinearLayout> + +            </android.support.v7.widget.CardView> -            </LinearLayout> +        </LinearLayout> + +    </ScrollView> + +    <android.support.design.widget.FloatingActionButton +        android:id="@+id/edit_identities_add_user_id" +        android:layout_width="wrap_content" +        android:layout_height="wrap_content" +        android:layout_alignParentBottom="true" +        android:layout_alignParentRight="true" +        android:layout_marginBottom="24dp" +        android:layout_marginRight="24dp" +        android:src="@drawable/ic_add_white_24dp" /> -        </android.support.v7.widget.CardView> +</RelativeLayout> -    </LinearLayout> -</ScrollView>  | 
