mirror of
https://github.com/moparisthebest/open-keychain
synced 2025-02-23 06:12:20 -05:00
support backstack for verification
This commit is contained in:
parent
ebf3596341
commit
6df9387c2c
@ -14,6 +14,8 @@ import android.os.Bundle;
|
||||
import android.os.Message;
|
||||
import android.os.Messenger;
|
||||
import android.support.v4.app.Fragment;
|
||||
import android.support.v4.app.FragmentManager;
|
||||
import android.support.v4.app.FragmentManager.OnBackStackChangedListener;
|
||||
import android.support.v4.app.LoaderManager;
|
||||
import android.support.v4.content.CursorLoader;
|
||||
import android.support.v4.content.Loader;
|
||||
@ -52,7 +54,7 @@ import org.sufficientlysecure.keychain.util.Log;
|
||||
|
||||
|
||||
public class LinkedIdViewFragment extends Fragment implements
|
||||
LoaderManager.LoaderCallbacks<Cursor> {
|
||||
LoaderManager.LoaderCallbacks<Cursor>, OnBackStackChangedListener {
|
||||
|
||||
public static final int REQUEST_CODE_PASSPHRASE = 0x00008001;
|
||||
|
||||
@ -155,6 +157,12 @@ public class LinkedIdViewFragment extends Fragment implements
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onBackStackChanged() {
|
||||
mViewHolder.setShowVerifying(false);
|
||||
getFragmentManager().removeOnBackStackChangedListener(LinkedIdViewFragment.this);
|
||||
}
|
||||
|
||||
public interface OnIdentityLoadedListener {
|
||||
public void onIdentityLoaded();
|
||||
}
|
||||
@ -239,7 +247,7 @@ public class LinkedIdViewFragment extends Fragment implements
|
||||
private final ViewAnimator vVerifyingContainer;
|
||||
LinkedIdsAdapter.ViewHolder mLinkedIdHolder;
|
||||
|
||||
private ViewAnimator mButtonSwitcher;
|
||||
private ViewAnimator vButtonSwitcher;
|
||||
private CertListWidget vLinkedCerts;
|
||||
private CertifyKeySpinner vKeySpinner;
|
||||
private final View vButtonVerify;
|
||||
@ -254,7 +262,7 @@ public class LinkedIdViewFragment extends Fragment implements
|
||||
ViewHolder(View root) {
|
||||
vLinkedCerts = (CertListWidget) root.findViewById(R.id.linked_id_certs);
|
||||
vKeySpinner = (CertifyKeySpinner) root.findViewById(R.id.cert_key_spinner);
|
||||
mButtonSwitcher = (ViewAnimator) root.findViewById(R.id.button_animator);
|
||||
vButtonSwitcher = (ViewAnimator) root.findViewById(R.id.button_animator);
|
||||
|
||||
mLinkedIdHolder = new LinkedIdsAdapter.ViewHolder(root);
|
||||
|
||||
@ -278,6 +286,7 @@ public class LinkedIdViewFragment extends Fragment implements
|
||||
}
|
||||
if (!show) {
|
||||
vKeySpinner.setVisibility(View.GONE);
|
||||
showButton(0);
|
||||
}
|
||||
}
|
||||
|
||||
@ -285,6 +294,13 @@ public class LinkedIdViewFragment extends Fragment implements
|
||||
vProgress.setDisplayedChild(show ? 0 : 1);
|
||||
}
|
||||
|
||||
void showButton(int which) {
|
||||
if (vButtonSwitcher.getDisplayedChild() == which) {
|
||||
return;
|
||||
}
|
||||
vButtonSwitcher.setDisplayedChild(which);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
@ -324,13 +340,6 @@ public class LinkedIdViewFragment extends Fragment implements
|
||||
return root;
|
||||
}
|
||||
|
||||
void showButton(int which) {
|
||||
if (mViewHolder.mButtonSwitcher.getDisplayedChild() == which) {
|
||||
return;
|
||||
}
|
||||
mViewHolder.mButtonSwitcher.setDisplayedChild(which);
|
||||
}
|
||||
|
||||
void verifyResource() {
|
||||
|
||||
// only one at a time
|
||||
@ -341,6 +350,11 @@ public class LinkedIdViewFragment extends Fragment implements
|
||||
mInProgress = true;
|
||||
}
|
||||
|
||||
FragmentManager manager = getFragmentManager();
|
||||
manager.beginTransaction().addToBackStack("verification").commit();
|
||||
manager.executePendingTransactions();
|
||||
manager.addOnBackStackChangedListener(this);
|
||||
|
||||
mViewHolder.setShowVerifying(true);
|
||||
|
||||
mViewHolder.vKeySpinner.setVisibility(View.GONE);
|
||||
@ -371,7 +385,7 @@ public class LinkedIdViewFragment extends Fragment implements
|
||||
mViewHolder.vText.setText("Ok");
|
||||
setupForConfirmation();
|
||||
} else {
|
||||
showButton(1);
|
||||
mViewHolder.showButton(1);
|
||||
mViewHolder.vText.setText("Error");
|
||||
}
|
||||
mInProgress = false;
|
||||
@ -383,7 +397,7 @@ public class LinkedIdViewFragment extends Fragment implements
|
||||
void setupForConfirmation() {
|
||||
|
||||
// button is 'confirm'
|
||||
showButton(2);
|
||||
mViewHolder.showButton(2);
|
||||
|
||||
mViewHolder.vKeySpinner.setVisibility(View.VISIBLE);
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user