inline subkey editing, fixed

This commit is contained in:
Vincent Breitmoser
2015-11-15 20:19:24 +01:00
committed by Dominik Schürmann
parent 00e97586b0
commit 69220cb4c0
4 changed files with 22 additions and 10 deletions

View File

@@ -125,6 +125,7 @@ public class ViewKeyAdvActivity extends BaseActivity implements
Bundle keysBundle = new Bundle();
keysBundle.putParcelable(ViewKeyAdvSubkeysFragment.ARG_DATA_URI, dataUri);
keysBundle.putBoolean(ViewKeyAdvSubkeysFragment.ARG_HAS_SECRET, hasSecret);
adapter.addTab(ViewKeyAdvSubkeysFragment.class,
keysBundle, getString(R.string.key_view_tab_keys));

View File

@@ -47,7 +47,6 @@ import org.sufficientlysecure.keychain.service.SaveKeyringParcel;
import org.sufficientlysecure.keychain.service.SaveKeyringParcel.SubkeyChange;
import org.sufficientlysecure.keychain.ui.adapter.SubkeysAdapter;
import org.sufficientlysecure.keychain.ui.adapter.SubkeysAddedAdapter;
import org.sufficientlysecure.keychain.ui.adapter.UserIdsAddedAdapter;
import org.sufficientlysecure.keychain.ui.dialog.AddSubkeyDialogFragment;
import org.sufficientlysecure.keychain.ui.dialog.EditSubkeyDialogFragment;
import org.sufficientlysecure.keychain.ui.dialog.EditSubkeyExpiryDialogFragment;
@@ -58,6 +57,8 @@ public class ViewKeyAdvSubkeysFragment extends LoaderFragment implements
LoaderManager.LoaderCallbacks<Cursor> {
public static final String ARG_DATA_URI = "data_uri";
public static final String ARG_HAS_SECRET = "has_secret";
public static final int LOADER_ID_SUBKEYS = 0;
private ListView mSubkeysList;
@@ -76,11 +77,12 @@ public class ViewKeyAdvSubkeysFragment extends LoaderFragment implements
/**
* Creates new instance of this fragment
*/
public static ViewKeyAdvSubkeysFragment newInstance(Uri dataUri) {
public static ViewKeyAdvSubkeysFragment newInstance(Uri dataUri, boolean hasSecret) {
ViewKeyAdvSubkeysFragment frag = new ViewKeyAdvSubkeysFragment();
Bundle args = new Bundle();
args.putParcelable(ARG_DATA_URI, dataUri);
args.putBoolean(ARG_HAS_SECRET, hasSecret);
frag.setArguments(args);
return frag;
@@ -91,11 +93,9 @@ public class ViewKeyAdvSubkeysFragment extends LoaderFragment implements
View root = super.onCreateView(inflater, superContainer, savedInstanceState);
View view = inflater.inflate(R.layout.view_key_adv_subkeys_fragment, getContainer());
mSubkeysList = (ListView) view.findViewById(R.id.keys);
mSubkeysList = (ListView) view.findViewById(R.id.view_key_user_ids);
mSubkeysAddedList = (ListView) view.findViewById(R.id.view_key_user_ids_added);
mSubkeysAddedLayout = view.findViewById(R.id.view_key_user_ids_add_layout);
mSubkeysList = (ListView) view.findViewById(R.id.view_key_subkeys);
mSubkeysAddedList = (ListView) view.findViewById(R.id.view_key_subkeys_added);
mSubkeysAddedLayout = view.findViewById(R.id.view_key_subkeys_add_layout);
mSubkeysList.setOnItemClickListener(new AdapterView.OnItemClickListener() {
@Override
@@ -136,6 +136,9 @@ public class ViewKeyAdvSubkeysFragment extends LoaderFragment implements
getActivity().finish();
return;
}
mHasSecret = getArguments().getBoolean(ARG_HAS_SECRET);
setHasOptionsMenu(true);
loadData(dataUri);
}
@@ -226,6 +229,14 @@ public class ViewKeyAdvSubkeysFragment extends LoaderFragment implements
});
}
@Override
public void onCreateOptionsMenu(Menu menu, MenuInflater inflater) {
super.onCreateOptionsMenu(menu, inflater);
inflater.inflate(R.menu.edit_subkeys, menu);
final MenuItem vEditSubkeys = menu.findItem(R.id.menu_edit_subkeys);
vEditSubkeys.setVisible(mHasSecret);
}
@Override
public boolean onOptionsItemSelected(MenuItem item) {
switch (item.getItemId()) {

View File

@@ -218,6 +218,8 @@ public class ViewKeyAdvUserIdsFragment extends LoaderFragment implements
}
boolean hasSecret = getArguments().getBoolean(ARG_HAS_SECRET);
setHasOptionsMenu(true);
loadData(dataUri, hasSecret);
}
@@ -230,8 +232,6 @@ public class ViewKeyAdvUserIdsFragment extends LoaderFragment implements
mUserIdsAdapter = new UserIdsAdapter(getActivity(), null, 0);
mUserIds.setAdapter(mUserIdsAdapter);
setHasOptionsMenu(hasSecret);
// Prepare the loaders. Either re-connect with an existing ones,
// or start new ones.
getLoaderManager().initLoader(LOADER_ID_USER_IDS, null, this);

View File

@@ -28,7 +28,7 @@ xmlns:tools="http://schemas.android.com/tools">
android:layout_weight="1" />
<org.sufficientlysecure.keychain.ui.widget.FixedListView
android:id="@+id/keys"
android:id="@+id/view_key_subkeys"
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_marginBottom="4dp"