mirror of
https://github.com/moparisthebest/open-keychain
synced 2025-02-23 14:41:54 -05:00
fix transition animation
This commit is contained in:
parent
08fd2a2de3
commit
138773798a
@ -24,9 +24,8 @@ import android.database.Cursor;
|
||||
import android.net.Uri;
|
||||
import android.os.Build;
|
||||
import android.os.Bundle;
|
||||
import android.support.v4.app.Fragment;
|
||||
import android.os.Handler;
|
||||
import android.support.v4.app.LoaderManager;
|
||||
import android.support.v4.content.CursorLoader;
|
||||
import android.support.v4.content.Loader;
|
||||
import android.support.v7.widget.CardView;
|
||||
import android.transition.Fade;
|
||||
@ -42,10 +41,11 @@ import android.widget.ListView;
|
||||
import org.sufficientlysecure.keychain.Constants;
|
||||
import org.sufficientlysecure.keychain.R;
|
||||
import org.sufficientlysecure.keychain.compatibility.DialogFragmentWorkaround;
|
||||
import org.sufficientlysecure.keychain.provider.KeychainContract;
|
||||
import org.sufficientlysecure.keychain.ui.adapter.LinkedIdsAdapter;
|
||||
import org.sufficientlysecure.keychain.ui.adapter.UserIdsAdapter;
|
||||
import org.sufficientlysecure.keychain.ui.dialog.UserIdInfoDialogFragment;
|
||||
import org.sufficientlysecure.keychain.ui.linked.LinkedIdViewFragment;
|
||||
import org.sufficientlysecure.keychain.ui.linked.LinkedIdViewFragment.OnIdentityLoadedListener;
|
||||
import org.sufficientlysecure.keychain.util.Log;
|
||||
|
||||
public class ViewKeyFragment extends LoaderFragment implements
|
||||
@ -129,7 +129,7 @@ public class ViewKeyFragment extends LoaderFragment implements
|
||||
}
|
||||
|
||||
private void showLinkedId(final int position) {
|
||||
Fragment frag;
|
||||
final LinkedIdViewFragment frag;
|
||||
try {
|
||||
frag = mLinkedIdsAdapter.getLinkedIdFragment(mDataUri, position, mFingerprint);
|
||||
} catch (IOException e) {
|
||||
@ -146,10 +146,27 @@ public class ViewKeyFragment extends LoaderFragment implements
|
||||
}
|
||||
|
||||
getFragmentManager().beginTransaction()
|
||||
.replace(R.id.view_key_fragment, frag)
|
||||
.addSharedElement(mLinkedIdsCard, "card_linked_ids")
|
||||
.addToBackStack("linked_id")
|
||||
.add(R.id.view_key_fragment, frag)
|
||||
.hide(frag)
|
||||
.commit();
|
||||
|
||||
frag.setOnIdentityLoadedListener(new OnIdentityLoadedListener() {
|
||||
@Override
|
||||
public void onIdentityLoaded() {
|
||||
new Handler().post(new Runnable() {
|
||||
@Override
|
||||
public void run() {
|
||||
getFragmentManager().beginTransaction()
|
||||
.show(frag)
|
||||
.addSharedElement(mLinkedIdsCard, "card_linked_ids")
|
||||
.remove(ViewKeyFragment.this)
|
||||
.addToBackStack("linked_id")
|
||||
.commit();
|
||||
}
|
||||
});
|
||||
}
|
||||
});
|
||||
|
||||
}
|
||||
|
||||
private void showUserIdInfo(final int position) {
|
||||
|
@ -126,7 +126,7 @@ public class LinkedIdsAdapter extends UserAttributesAdapter {
|
||||
UserIdsAdapter.USER_PACKETS_PROJECTION, LINKED_IDS_WHERE, null, null);
|
||||
}
|
||||
|
||||
public Fragment getLinkedIdFragment(Uri baseUri,
|
||||
public LinkedIdViewFragment getLinkedIdFragment(Uri baseUri,
|
||||
int position, byte[] fingerprint) throws IOException {
|
||||
|
||||
Cursor c = getCursor();
|
||||
|
@ -79,8 +79,9 @@ public class LinkedIdViewFragment extends Fragment implements
|
||||
private ViewHolder mViewHolder;
|
||||
private View mCurrentCert;
|
||||
private int mLidRank;
|
||||
private OnIdentityLoadedListener mIdLoadedListener;
|
||||
|
||||
public static Fragment newInstance(Uri dataUri, int rank,
|
||||
public static LinkedIdViewFragment newInstance(Uri dataUri, int rank,
|
||||
boolean showCertified, byte[] fingerprint) throws IOException {
|
||||
LinkedIdViewFragment frag = new LinkedIdViewFragment();
|
||||
|
||||
@ -149,6 +150,12 @@ public class LinkedIdViewFragment extends Fragment implements
|
||||
RawLinkedIdentity linkedId = LinkedIdentity.fromAttributeData(data);
|
||||
|
||||
loadIdentity(linkedId, certStatus);
|
||||
|
||||
if (mIdLoadedListener != null) {
|
||||
mIdLoadedListener.onIdentityLoaded();
|
||||
mIdLoadedListener = null;
|
||||
}
|
||||
|
||||
} catch (IOException e) {
|
||||
e.printStackTrace();
|
||||
throw new AssertionError("reconstruction of user attribute must succeed!");
|
||||
@ -162,6 +169,14 @@ public class LinkedIdViewFragment extends Fragment implements
|
||||
}
|
||||
}
|
||||
|
||||
public interface OnIdentityLoadedListener {
|
||||
public void onIdentityLoaded();
|
||||
}
|
||||
|
||||
public void setOnIdentityLoadedListener(OnIdentityLoadedListener listener) {
|
||||
mIdLoadedListener = listener;
|
||||
}
|
||||
|
||||
private void loadIdentity(RawLinkedIdentity linkedId, int certStatus) {
|
||||
mLinkedId = linkedId;
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user