Skip to content

Commit

Permalink
File loading fixes
Browse files Browse the repository at this point in the history
  • Loading branch information
martenrebane committed Aug 3, 2023
1 parent 83763e4 commit 9835fb6
Show file tree
Hide file tree
Showing 2 changed files with 26 additions and 19 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,7 @@
import android.app.Application;
import android.content.ContentResolver;
import android.content.Context;
import android.content.res.Configuration;
import android.util.Log;
import android.view.accessibility.AccessibilityEvent;

Expand All @@ -41,6 +42,7 @@
import ee.ria.DigiDoc.android.model.idcard.IdCardDataResponse;
import ee.ria.DigiDoc.android.model.idcard.IdCardService;
import ee.ria.DigiDoc.android.signature.update.SignatureUpdateScreen;
import ee.ria.DigiDoc.android.utils.LocaleService;
import ee.ria.DigiDoc.android.utils.ToastUtil;
import ee.ria.DigiDoc.android.utils.files.EmptyFileException;
import ee.ria.DigiDoc.android.utils.files.FileStream;
Expand Down Expand Up @@ -120,10 +122,15 @@ final class Processor implements ObservableTransformer<Intent, Result> {

@Inject Processor(Navigator navigator, RecipientRepository recipientRepository,
ContentResolver contentResolver, FileSystem fileSystem,
Application application, IdCardService idCardService) {
Application application, IdCardService idCardService,
LocaleService localeService) {
this.contentResolver = contentResolver;
this.fileSystem = fileSystem;

Configuration configuration = localeService.applicationConfigurationWithLocale(application.getApplicationContext(),
localeService.applicationLocale());
Context configurationContext = application.getApplicationContext().createConfigurationContext(configuration);

initial = upstream -> upstream.switchMap(intent -> {
File containerFile = intent.containerFile();
android.content.Intent androidIntent = intent.intent();
Expand All @@ -136,7 +143,7 @@ final class Processor implements ObservableTransformer<Intent, Result> {
.observeOn(AndroidSchedulers.mainThread())
.startWithItem(Result.InitialResult.activity());
} else if (androidIntent != null) {
return parseIntent(androidIntent, application, fileSystem.getExternallyOpenedFilesDir());
return parseIntent(androidIntent, application, fileSystem.getExternallyOpenedFilesDir(), configurationContext);
} else {
navigator.execute(Transaction.activityForResult(RC_CRYPTO_CREATE_INITIAL,
createGetContentIntent(), null));
Expand All @@ -146,7 +153,7 @@ final class Processor implements ObservableTransformer<Intent, Result> {
.switchMap(activityResult -> {
android.content.Intent data = activityResult.data();
if (activityResult.resultCode() == RESULT_OK && data != null) {
return parseIntent(data, application, fileSystem.getExternallyOpenedFilesDir())
return parseIntent(data, application, fileSystem.getExternallyOpenedFilesDir(), configurationContext)
.onErrorReturn(throwable -> {
if (throwable instanceof EmptyFileException) {
ToastUtil.showEmptyFileError(navigator.activity(), application);
Expand Down Expand Up @@ -226,9 +233,9 @@ final class Processor implements ObservableTransformer<Intent, Result> {
builder.add(dataFile);
}
if (fileStreams.size() > 1) {
AccessibilityUtils.sendAccessibilityEvent(application.getApplicationContext(), TYPE_ANNOUNCEMENT, R.string.files_added);
AccessibilityUtils.sendAccessibilityEvent(configurationContext, TYPE_ANNOUNCEMENT, R.string.files_added);
} else {
AccessibilityUtils.sendAccessibilityEvent(application.getApplicationContext(), TYPE_ANNOUNCEMENT, R.string.file_added);
AccessibilityUtils.sendAccessibilityEvent(configurationContext, TYPE_ANNOUNCEMENT, R.string.file_added);
}
return builder.build();
})
Expand Down Expand Up @@ -418,7 +425,7 @@ final class Processor implements ObservableTransformer<Intent, Result> {
if (dataFiles.size() > 1) {
AccessibilityUtils.sendAccessibilityEvent(application.getApplicationContext(), TYPE_ANNOUNCEMENT, R.string.files_encrypted);
} else {
AccessibilityUtils.sendAccessibilityEvent(application.getApplicationContext(), TYPE_ANNOUNCEMENT, R.string.crypto_create_encrypt_success_message);
AccessibilityUtils.sendAccessibilityEvent(configurationContext, TYPE_ANNOUNCEMENT, R.string.crypto_create_encrypt_success_message);
}
return file;
} catch (Exception e) {
Expand Down Expand Up @@ -520,7 +527,7 @@ public ObservableSource<Result> apply(Observable<Intent> upstream) {
shared.ofType(Intent.SendIntent.class).compose(send)));
}

private Observable<Result.InitialResult> parseIntent(android.content.Intent intent, Application application, File externallyOpenedFileDir) {
private Observable<Result.InitialResult> parseIntent(android.content.Intent intent, Application application, File externallyOpenedFileDir, Context configurationContext) {
return Observable
.fromCallable(() -> {
ImmutableList<FileStream> validFiles = FileSystem.getFilesWithValidSize(
Expand All @@ -539,9 +546,9 @@ && isContainerFileName(validFiles.get(0).displayName())) {
File file = fileSystem.generateSignatureContainerFile(
createContainerFileName(dataFiles.get(0).getName()));
if (dataFiles.size() > 1) {
AccessibilityUtils.sendAccessibilityEvent(application.getApplicationContext(), TYPE_ANNOUNCEMENT, R.string.files_added);
AccessibilityUtils.sendAccessibilityEvent(configurationContext, TYPE_ANNOUNCEMENT, R.string.files_added);
} else {
AccessibilityUtils.sendAccessibilityEvent(application.getApplicationContext(), TYPE_ANNOUNCEMENT, R.string.file_added);
AccessibilityUtils.sendAccessibilityEvent(configurationContext, TYPE_ANNOUNCEMENT, R.string.file_added);
}
return Result.InitialResult.success(file, dataFiles);
}
Expand Down
Original file line number Diff line number Diff line change
@@ -1,7 +1,10 @@
package ee.ria.DigiDoc.android.signature.update;

import static android.view.ViewGroup.LayoutParams.WRAP_CONTENT;
import static ee.ria.DigiDoc.android.Constants.VOID;
import static ee.ria.DigiDoc.android.utils.display.DisplayUtil.getDeviceLayoutWidth;

import android.content.Context;
import android.content.res.Configuration;
import android.content.res.TypedArray;
import android.view.View;
import android.view.Window;
Expand All @@ -19,14 +22,6 @@
import ee.ria.DigiDoc.android.utils.rxbinding.app.ObservableDialogClickListener;
import io.reactivex.rxjava3.core.Observable;

import static android.view.ViewGroup.LayoutParams.WRAP_CONTENT;
import static ee.ria.DigiDoc.android.Constants.VOID;
import static ee.ria.DigiDoc.android.utils.display.DisplayUtil.getDeviceLayoutWidth;
import static ee.ria.DigiDoc.android.utils.display.DisplayUtil.getDeviceOrientation;
import static ee.ria.DigiDoc.android.utils.display.DisplayUtil.getDeviceWidth;
import static ee.ria.DigiDoc.android.utils.display.DisplayUtil.getDialogLandscapeWidth;
import static ee.ria.DigiDoc.android.utils.display.DisplayUtil.getDialogPortraitWidth;

public final class SignatureUpdateSignatureAddDialog extends AlertDialog {

private final SignatureUpdateSignatureAddView view;
Expand All @@ -49,7 +44,12 @@ public final class SignatureUpdateSignatureAddDialog extends AlertDialog {
getContext().getString(R.string.signature_update_signature_add_positive_button),
positiveButtonClicks = new ObservableDialogClickListener());
Button signButton = getButton(BUTTON_POSITIVE);
signButton.setContentDescription(signButton.getText().toString().toLowerCase());
if (signButton != null) {
String signButtonText = signButton.getText() != null ?
signButton.getText().toString().toLowerCase() : null;
signButton.setContentDescription(signButtonText != null ? signButtonText :
getContext().getString(R.string.signature_update_signature_add_positive_button));
}
setButton(BUTTON_NEGATIVE, getContext().getString(android.R.string.cancel),
(dialog, which) -> {
cancel();
Expand Down

0 comments on commit 9835fb6

Please sign in to comment.