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