use of org.thoughtcrime.securesms.jobs.ProfileUploadJob in project Signal-Android by WhisperSystems.
the class PinRestoreEntryFragment method handleSuccess.
private void handleSuccess() {
cancelSpinning(pinButton);
SignalStore.onboarding().clearAll();
Activity activity = requireActivity();
if (Recipient.self().getProfileName().isEmpty() || !AvatarHelper.hasAvatar(activity, Recipient.self().getId())) {
final Intent main = MainActivity.clearTop(activity);
final Intent profile = EditProfileActivity.getIntentForUserProfile(activity);
profile.putExtra("next_intent", main);
startActivity(profile);
} else {
RegistrationUtil.maybeMarkRegistrationComplete(requireContext());
ApplicationDependencies.getJobManager().add(new ProfileUploadJob());
startActivity(MainActivity.clearTop(activity));
}
activity.finish();
}
use of org.thoughtcrime.securesms.jobs.ProfileUploadJob in project Signal-Android by WhisperSystems.
the class RegistrationCompleteFragment method onViewCreated.
@Override
public void onViewCreated(@NonNull View view, @Nullable Bundle savedInstanceState) {
super.onViewCreated(view, savedInstanceState);
FragmentActivity activity = requireActivity();
RegistrationViewModel viewModel = new ViewModelProvider(activity).get(RegistrationViewModel.class);
if (SignalStore.storageService().needsAccountRestore()) {
Log.i(TAG, "Performing pin restore");
activity.startActivity(new Intent(activity, PinRestoreActivity.class));
} else if (!viewModel.isReregister()) {
boolean needsProfile = Recipient.self().getProfileName().isEmpty() || !AvatarHelper.hasAvatar(activity, Recipient.self().getId());
boolean needsPin = !SignalStore.kbsValues().hasPin();
Log.i(TAG, "Pin restore flow not required." + " profile name: " + Recipient.self().getProfileName().isEmpty() + " profile avatar: " + !AvatarHelper.hasAvatar(activity, Recipient.self().getId()) + " needsPin:" + needsPin);
Intent startIntent = MainActivity.clearTop(activity);
if (needsPin) {
startIntent = chainIntents(CreateKbsPinActivity.getIntentForPinCreate(requireContext()), startIntent);
}
if (needsProfile) {
startIntent = chainIntents(EditProfileActivity.getIntentForUserProfile(activity), startIntent);
}
if (!needsProfile && !needsPin) {
ApplicationDependencies.getJobManager().startChain(new ProfileUploadJob()).then(Arrays.asList(new MultiDeviceProfileKeyUpdateJob(), new MultiDeviceProfileContentUpdateJob())).enqueue();
RegistrationUtil.maybeMarkRegistrationComplete(requireContext());
}
activity.startActivity(startIntent);
}
activity.finish();
ActivityNavigator.applyPopAnimationsToPendingTransition(activity);
}
use of org.thoughtcrime.securesms.jobs.ProfileUploadJob in project Signal-Android by WhisperSystems.
the class PaymentsHomeRepository method deactivatePayments.
public void deactivatePayments(@NonNull Consumer<Boolean> consumer) {
SignalExecutors.BOUNDED.execute(() -> {
SignalStore.paymentsValues().setMobileCoinPaymentsEnabled(false);
ApplicationDependencies.getJobManager().add(new ProfileUploadJob());
consumer.accept(!SignalStore.paymentsValues().mobileCoinPaymentsEnabled());
});
}
use of org.thoughtcrime.securesms.jobs.ProfileUploadJob in project Signal-Android by WhisperSystems.
the class ApplicationContext method ensureProfileUploaded.
private void ensureProfileUploaded() {
if (SignalStore.account().isRegistered() && !SignalStore.registrationValues().hasUploadedProfile() && !Recipient.self().getProfileName().isEmpty()) {
Log.w(TAG, "User has a profile, but has not uploaded one. Uploading now.");
ApplicationDependencies.getJobManager().add(new ProfileUploadJob());
}
}
use of org.thoughtcrime.securesms.jobs.ProfileUploadJob in project Signal-Android by WhisperSystems.
the class EditSelfProfileRepository method uploadProfile.
@Override
public void uploadProfile(@NonNull ProfileName profileName, @NonNull String displayName, boolean displayNameChanged, @NonNull String description, boolean descriptionChanged, @Nullable byte[] avatar, boolean avatarChanged, @NonNull Consumer<UploadResult> uploadResultConsumer) {
SimpleTask.run(() -> {
SignalDatabase.recipients().setProfileName(Recipient.self().getId(), profileName);
if (avatarChanged) {
try {
AvatarHelper.setAvatar(context, Recipient.self().getId(), avatar != null ? new ByteArrayInputStream(avatar) : null);
} catch (IOException e) {
return UploadResult.ERROR_IO;
}
}
ApplicationDependencies.getJobManager().startChain(new ProfileUploadJob()).then(Arrays.asList(new MultiDeviceProfileKeyUpdateJob(), new MultiDeviceProfileContentUpdateJob())).enqueue();
RegistrationUtil.maybeMarkRegistrationComplete(context);
if (avatar != null) {
SignalStore.misc().markHasEverHadAnAvatar();
}
return UploadResult.SUCCESS;
}, uploadResultConsumer::accept);
}
Aggregations