use of com.odysee.app.tasks.wallet.DefaultSyncTaskHandler in project odysee-android by OdyseeTeam.
the class SignInActivity method processExistingWalletWithPassword.
public void processExistingWalletWithPassword(String password) {
Helper.setViewVisibility(textWalletSyncLoading, View.VISIBLE);
Helper.setViewVisibility(inputWalletSyncPassword, View.GONE);
if (currentWalletSync == null) {
showError(getString(R.string.wallet_sync_op_failed));
Helper.setViewText(textWalletSyncLoading, R.string.wallet_sync_op_failed);
return;
}
Helper.setViewVisibility(walletSyncProgress, View.VISIBLE);
Helper.setViewText(textWalletSyncLoading, R.string.apply_wallet_data);
SyncApplyTask applyTask = new SyncApplyTask(password, currentWalletSync.getData(), null, new DefaultSyncTaskHandler() {
@Override
public void onSyncApplySuccess(String hash, String data) {
Utils.setSecureValue(MainActivity.SECURE_VALUE_KEY_SAVED_PASSWORD, password, SignInActivity.this, Lbry.KEYSTORE);
// check if local and remote hash are different, and then run sync set
if (!hash.equalsIgnoreCase(Lbryio.lastRemoteHash) && !Helper.isNullOrEmpty(Lbryio.lastRemoteHash)) {
new SyncSetTask(Lbryio.lastRemoteHash, hash, data, null).executeOnExecutor(AsyncTask.THREAD_POOL_EXECUTOR);
}
/*if (listener != null) {
listener.onWalletSyncEnabled();
}*/
loadSharedUserStateAndFinish();
}
@Override
public void onSyncApplyError(Exception error) {
// failed, request the user to enter a password
showError(error.getMessage());
Helper.setViewVisibility(walletSyncProgress, View.GONE);
Helper.setViewVisibility(textWalletSyncLoading, View.GONE);
Helper.setViewVisibility(inputWalletSyncPassword, View.VISIBLE);
Helper.setViewVisibility(layoutWalletSyncInputArea, View.VISIBLE);
Helper.setViewVisibility(closeSignupSignIn, View.VISIBLE);
walletSyncStarted = false;
}
});
applyTask.executeOnExecutor(AsyncTask.THREAD_POOL_EXECUTOR);
}
use of com.odysee.app.tasks.wallet.DefaultSyncTaskHandler in project odysee-android by OdyseeTeam.
the class SignInFragment method processExistingWalletWithPassword.
public void processExistingWalletWithPassword(String password) {
Helper.setViewVisibility(textWalletSyncLoading, View.VISIBLE);
Helper.setViewVisibility(inputWalletSyncPassword, View.GONE);
if (currentWalletSync == null) {
showError(getString(R.string.wallet_sync_op_failed));
Helper.setViewText(textWalletSyncLoading, R.string.wallet_sync_op_failed);
return;
}
Helper.setViewVisibility(walletSyncProgress, View.VISIBLE);
Helper.setViewText(textWalletSyncLoading, R.string.apply_wallet_data);
SyncApplyTask applyTask = new SyncApplyTask(password, currentWalletSync.getData(), null, new DefaultSyncTaskHandler() {
@Override
public void onSyncApplySuccess(String hash, String data) {
Utils.setSecureValue(MainActivity.SECURE_VALUE_KEY_SAVED_PASSWORD, password, getContext(), Lbry.KEYSTORE);
// check if local and remote hash are different, and then run sync set
if (!hash.equalsIgnoreCase(Lbryio.lastRemoteHash) && !Helper.isNullOrEmpty(Lbryio.lastRemoteHash)) {
new SyncSetTask(Lbryio.lastRemoteHash, hash, data, null).executeOnExecutor(AsyncTask.THREAD_POOL_EXECUTOR);
}
finishSignIn();
}
@Override
public void onSyncApplyError(Exception error) {
// failed, request the user to enter a password
showError(error.getMessage());
Helper.setViewVisibility(walletSyncProgress, View.GONE);
Helper.setViewVisibility(textWalletSyncLoading, View.GONE);
Helper.setViewVisibility(inputWalletSyncPassword, View.VISIBLE);
Helper.setViewVisibility(layoutWalletSyncInputArea, View.VISIBLE);
walletSyncStarted = false;
}
});
applyTask.executeOnExecutor(AsyncTask.THREAD_POOL_EXECUTOR);
}
use of com.odysee.app.tasks.wallet.DefaultSyncTaskHandler in project odysee-android by OdyseeTeam.
the class MainActivity method syncWalletAndLoadPreferences.
public void syncWalletAndLoadPreferences() {
if (!userSyncEnabled()) {
return;
}
if (fullSyncInProgress) {
queuedSyncCount++;
}
fullSyncInProgress = true;
String password = getSecureValue(SECURE_VALUE_KEY_SAVED_PASSWORD, this, Lbry.KEYSTORE);
SyncGetTask task = new SyncGetTask(password, true, null, new DefaultSyncTaskHandler() {
@Override
public void onSyncGetSuccess(WalletSync walletSync) {
Lbryio.lastWalletSync = walletSync;
Lbryio.lastRemoteHash = walletSync.getHash();
loadSharedUserState();
}
@Override
public void onSyncGetWalletNotFound() {
// But if it does, send what we have
if (Lbryio.isSignedIn()) {
syncApplyAndSet();
}
}
@Override
public void onSyncGetError(Exception error) {
// pass
Log.e(TAG, String.format("sync get failed: %s", error != null ? error.getMessage() : "no error message"), error);
fullSyncInProgress = false;
if (queuedSyncCount > 0) {
queuedSyncCount--;
syncApplyAndSet();
}
}
@Override
public void onSyncApplySuccess(String hash, String data) {
if (!hash.equalsIgnoreCase(Lbryio.lastRemoteHash)) {
syncSet(hash, data);
} else {
fullSyncInProgress = false;
queuedSyncCount = 0;
}
loadSharedUserState();
}
@Override
public void onSyncApplyError(Exception error) {
// pass
Log.e(TAG, String.format("sync apply failed: %s", error != null ? error.getMessage() : "no error message"), error);
fullSyncInProgress = false;
if (queuedSyncCount > 0) {
queuedSyncCount--;
syncApplyAndSet();
}
}
});
task.executeOnExecutor(AsyncTask.THREAD_POOL_EXECUTOR);
}
use of com.odysee.app.tasks.wallet.DefaultSyncTaskHandler in project odysee-android by OdyseeTeam.
the class SignInActivity method runWalletSync.
private void runWalletSync(String password) {
if (walletSyncStarted) {
return;
}
walletSyncStarted = true;
Helper.setViewVisibility(layoutCollect, View.GONE);
Helper.setViewVisibility(layoutVerify, View.GONE);
Helper.setViewVisibility(closeSignupSignIn, View.GONE);
Helper.setViewVisibility(layoutWalletSyncContainer, View.VISIBLE);
Helper.setViewVisibility(walletSyncProgress, View.VISIBLE);
Helper.setViewVisibility(textWalletSyncLoading, View.VISIBLE);
password = Utils.getSecureValue(MainActivity.SECURE_VALUE_KEY_SAVED_PASSWORD, this, Lbry.KEYSTORE);
if (Helper.isNullOrEmpty(password)) {
password = Helper.getValue(inputWalletSyncPassword.getText());
}
final String actual = password;
SyncGetTask task = new SyncGetTask(password, false, null, new DefaultSyncTaskHandler() {
@Override
public void onSyncGetSuccess(WalletSync walletSync) {
currentWalletSync = walletSync;
Lbryio.lastRemoteHash = walletSync.getHash();
if (Helper.isNullOrEmpty(actual)) {
processExistingWallet(walletSync);
} else {
processExistingWalletWithPassword(actual);
}
}
@Override
public void onSyncGetWalletNotFound() {
// no wallet found, get sync apply data and run the process
processNewWallet();
}
@Override
public void onSyncGetError(Exception error) {
// try again
Helper.setViewVisibility(walletSyncProgress, View.GONE);
// Helper.setViewText(textWalletSyncLoading, error.getMessage());
Helper.setViewVisibility(textWalletSyncLoading, View.GONE);
Helper.setViewVisibility(layoutWalletSyncInputArea, View.VISIBLE);
Helper.setViewVisibility(closeSignupSignIn, View.VISIBLE);
walletSyncStarted = false;
}
});
task.executeOnExecutor(AsyncTask.THREAD_POOL_EXECUTOR);
}
use of com.odysee.app.tasks.wallet.DefaultSyncTaskHandler in project odysee-android by OdyseeTeam.
the class SignInActivity method processNewWallet.
public void processNewWallet() {
SyncApplyTask fetchTask = new SyncApplyTask(true, null, new DefaultSyncTaskHandler() {
@Override
public void onSyncApplySuccess(String hash, String data) {
createNewRemoteSync(hash, data);
}
@Override
public void onSyncApplyError(Exception error) {
showError(error.getMessage());
Helper.setViewVisibility(walletSyncProgress, View.GONE);
Helper.setViewText(textWalletSyncLoading, R.string.wallet_sync_op_failed);
Helper.setViewVisibility(closeSignupSignIn, View.VISIBLE);
/*if (listener != null) {
listener.onWalletSyncFailed(error);
}*/
walletSyncStarted = false;
}
});
fetchTask.executeOnExecutor(AsyncTask.THREAD_POOL_EXECUTOR);
}
Aggregations