Skip to content

Commit 358fbc9

Browse files
committed
Remove dependencies from gradle
* Remove appcompat-v4 dependency * Change from runtime to compileOnly appcompat-v7 dependency * Add log for when no location permissions added on Manifest
1 parent 812da3c commit 358fbc9

File tree

3 files changed

+14
-7
lines changed

3 files changed

+14
-7
lines changed

OneSignalSDK/onesignal/build.gradle

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -61,9 +61,11 @@ dependencies {
6161
// Also note, firebase & gms libraries use android.support:26.
6262
// - They never refer to 27 or 28
6363
api 'com.android.support:cardview-v7:[26.0.0, 27.99.99]'
64-
api 'com.android.support:support-v4:[26.0.0, 27.99.99]'
64+
api 'com.android.support:support-fragment:[26.0.0, 27.99.99]'
6565
api 'com.android.support:customtabs:[26.0.0, 27.99.99]'
66-
api 'com.android.support:appcompat-v7:[26.0.0, 27.99.99]'
66+
67+
// compileOnly as this is just for fallback code if AppCompatActivity wasn't added to the project.
68+
compileOnly 'com.android.support:appcompat-v7:26.1.0'
6769
}
6870

6971
apply from: 'maven-push.gradle'

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

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -206,6 +206,8 @@ static void getLocation(Context context, boolean promptLocation, LocationHandler
206206
else if (permissionList.contains("android.permission.ACCESS_COARSE_LOCATION")) {
207207
if (locationCoarsePermission != PackageManager.PERMISSION_GRANTED)
208208
requestPermission = "android.permission.ACCESS_COARSE_LOCATION";
209+
} else {
210+
OneSignal.onesignalLog(OneSignal.LOG_LEVEL.INFO, "Location permissions not added on AndroidManifest file");
209211
}
210212

211213
// We handle the following cases:

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

Lines changed: 8 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -30,9 +30,13 @@ boolean systemConditionsAvailable() {
3030
return false;
3131
}
3232

33-
if (isDialogFragmentShowing(ActivityLifecycleHandler.curActivity)) {
34-
OneSignal.onesignalLog(OneSignal.LOG_LEVEL.WARN, "OSSystemConditionObserver dialog fragment detected");
35-
return false;
33+
try {
34+
if (isDialogFragmentShowing(ActivityLifecycleHandler.curActivity)) {
35+
OneSignal.onesignalLog(OneSignal.LOG_LEVEL.WARN, "OSSystemConditionObserver dialog fragment detected");
36+
return false;
37+
}
38+
} catch (NoClassDefFoundError exception) {
39+
OneSignal.onesignalLog(OneSignal.LOG_LEVEL.INFO, "AppCompatActivity is not used in this app, skipping 'isDialogFragmentShowing' check: " + exception);
3640
}
3741

3842
boolean keyboardUp = OSViewUtils.isKeyboardUp(new WeakReference<>(ActivityLifecycleHandler.curActivity));
@@ -43,7 +47,7 @@ boolean systemConditionsAvailable() {
4347
return !keyboardUp;
4448
}
4549

46-
boolean isDialogFragmentShowing(Context context) {
50+
boolean isDialogFragmentShowing(Context context) throws NoClassDefFoundError {
4751
// Detect if user has a dialog fragment showing
4852
if (context instanceof AppCompatActivity) {
4953
final FragmentManager manager = ((AppCompatActivity) context).getSupportFragmentManager();
@@ -67,7 +71,6 @@ public void onFragmentDetached(@NonNull FragmentManager fm, @NonNull Fragment fr
6771
return fragment.isVisible() && fragment instanceof DialogFragment;
6872
}
6973
}
70-
7174
// We already have Activity lifecycle listener, that listener will handle Activity focus/unFocus state
7275
// - Permission prompts will make activity loose focus
7376
// We cannot detect AlertDialogs because they are added to the decor view as linear layout without an identification

0 commit comments

Comments
 (0)