diff options
Diffstat (limited to 'OpenKeychain/src/main/java/org')
6 files changed, 49 insertions, 45 deletions
| diff --git a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/AddKeysActivity.java b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/AddKeysActivity.java index fd013739e..427fc9315 100644 --- a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/AddKeysActivity.java +++ b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/AddKeysActivity.java @@ -73,7 +73,6 @@ public class AddKeysActivity extends ActionBarActivity implements      ImageView mActionSafeSlingerIcon;      View mActionQrCode;      View mActionNfc; -    View mActionSearchCloud;      ProviderHelper mProviderHelper; @@ -103,7 +102,6 @@ public class AddKeysActivity extends ActionBarActivity implements                  PorterDuff.Mode.SRC_IN);          mActionQrCode = findViewById(R.id.add_keys_qr_code);          mActionNfc = findViewById(R.id.add_keys_nfc); -        mActionSearchCloud = findViewById(R.id.add_keys_search_cloud);          mSafeSlingerKeySpinner.setOnKeyChangedListener(new KeySpinner.OnKeyChangedListener() {              @Override @@ -135,14 +133,6 @@ public class AddKeysActivity extends ActionBarActivity implements                  startActivityForResult(intent, REQUEST_CODE_RESULT);              }          }); - -        mActionSearchCloud.setOnClickListener(new View.OnClickListener() { -            @Override -            public void onClick(View v) { -                searchCloud(); -            } -        }); -      }      private void startExchange() { @@ -171,12 +161,6 @@ public class AddKeysActivity extends ActionBarActivity implements          new IntentIntegrator(this).initiateScan();      } -    private void searchCloud() { -        finish(); -        Intent importIntent = new Intent(this, ImportKeysActivity.class); -        startActivity(importIntent); -    } -      @Override      protected void onActivityResult(int requestCode, int resultCode, Intent data) {          switch (requestCode) { diff --git a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/ImportKeysActivity.java b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/ImportKeysActivity.java index 002f85e5d..f0bd2c76c 100644 --- a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/ImportKeysActivity.java +++ b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/ImportKeysActivity.java @@ -150,12 +150,13 @@ public class ImportKeysActivity extends ActionBarActivity {          }          Bundle serverBundle = null; -        int showTabOnly = ALL_TABS; +        int showTabOnly = TAB_CLOUD;          if (ACTION_IMPORT_KEY.equals(action)) {              /* Keychain's own Actions */              // display file fragment -            mViewPager.setCurrentItem(TAB_FILE); +            showTabOnly = TAB_FILE; +            mSwitchToTab = TAB_FILE;              if (dataUri != null) {                  // action: directly load data @@ -229,6 +230,7 @@ public class ImportKeysActivity extends ActionBarActivity {              }          } else if (ACTION_IMPORT_KEY_FROM_FILE.equals(action)) {              // NOTE: this only displays the appropriate fragment, no actions are taken +            showTabOnly = TAB_FILE;              mSwitchToTab = TAB_FILE;              // no immediate actions! @@ -243,14 +245,14 @@ public class ImportKeysActivity extends ActionBarActivity {              startListFragment(savedInstanceState, null, null, null);          } else if (ACTION_IMPORT_KEY_FROM_QR_CODE.equals(action)) {              // also exposed in AndroidManifest - +            showTabOnly = ALL_TABS;              // NOTE: this only displays the appropriate fragment, no actions are taken              mSwitchToTab = TAB_QR_CODE;              // no immediate actions!              startListFragment(savedInstanceState, null, null, null);          } else if (ACTION_IMPORT_KEY_FROM_NFC.equals(action)) { - +            showTabOnly = ALL_TABS;              // NOTE: this only displays the appropriate fragment, no actions are taken              mSwitchToTab = TAB_QR_CODE; @@ -334,32 +336,36 @@ public class ImportKeysActivity extends ActionBarActivity {          getSupportFragmentManager().executePendingTransactions();      } -    private String getFingerprintFromUri(Uri dataUri) { +    public static String getFingerprintFromUri(Uri dataUri) {          String fingerprint = dataUri.toString().split(":")[1].toLowerCase(Locale.ENGLISH);          Log.d(Constants.TAG, "fingerprint: " + fingerprint);          return fingerprint;      } -    public void loadFromFingerprintUri(Uri dataUri) { -        String query = "0x" + getFingerprintFromUri(dataUri); +    public void loadFromFingerprint(String fingerprint) { +//        String fingerprint = "0x" + getFingerprintFromUri(dataUri);          // setCurrentItem does not work directly after onResume (from qr code scanner)          // see http://stackoverflow.com/q/19316729          // so, reset adapter completely! -        if (mViewPager.getAdapter() != null) -            mViewPager.setAdapter(null); -        mViewPager.setAdapter(mTabsAdapter); -        mViewPager.setCurrentItem(TAB_CLOUD); - -        ImportKeysCloudFragment f = (ImportKeysCloudFragment) -                getActiveFragment(mViewPager, TAB_CLOUD); - -        // search config -        Preferences prefs = Preferences.getPreferences(ImportKeysActivity.this); -        Preferences.CloudSearchPrefs cloudPrefs = new Preferences.CloudSearchPrefs(true, true, prefs.getPreferredKeyserver()); - -        // search directly -        loadCallback(new ImportKeysListFragment.CloudLoaderState(query, cloudPrefs)); +//        if (mViewPager.getAdapter() != null) +//            mViewPager.setAdapter(null); +//        mViewPager.setAdapter(mTabsAdapter); +//        mViewPager.setCurrentItem(TAB_CLOUD); + +//        ImportKeysCloudFragment f = (ImportKeysCloudFragment) +//                getActiveFragment(mViewPager, TAB_CLOUD); + +        Intent searchIntent = new Intent(this, ImportKeysActivity.class); +        searchIntent.putExtra(ImportKeysActivity.EXTRA_FINGERPRINT, fingerprint); +        startActivity(searchIntent); + +//        // search config +//        Preferences prefs = Preferences.getPreferences(ImportKeysActivity.this); +//        Preferences.CloudSearchPrefs cloudPrefs = new Preferences.CloudSearchPrefs(true, true, prefs.getPreferredKeyserver()); +// +//        // search directly +//        loadCallback(new ImportKeysListFragment.CloudLoaderState(query, cloudPrefs));      }      // http://stackoverflow.com/a/9293207 diff --git a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/ImportKeysFileFragment.java b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/ImportKeysFileFragment.java index e5bad16ce..538fa16c7 100644 --- a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/ImportKeysFileFragment.java +++ b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/ImportKeysFileFragment.java @@ -31,8 +31,6 @@ import org.sufficientlysecure.keychain.R;  import org.sufficientlysecure.keychain.compatibility.ClipboardReflection;  import org.sufficientlysecure.keychain.util.FileHelper; -import java.util.Locale; -  public class ImportKeysFileFragment extends Fragment {      private ImportKeysActivity mImportActivity;      private View mBrowse; @@ -80,12 +78,8 @@ public class ImportKeysFileFragment extends Fragment {                  String sendText = "";                  if (clipboardText != null) {                      sendText = clipboardText.toString(); -                    if (sendText.toLowerCase(Locale.ENGLISH).startsWith(Constants.FINGERPRINT_SCHEME)) { -                        mImportActivity.loadFromFingerprintUri(Uri.parse(sendText)); -                        return; -                    } +                    mImportActivity.loadCallback(new ImportKeysListFragment.BytesLoaderState(sendText.getBytes(), null));                  } -                mImportActivity.loadCallback(new ImportKeysListFragment.BytesLoaderState(sendText.getBytes(), null));              }          }); diff --git a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/ImportKeysQrCodeFragment.java b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/ImportKeysQrCodeFragment.java index a52737979..fb4bbfac4 100644 --- a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/ImportKeysQrCodeFragment.java +++ b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/ImportKeysQrCodeFragment.java @@ -132,7 +132,7 @@ public class ImportKeysQrCodeFragment extends Fragment {      }      public void importFingerprint(Uri dataUri) { -        mImportActivity.loadFromFingerprintUri(dataUri); +        mImportActivity.loadFromFingerprint(ImportKeysActivity.getFingerprintFromUri(dataUri));      }  } diff --git a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/KeyListActivity.java b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/KeyListActivity.java index ce2aa8368..4419a8a64 100644 --- a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/KeyListActivity.java +++ b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/KeyListActivity.java @@ -87,6 +87,10 @@ public class KeyListActivity extends DrawerActivity {                  addKeys();                  return true; +            case R.id.menu_key_list_search_cloud: +                searchCloud(); +                return true; +              case R.id.menu_key_list_create:                  createKey();                  return true; @@ -144,6 +148,12 @@ public class KeyListActivity extends DrawerActivity {          startActivityForResult(intent, 0);      } +    private void searchCloud() { +        Intent importIntent = new Intent(this, ImportKeysActivity.class); +        importIntent.putExtra(ImportKeysActivity.EXTRA_QUERY, (String) null); // hack to show only cloud tab +        startActivity(importIntent); +    } +      private void createKey() {          Intent intent = new Intent(this, CreateKeyActivity.class);          startActivityForResult(intent, 0); diff --git a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/KeyListFragment.java b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/KeyListFragment.java index 9c261cc49..8c4278835 100644 --- a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/KeyListFragment.java +++ b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/KeyListFragment.java @@ -470,6 +470,11 @@ public class KeyListFragment extends LoaderFragment          MenuItemCompat.setOnActionExpandListener(searchItem, new MenuItemCompat.OnActionExpandListener() {              @Override              public boolean onMenuItemActionExpand(MenuItem item) { +                if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.HONEYCOMB) { +                    hideMenu = true; +                    getActivity().invalidateOptionsMenu(); +                } +                  // disable swipe-to-refresh                  // mSwipeRefreshLayout.setIsLocked(true);                  return true; @@ -479,6 +484,11 @@ public class KeyListFragment extends LoaderFragment              public boolean onMenuItemActionCollapse(MenuItem item) {                  mQuery = null;                  getLoaderManager().restartLoader(0, null, KeyListFragment.this); + +                if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.HONEYCOMB) { +                    hideMenu = false; +                    getActivity().invalidateOptionsMenu(); +                }                  // enable swipe-to-refresh                  // mSwipeRefreshLayout.setIsLocked(false);                  return true; | 
