use of com.odysee.app.tasks.wallet.SyncSetTask in project odysee-android by OdyseeTeam.
the class MainActivity method syncSet.
public void syncSet(String hash, String data) {
if (syncSetTask == null || syncSetTask.getStatus() == AsyncTask.Status.FINISHED) {
syncSetTask = new SyncSetTask(Lbryio.lastRemoteHash, hash, data, new DefaultSyncTaskHandler() {
@Override
public void onSyncSetSuccess(String hash) {
Lbryio.lastRemoteHash = hash;
Lbryio.lastWalletSync = new WalletSync(hash, data);
if (!pendingSyncSetQueue.isEmpty()) {
fullSyncInProgress = true;
WalletSync nextSync = pendingSyncSetQueue.remove(0);
syncSet(nextSync.getHash(), nextSync.getData());
} else if (queuedSyncCount > 0) {
queuedSyncCount--;
syncApplyAndSet();
}
fullSyncInProgress = false;
}
@Override
public void onSyncSetError(Exception error) {
// log app exceptions
if (!pendingSyncSetQueue.isEmpty()) {
WalletSync nextSync = pendingSyncSetQueue.remove(0);
syncSet(nextSync.getHash(), nextSync.getData());
} else if (queuedSyncCount > 0) {
queuedSyncCount--;
syncApplyAndSet();
}
fullSyncInProgress = false;
}
});
syncSetTask.executeOnExecutor(AsyncTask.THREAD_POOL_EXECUTOR);
} else {
WalletSync pending = new WalletSync(hash, data);
pendingSyncSetQueue.add(pending);
}
}
use of com.odysee.app.tasks.wallet.SyncSetTask 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.SyncSetTask 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.SyncSetTask in project odysee-android by OdyseeTeam.
the class SignInActivity method processExistingWallet.
public void processExistingWallet(WalletSync walletSync) {
// Try first sync apply
SyncApplyTask applyTask = new SyncApplyTask("", walletSync.getData(), null, new DefaultSyncTaskHandler() {
@Override
public void onSyncApplySuccess(String hash, String data) {
// check if local and remote hash are different, and then run sync set
Utils.setSecureValue(MainActivity.SECURE_VALUE_KEY_SAVED_PASSWORD, "", SignInActivity.this, Lbry.KEYSTORE);
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
Helper.setViewVisibility(walletSyncProgress, View.GONE);
Helper.setViewVisibility(textWalletSyncLoading, View.GONE);
Helper.setViewVisibility(inputWalletSyncPassword, View.VISIBLE);
/*if (listener != null) {
listener.onWalletSyncWaitingForInput();
}*/
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.SyncSetTask in project odysee-android by OdyseeTeam.
the class SignInActivity method createNewRemoteSync.
private void createNewRemoteSync(String hash, String data) {
SyncSetTask setTask = new SyncSetTask("", hash, data, new DefaultSyncTaskHandler() {
@Override
public void onSyncSetSuccess(String hash) {
Lbryio.lastRemoteHash = hash;
/*if (listener != null) {
listener.onWalletSyncEnabled();
}*/
loadSharedUserStateAndFinish();
}
@Override
public void onSyncSetError(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;
}
});
setTask.executeOnExecutor(AsyncTask.THREAD_POOL_EXECUTOR);
}
Aggregations