Skip to content

Commit

Permalink
Fix WebView crashes in devices API 21-25 with outdated WebView
Browse files Browse the repository at this point in the history
  • Loading branch information
valldrac committed Mar 11, 2022
1 parent bb2ca9d commit 324ef0a
Showing 1 changed file with 15 additions and 0 deletions.
15 changes: 15 additions & 0 deletions app/src/main/java/org/thoughtcrime/securesms/BaseActivity.java
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,9 @@
import android.app.ActivityManager;
import android.content.Context;
import android.content.Intent;
import android.content.res.AssetManager;
import android.content.res.Configuration;
import android.os.Build;
import android.os.Bundle;
import android.view.View;
import android.view.WindowManager;
Expand Down Expand Up @@ -117,6 +119,19 @@ public void applyOverrideConfiguration(@NonNull Configuration overrideConfigurat
super.applyOverrideConfiguration(overrideConfiguration);
}

// MOLLY: Workaround for WebView crashes in devices API 21-25 with outdated WebView
// https://issuetracker.google.com/issues/141351441
// Not reproducible in Signal because RegistrationNavigationActivity does not inherit
// this class and thus does not override the configuration.
@Override
public AssetManager getAssets() {
if (Build.VERSION.SDK_INT >= 21 && Build.VERSION.SDK_INT <= 25) {
return getResources().getAssets(); // Ignore overridden configuration
} else {
return super.getAssets();
}
}

private void logEvent(@NonNull String event) {
Log.d(TAG, "[" + Log.tag(getClass()) + "] " + event);
}
Expand Down

0 comments on commit 324ef0a

Please sign in to comment.