mirror of
https://github.com/moparisthebest/open-keychain
synced 2024-11-24 01:32:16 -05:00
Cleanup SelectSecretKeyActivity and also return Uri
This commit is contained in:
parent
38ffa66682
commit
9d60224980
@ -1,36 +1,32 @@
|
|||||||
/*
|
/*
|
||||||
* Copyright (C) 2012 Dominik Schürmann <dominik@dominikschuermann.de>
|
* Copyright (C) 2012-2014 Dominik Schürmann <dominik@dominikschuermann.de>
|
||||||
* Copyright (C) 2010 Thialfihar <thi@thialfihar.org>
|
|
||||||
*
|
*
|
||||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
* This program is free software: you can redistribute it and/or modify
|
||||||
* you may not use this file except in compliance with the License.
|
* it under the terms of the GNU General Public License as published by
|
||||||
* You may obtain a copy of the License at
|
* the Free Software Foundation, either version 3 of the License, or
|
||||||
|
* (at your option) any later version.
|
||||||
*
|
*
|
||||||
* http://www.apache.org/licenses/LICENSE-2.0
|
* This program is distributed in the hope that it will be useful,
|
||||||
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
* GNU General Public License for more details.
|
||||||
*
|
*
|
||||||
* Unless required by applicable law or agreed to in writing, software
|
* You should have received a copy of the GNU General Public License
|
||||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
||||||
* See the License for the specific language governing permissions and
|
|
||||||
* limitations under the License.
|
|
||||||
*/
|
*/
|
||||||
|
|
||||||
package org.sufficientlysecure.keychain.ui;
|
package org.sufficientlysecure.keychain.ui;
|
||||||
|
|
||||||
import android.content.Intent;
|
import android.content.Intent;
|
||||||
|
import android.net.Uri;
|
||||||
import android.os.Bundle;
|
import android.os.Bundle;
|
||||||
import android.support.v7.app.ActionBar;
|
import android.support.v7.app.ActionBar;
|
||||||
import android.support.v7.app.ActionBarActivity;
|
import android.support.v7.app.ActionBarActivity;
|
||||||
import android.view.Menu;
|
|
||||||
import org.sufficientlysecure.keychain.Constants;
|
|
||||||
import org.sufficientlysecure.keychain.R;
|
import org.sufficientlysecure.keychain.R;
|
||||||
|
|
||||||
public class SelectSecretKeyActivity extends ActionBarActivity {
|
public class SelectSecretKeyActivity extends ActionBarActivity {
|
||||||
|
|
||||||
// Actions for internal use only:
|
|
||||||
public static final String ACTION_SELECT_SECRET_KEY = Constants.INTENT_PREFIX
|
|
||||||
+ "SELECT_SECRET_KEYRING";
|
|
||||||
|
|
||||||
public static final String EXTRA_FILTER_CERTIFY = "filter_certify";
|
public static final String EXTRA_FILTER_CERTIFY = "filter_certify";
|
||||||
|
|
||||||
public static final String RESULT_EXTRA_MASTER_KEY_ID = "master_key_id";
|
public static final String RESULT_EXTRA_MASTER_KEY_ID = "master_key_id";
|
||||||
@ -50,23 +46,8 @@ public class SelectSecretKeyActivity extends ActionBarActivity {
|
|||||||
actionBar.setDisplayHomeAsUpEnabled(false);
|
actionBar.setDisplayHomeAsUpEnabled(false);
|
||||||
actionBar.setHomeButtonEnabled(false);
|
actionBar.setHomeButtonEnabled(false);
|
||||||
|
|
||||||
setDefaultKeyMode(DEFAULT_KEYS_SEARCH_LOCAL);
|
|
||||||
|
|
||||||
// TODO: reimplement!
|
|
||||||
// mFilterLayout = findViewById(R.id.layout_filter);
|
|
||||||
// mFilterInfo = (TextView) mFilterLayout.findViewById(R.id.filterInfo);
|
|
||||||
// mClearFilterButton = (Button) mFilterLayout.findViewById(R.id.btn_clear);
|
|
||||||
//
|
|
||||||
// mClearFilterButton.setOnClickListener(new OnClickListener() {
|
|
||||||
// public void onClick(View v) {
|
|
||||||
// handleIntent(new Intent());
|
|
||||||
// }
|
|
||||||
// });
|
|
||||||
|
|
||||||
mFilterCertify = getIntent().getBooleanExtra(EXTRA_FILTER_CERTIFY, false);
|
mFilterCertify = getIntent().getBooleanExtra(EXTRA_FILTER_CERTIFY, false);
|
||||||
|
|
||||||
handleIntent(getIntent());
|
|
||||||
|
|
||||||
// Check that the activity is using the layout version with
|
// Check that the activity is using the layout version with
|
||||||
// the fragment_container FrameLayout
|
// the fragment_container FrameLayout
|
||||||
if (findViewById(R.id.select_secret_key_fragment_container) != null) {
|
if (findViewById(R.id.select_secret_key_fragment_container) != null) {
|
||||||
@ -90,48 +71,18 @@ public class SelectSecretKeyActivity extends ActionBarActivity {
|
|||||||
/**
|
/**
|
||||||
* This is executed by SelectSecretKeyFragment after clicking on an item
|
* This is executed by SelectSecretKeyFragment after clicking on an item
|
||||||
*
|
*
|
||||||
* @param masterKeyId
|
* @param selectedUri
|
||||||
* @param userId
|
|
||||||
*/
|
*/
|
||||||
public void afterListSelection(long masterKeyId, String userId) {
|
public void afterListSelection(Uri selectedUri) {
|
||||||
Intent data = new Intent();
|
Intent data = new Intent();
|
||||||
|
data.setData(selectedUri);
|
||||||
|
|
||||||
|
// TODO: deprecate RESULT_EXTRA_MASTER_KEY_ID!
|
||||||
|
long masterKeyId = Long.valueOf(selectedUri.getLastPathSegment());
|
||||||
data.putExtra(RESULT_EXTRA_MASTER_KEY_ID, masterKeyId);
|
data.putExtra(RESULT_EXTRA_MASTER_KEY_ID, masterKeyId);
|
||||||
data.putExtra(RESULT_EXTRA_USER_ID, (String) userId);
|
|
||||||
setResult(RESULT_OK, data);
|
setResult(RESULT_OK, data);
|
||||||
finish();
|
finish();
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
|
||||||
protected void onNewIntent(Intent intent) {
|
|
||||||
super.onNewIntent(intent);
|
|
||||||
handleIntent(intent);
|
|
||||||
}
|
|
||||||
|
|
||||||
private void handleIntent(Intent intent) {
|
|
||||||
// TODO: reimplement!
|
|
||||||
|
|
||||||
// String searchString = null;
|
|
||||||
// if (Intent.ACTION_SEARCH.equals(intent.getAction())) {
|
|
||||||
// searchString = intent.getStringExtra(SearchManager.QUERY);
|
|
||||||
// if (searchString != null && searchString.trim().length() == 0) {
|
|
||||||
// searchString = null;
|
|
||||||
// }
|
|
||||||
// }
|
|
||||||
|
|
||||||
// if (searchString == null) {
|
|
||||||
// mFilterLayout.setVisibility(View.GONE);
|
|
||||||
// } else {
|
|
||||||
// mFilterLayout.setVisibility(View.VISIBLE);
|
|
||||||
// mFilterInfo.setText(getString(R.string.filterInfo, searchString));
|
|
||||||
// }
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public boolean onCreateOptionsMenu(Menu menu) {
|
|
||||||
// TODO: reimplement!
|
|
||||||
// menu.add(0, Id.menu.option.search, 0, R.string.menu_search).setIcon(
|
|
||||||
// android.R.drawable.ic_menu_search);
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
/*
|
/*
|
||||||
* Copyright (C) 2012-2013 Dominik Schürmann <dominik@dominikschuermann.de>
|
* Copyright (C) 2012-2014 Dominik Schürmann <dominik@dominikschuermann.de>
|
||||||
* Copyright (C) 2010 Thialfihar <thi@thialfihar.org>
|
* Copyright (C) 2010 Thialfihar <thi@thialfihar.org>
|
||||||
*
|
*
|
||||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
@ -28,6 +28,7 @@ import android.view.View;
|
|||||||
import android.widget.AdapterView;
|
import android.widget.AdapterView;
|
||||||
import android.widget.AdapterView.OnItemClickListener;
|
import android.widget.AdapterView.OnItemClickListener;
|
||||||
import android.widget.ListView;
|
import android.widget.ListView;
|
||||||
|
|
||||||
import org.sufficientlysecure.keychain.Id;
|
import org.sufficientlysecure.keychain.Id;
|
||||||
import org.sufficientlysecure.keychain.R;
|
import org.sufficientlysecure.keychain.R;
|
||||||
import org.sufficientlysecure.keychain.provider.KeychainContract.KeyRings;
|
import org.sufficientlysecure.keychain.provider.KeychainContract.KeyRings;
|
||||||
@ -55,10 +56,9 @@ public class SelectSecretKeyFragment extends ListFragment implements
|
|||||||
*/
|
*/
|
||||||
public static SelectSecretKeyFragment newInstance(boolean filterCertify) {
|
public static SelectSecretKeyFragment newInstance(boolean filterCertify) {
|
||||||
SelectSecretKeyFragment frag = new SelectSecretKeyFragment();
|
SelectSecretKeyFragment frag = new SelectSecretKeyFragment();
|
||||||
|
|
||||||
Bundle args = new Bundle();
|
Bundle args = new Bundle();
|
||||||
|
|
||||||
args.putBoolean(ARG_FILTER_CERTIFY, filterCertify);
|
args.putBoolean(ARG_FILTER_CERTIFY, filterCertify);
|
||||||
|
|
||||||
frag.setArguments(args);
|
frag.setArguments(args);
|
||||||
|
|
||||||
return frag;
|
return frag;
|
||||||
@ -85,10 +85,10 @@ public class SelectSecretKeyFragment extends ListFragment implements
|
|||||||
@Override
|
@Override
|
||||||
public void onItemClick(AdapterView<?> adapterView, View view, int position, long id) {
|
public void onItemClick(AdapterView<?> adapterView, View view, int position, long id) {
|
||||||
long masterKeyId = mAdapter.getMasterKeyId(position);
|
long masterKeyId = mAdapter.getMasterKeyId(position);
|
||||||
String userId = mAdapter.getUserId(position);
|
Uri result = KeyRings.buildSecretKeyRingsByMasterKeyIdUri(String.valueOf(masterKeyId));
|
||||||
|
|
||||||
// return data to activity, which results in finishing it
|
// return data to activity, which results in finishing it
|
||||||
mActivity.afterListSelection(masterKeyId, userId);
|
mActivity.afterListSelection(result);
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
@ -141,7 +141,7 @@ public class SelectSecretKeyFragment extends ListFragment implements
|
|||||||
+ Keys.IS_REVOKED + " = '0' AND valid_keys." + Keys.CAN_SIGN
|
+ Keys.IS_REVOKED + " = '0' AND valid_keys." + Keys.CAN_SIGN
|
||||||
+ " = '1' AND valid_keys." + Keys.CREATION + " <= '" + now + "' AND "
|
+ " = '1' AND valid_keys." + Keys.CREATION + " <= '" + now + "' AND "
|
||||||
+ "(valid_keys." + Keys.EXPIRY + " IS NULL OR valid_keys." + Keys.EXPIRY
|
+ "(valid_keys." + Keys.EXPIRY + " IS NULL OR valid_keys." + Keys.EXPIRY
|
||||||
+ " >= '" + now + "')) AS " + SelectKeyCursorAdapter.PROJECTION_ROW_VALID, };
|
+ " >= '" + now + "')) AS " + SelectKeyCursorAdapter.PROJECTION_ROW_VALID,};
|
||||||
|
|
||||||
String orderBy = UserIds.USER_ID + " ASC";
|
String orderBy = UserIds.USER_ID + " ASC";
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user