Skip to content

Commit c080c8b

Browse files
authored
When prompting for permissions, we use a PermissionActivity (#920)
* When prompting for permissions, we use a PermissionActivity * This is not a fully built out tool, but it is working for location currently * Eventually we may be able to use this for other permission prompts as well * The issue was the default transition from current activity to our PermissionActivity * This is now fixed by creating a 0s duration anim for fading in and fading out of the activity * Added new anim xml files to consumer_onesignal_keep.xml * This prevents minimized/shrunk apps from losing resources
1 parent e25c017 commit c080c8b

File tree

4 files changed

+21
-1
lines changed

4 files changed

+21
-1
lines changed

OneSignalSDK/onesignal/src/main/java/com/onesignal/PermissionsActivity.java

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -73,6 +73,7 @@ private void requestPermission() {
7373
// Activity maybe invoked directly through automated testing, omit prompting on old Android versions.
7474
if (Build.VERSION.SDK_INT < 23) {
7575
finish();
76+
overridePendingTransition(R.anim.onesignal_fade_in, R.anim.onesignal_fade_out);
7677
return;
7778
}
7879

@@ -96,6 +97,7 @@ public void onRequestPermissionsResult(int requestCode, @NonNull String permissi
9697

9798
ActivityLifecycleHandler.removeActivityAvailableListener(TAG);
9899
finish();
100+
overridePendingTransition(R.anim.onesignal_fade_in, R.anim.onesignal_fade_out);
99101
}
100102

101103

@@ -110,6 +112,7 @@ public void available(@NonNull Activity activity) {
110112
Intent intent = new Intent(activity, PermissionsActivity.class);
111113
intent.setFlags(Intent.FLAG_ACTIVITY_REORDER_TO_FRONT);
112114
activity.startActivity(intent);
115+
activity.overridePendingTransition(R.anim.onesignal_fade_in, R.anim.onesignal_fade_out);
113116
}
114117
}
115118
};
Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
<?xml version="1.0" encoding="utf-8"?>
2+
<alpha xmlns:android="http://schemas.android.com/apk/res/android"
3+
android:interpolator="@android:interpolator/accelerate_decelerate"
4+
android:fromAlpha="0.0"
5+
android:toAlpha="1.0"
6+
android:duration="0" />
Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
<?xml version="1.0" encoding="utf-8"?>
2+
<alpha xmlns:android="http://schemas.android.com/apk/res/android"
3+
android:interpolator="@android:interpolator/accelerate_decelerate"
4+
android:fromAlpha="1.0"
5+
android:toAlpha="0.0"
6+
android:duration="0" />

OneSignalSDK/onesignal/src/main/res/raw/consumer_onesignal_keep.xml

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,12 @@
44
Also documented file names to use as defaults. -->
55
<!-- onesignal_bgimage_notif_layout is always kept as it's id used directly in code. -->
66
<resources xmlns:tools="http://schemas.android.com/tools"
7-
tools:keep="@drawable/ic_os_notification_fallback_white_24dp,@drawable/ic_stat_onesignal_default,@drawable/ic_onesignal_large_icon_default,@raw/onesignal_default_sound"
7+
tools:keep="@anim/onesignal_fade_in,
8+
@anim/onesignal_fade_out,
9+
@drawable/ic_os_notification_fallback_white_24dp,
10+
@drawable/ic_stat_onesignal_default,
11+
@drawable/ic_onesignal_large_icon_default,
12+
@raw/onesignal_default_sound"
813
tools:discard="@raw/consumer_onesignal_keep" />
914

1015
<!-- Discard above doesn't seem to be working, file is added to .APK anyway but is only a packed size of 47 bytes.

0 commit comments

Comments
 (0)