ImportKeys: Refactoring

Move loader related class to a separate package
This commit is contained in:
Andrea Torlaschi
2016-06-17 21:36:21 +02:00
parent 96f405f5ee
commit a0f371af41
11 changed files with 56 additions and 44 deletions

View File

@@ -44,6 +44,7 @@ import org.sufficientlysecure.keychain.service.input.RequiredInputParcel;
import org.sufficientlysecure.keychain.ui.CreateKeyActivity.FragAction;
import org.sufficientlysecure.keychain.ui.CreateKeyActivity.SecurityTokenListenerFragment;
import org.sufficientlysecure.keychain.ui.base.QueueingCryptoOperationFragment;
import org.sufficientlysecure.keychain.ui.loader.CloudLoaderState;
import org.sufficientlysecure.keychain.ui.util.KeyFormattingUtils;
import org.sufficientlysecure.keychain.util.Preferences;
@@ -210,7 +211,7 @@ public class CreateSecurityTokenImportResetFragment
}
public void refreshSearch() {
mListFragment.loadNew(new ImportKeysListFragment.CloudLoaderState("0x" + mTokenFingerprint,
mListFragment.loadNew(new CloudLoaderState("0x" + mTokenFingerprint,
Preferences.getPreferences(getActivity()).getCloudSearchPrefs()));
}

View File

@@ -37,6 +37,9 @@ import org.sufficientlysecure.keychain.operations.results.ImportKeyResult;
import org.sufficientlysecure.keychain.service.ImportKeyringParcel;
import org.sufficientlysecure.keychain.ui.base.BaseActivity;
import org.sufficientlysecure.keychain.ui.base.CryptoOperationHelper;
import org.sufficientlysecure.keychain.ui.loader.BytesLoaderState;
import org.sufficientlysecure.keychain.ui.loader.CloudLoaderState;
import org.sufficientlysecure.keychain.ui.loader.LoaderState;
import org.sufficientlysecure.keychain.ui.util.KeyFormattingUtils;
import org.sufficientlysecure.keychain.ui.util.Notify;
import org.sufficientlysecure.keychain.util.Log;
@@ -318,7 +321,7 @@ public class ImportKeysActivity extends BaseActivity
}
}
public void loadCallback(final ImportKeysListFragment.LoaderState loaderState) {
public void loadCallback(LoaderState loaderState) {
FragmentManager fragMan = getSupportFragmentManager();
ImportKeysListFragment keyListFragment = (ImportKeysListFragment) fragMan.findFragmentByTag(TAG_FRAG_LIST);
keyListFragment.loadNew(loaderState);
@@ -339,8 +342,8 @@ public class ImportKeysActivity extends BaseActivity
1, this, this, R.string.progress_importing
);
ImportKeysListFragment.LoaderState ls = keyListFragment.getLoaderState();
if (ls instanceof ImportKeysListFragment.BytesLoaderState) {
LoaderState ls = keyListFragment.getLoaderState();
if (ls instanceof BytesLoaderState) {
Log.d(Constants.TAG, "importKeys started");
// get DATA from selected key entries
@@ -365,9 +368,8 @@ public class ImportKeysActivity extends BaseActivity
Notify.create(this, "Problem writing cache file!", Notify.Style.ERROR)
.show((ViewGroup) findViewById(R.id.import_snackbar));
}
} else if (ls instanceof ImportKeysListFragment.CloudLoaderState) {
ImportKeysListFragment.CloudLoaderState sls =
(ImportKeysListFragment.CloudLoaderState) ls;
} else if (ls instanceof CloudLoaderState) {
CloudLoaderState sls = (CloudLoaderState) ls;
// get selected key entries
ArrayList<ParcelableKeyRing> keys = new ArrayList<>();

View File

@@ -36,6 +36,7 @@ import android.widget.TextView;
import org.sufficientlysecure.keychain.Constants;
import org.sufficientlysecure.keychain.R;
import org.sufficientlysecure.keychain.ui.loader.CloudLoaderState;
import org.sufficientlysecure.keychain.util.ContactHelper;
import org.sufficientlysecure.keychain.util.Log;
import org.sufficientlysecure.keychain.util.Preferences;
@@ -170,8 +171,7 @@ public class ImportKeysCloudFragment extends Fragment {
cloudSearchPrefs = Preferences.getPreferences(getActivity()).getCloudSearchPrefs();
}
mImportActivity.loadCallback(
new ImportKeysListFragment.CloudLoaderState(query, cloudSearchPrefs));
mImportActivity.loadCallback(new CloudLoaderState(query, cloudSearchPrefs));
toggleKeyboard(false);
}

View File

@@ -37,16 +37,13 @@ import org.sufficientlysecure.keychain.Constants;
import org.sufficientlysecure.keychain.R;
import org.sufficientlysecure.keychain.compatibility.ClipboardReflection;
import org.sufficientlysecure.keychain.pgp.PgpHelper;
import org.sufficientlysecure.keychain.ui.ImportKeysListFragment.BytesLoaderState;
import org.sufficientlysecure.keychain.ui.loader.BytesLoaderState;
import org.sufficientlysecure.keychain.ui.util.Notify;
import org.sufficientlysecure.keychain.ui.util.Notify.Style;
import org.sufficientlysecure.keychain.util.FileHelper;
import org.sufficientlysecure.keychain.util.Log;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
public class ImportKeysFileFragment extends Fragment {
private ImportKeysActivity mImportActivity;

View File

@@ -48,10 +48,13 @@ import org.sufficientlysecure.keychain.keyimport.ImportKeysListEntry;
import org.sufficientlysecure.keychain.keyimport.ParcelableKeyRing;
import org.sufficientlysecure.keychain.operations.results.GetKeyResult;
import org.sufficientlysecure.keychain.service.input.RequiredInputParcel;
import org.sufficientlysecure.keychain.ui.adapter.AsyncTaskResultWrapper;
import org.sufficientlysecure.keychain.ui.adapter.ImportKeysAdapter;
import org.sufficientlysecure.keychain.ui.adapter.ImportKeysListCloudLoader;
import org.sufficientlysecure.keychain.ui.adapter.ImportKeysListLoader;
import org.sufficientlysecure.keychain.ui.loader.AsyncTaskResultWrapper;
import org.sufficientlysecure.keychain.ui.loader.BytesLoaderState;
import org.sufficientlysecure.keychain.ui.loader.CloudLoaderState;
import org.sufficientlysecure.keychain.ui.loader.ImportKeysListCloudLoader;
import org.sufficientlysecure.keychain.ui.loader.ImportKeysListLoader;
import org.sufficientlysecure.keychain.ui.loader.LoaderState;
import org.sufficientlysecure.keychain.util.Log;
import org.sufficientlysecure.keychain.util.ParcelableFileCache.IteratorWithSize;
import org.sufficientlysecure.keychain.util.ParcelableProxy;
@@ -194,30 +197,6 @@ public class ImportKeysListFragment extends Fragment implements
return frag;
}
static public class LoaderState {
}
static public class BytesLoaderState extends LoaderState {
public byte[] mKeyBytes;
public Uri mDataUri;
BytesLoaderState(byte[] keyBytes, Uri dataUri) {
mKeyBytes = keyBytes;
mDataUri = dataUri;
}
}
static public class CloudLoaderState extends LoaderState {
Preferences.CloudSearchPrefs mCloudPrefs;
String mServerQuery;
CloudLoaderState(String serverQuery, Preferences.CloudSearchPrefs cloudPrefs) {
mServerQuery = serverQuery;
mCloudPrefs = cloudPrefs;
}
}
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
binding = DataBindingUtil.inflate(inflater, R.layout.import_keys_list_fragment, container, false);

View File

@@ -15,7 +15,7 @@
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
package org.sufficientlysecure.keychain.ui.adapter;
package org.sufficientlysecure.keychain.ui.loader;
import org.sufficientlysecure.keychain.operations.results.OperationResult;

View File

@@ -0,0 +1,15 @@
package org.sufficientlysecure.keychain.ui.loader;
import android.net.Uri;
public class BytesLoaderState implements LoaderState {
public byte[] mKeyBytes;
public Uri mDataUri;
public BytesLoaderState(byte[] keyBytes, Uri dataUri) {
mKeyBytes = keyBytes;
mDataUri = dataUri;
}
}

View File

@@ -0,0 +1,15 @@
package org.sufficientlysecure.keychain.ui.loader;
import org.sufficientlysecure.keychain.util.Preferences;
public class CloudLoaderState implements LoaderState {
public Preferences.CloudSearchPrefs mCloudPrefs;
public String mServerQuery;
public CloudLoaderState(String serverQuery, Preferences.CloudSearchPrefs cloudPrefs) {
mServerQuery = serverQuery;
mCloudPrefs = cloudPrefs;
}
}

View File

@@ -15,7 +15,7 @@
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
package org.sufficientlysecure.keychain.ui.adapter;
package org.sufficientlysecure.keychain.ui.loader;
import android.content.Context;
import android.support.annotation.Nullable;

View File

@@ -15,7 +15,7 @@
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
package org.sufficientlysecure.keychain.ui.adapter;
package org.sufficientlysecure.keychain.ui.loader;
import java.io.BufferedInputStream;
@@ -39,7 +39,6 @@ import org.sufficientlysecure.keychain.operations.results.OperationResult.LogTyp
import org.sufficientlysecure.keychain.operations.results.OperationResult.OperationLog;
import org.sufficientlysecure.keychain.pgp.UncachedKeyRing;
import org.sufficientlysecure.keychain.pgp.UncachedKeyRing.IteratorWithIOThrow;
import org.sufficientlysecure.keychain.ui.ImportKeysListFragment.BytesLoaderState;
import org.sufficientlysecure.keychain.util.FileHelper;
import org.sufficientlysecure.keychain.util.InputData;
import org.sufficientlysecure.keychain.util.Log;

View File

@@ -0,0 +1,4 @@
package org.sufficientlysecure.keychain.ui.loader;
public interface LoaderState {
}