diff options
author | Dominik Schürmann <dominik@dominikschuermann.de> | 2013-09-08 16:08:36 +0200 |
---|---|---|
committer | Dominik Schürmann <dominik@dominikschuermann.de> | 2013-09-08 16:08:36 +0200 |
commit | 6fdae001cc5ee742cceaeea82c75f0e314a3449f (patch) | |
tree | c95c7fc90a1f542d97afb1d69a13dd8688a6d01e /OpenPGP-Keychain/src/org/sufficientlysecure/keychain/ui/SelectPublicKeyActivity.java | |
parent | a890ba5e4f33e5ac5c58d96a7ea04030fd763a0e (diff) | |
download | open-keychain-6fdae001cc5ee742cceaeea82c75f0e314a3449f.tar.gz open-keychain-6fdae001cc5ee742cceaeea82c75f0e314a3449f.tar.bz2 open-keychain-6fdae001cc5ee742cceaeea82c75f0e314a3449f.zip |
Make select fragments more reusable
Diffstat (limited to 'OpenPGP-Keychain/src/org/sufficientlysecure/keychain/ui/SelectPublicKeyActivity.java')
-rw-r--r-- | OpenPGP-Keychain/src/org/sufficientlysecure/keychain/ui/SelectPublicKeyActivity.java | 34 |
1 files changed, 21 insertions, 13 deletions
diff --git a/OpenPGP-Keychain/src/org/sufficientlysecure/keychain/ui/SelectPublicKeyActivity.java b/OpenPGP-Keychain/src/org/sufficientlysecure/keychain/ui/SelectPublicKeyActivity.java index f7874b5c4..509d6d7eb 100644 --- a/OpenPGP-Keychain/src/org/sufficientlysecure/keychain/ui/SelectPublicKeyActivity.java +++ b/OpenPGP-Keychain/src/org/sufficientlysecure/keychain/ui/SelectPublicKeyActivity.java @@ -66,8 +66,26 @@ public class SelectPublicKeyActivity extends SherlockFragmentActivity { setDefaultKeyMode(DEFAULT_KEYS_SEARCH_LOCAL); - mSelectFragment = (SelectPublicKeyFragment) getSupportFragmentManager().findFragmentById( - R.id.select_public_key_fragment); + handleIntent(getIntent()); + + // Check that the activity is using the layout version with + // the fragment_container FrameLayout + if (findViewById(R.id.select_public_key_fragment_container) != null) { + + // However, if we're being restored from a previous state, + // then we don't need to do anything and should return or else + // we could end up with overlapping fragments. + if (savedInstanceState != null) { + return; + } + + // Create an instance of the fragment + mSelectFragment = SelectPublicKeyFragment.newInstance(selectedMasterKeyIds); + + // Add the fragment to the 'fragment_container' FrameLayout + getSupportFragmentManager().beginTransaction() + .add(R.id.select_public_key_fragment_container, mSelectFragment).commit(); + } // TODO: reimplement! // mFilterLayout = findViewById(R.id.layout_filter); @@ -80,7 +98,6 @@ public class SelectPublicKeyActivity extends SherlockFragmentActivity { // } // }); - handleIntent(getIntent()); } @Override @@ -90,7 +107,7 @@ public class SelectPublicKeyActivity extends SherlockFragmentActivity { } private void handleIntent(Intent intent) { - // TODO: reimplement! + // TODO: reimplement search! // String searchString = null; // if (Intent.ACTION_SEARCH.equals(intent.getAction())) { @@ -111,15 +128,6 @@ public class SelectPublicKeyActivity extends SherlockFragmentActivity { selectedMasterKeyIds = intent.getLongArrayExtra(EXTRA_SELECTED_MASTER_KEY_IDS); } - /** - * returns preselected key ids, this is used in the fragment - * - * @return - */ - public long[] getSelectedMasterKeyIds() { - return selectedMasterKeyIds; - } - private void cancelClicked() { setResult(RESULT_CANCELED, null); finish(); |