diff --git a/app/build.gradle b/app/build.gradle index f342fba3..9cfa1716 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -17,7 +17,7 @@ repositories { android { - compileSdkVersion 33 + compileSdkVersion 34 buildToolsVersion "30.0.3" compileOptions { @@ -33,7 +33,7 @@ android { defaultConfig { applicationId "net.pokeranalytics.android" minSdkVersion 23 - targetSdkVersion 33 + targetSdkVersion 34 versionCode 168 versionName "6.0.26" testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner" @@ -118,7 +118,7 @@ dependencies { implementation 'com.google.android.libraries.places:places:2.3.0' // Billing / Subscriptions - implementation 'com.android.billingclient:billing:5.0.0' + implementation 'com.android.billingclient:billing:7.0.0' // Import the BoM for the Firebase platform implementation platform('com.google.firebase:firebase-bom:26.1.0') @@ -160,10 +160,10 @@ dependencies { implementation 'com.squareup.retrofit2:retrofit:2.9.0' // Instrumented Tests - androidTestImplementation 'androidx.test:core:1.3.0' - androidTestImplementation 'androidx.test:runner:1.3.0' - androidTestImplementation 'androidx.test:rules:1.3.0' - androidTestImplementation 'androidx.test.ext:junit:1.1.2' + androidTestImplementation 'androidx.test:core:1.6.1' + androidTestImplementation 'androidx.test:runner:1.6.2' + androidTestImplementation 'androidx.test:rules:1.6.1' + androidTestImplementation 'androidx.test.ext:junit:1.2.1' // Test testImplementation 'junit:junit:4.13.2' diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index f77e7ecf..895a27aa 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -83,137 +83,165 @@ + android:screenOrientation="portrait" + android:exported="true" /> + android:theme="@style/PokerAnalyticsTheme.MenuDialog" + android:exported="true" /> + android:screenOrientation="portrait" + android:exported="true" /> + android:windowSoftInputMode="stateAlwaysHidden" + android:exported="true"/> + android:screenOrientation="portrait" + android:exported="true" /> + android:screenOrientation="portrait" + android:exported="true" /> + android:screenOrientation="portrait" + android:exported="true" /> + android:screenOrientation="portrait" + android:exported="true" /> + android:screenOrientation="portrait" + android:exported="true" /> + android:screenOrientation="portrait" + android:exported="true" /> + android:screenOrientation="portrait" + android:exported="true" /> + android:screenOrientation="portrait" + android:exported="true" /> + android:screenOrientation="portrait" + android:exported="true" /> + android:screenOrientation="portrait" + android:exported="true" /> + android:screenOrientation="portrait" + android:exported="true" /> + android:screenOrientation="portrait" + android:exported="true" /> + android:screenOrientation="portrait" + android:exported="true" /> + android:screenOrientation="portrait" + android:exported="true" /> + android:screenOrientation="portrait" + android:exported="true" /> + android:screenOrientation="portrait" + android:exported="true" /> + android:screenOrientation="portrait" + android:exported="true" /> + android:screenOrientation="portrait" + android:exported="true" /> + android:screenOrientation="portrait" + android:exported="true" /> + android:screenOrientation="portrait" + android:exported="true" /> + android:launchMode="singleTop" + android:exported="true"/> + android:screenOrientation="portrait" + android:exported="true" /> - + + if (!locationResultReceived) { locationResultReceived = true - callback(it.first()) + callback(location) fusedLocationClient.removeLocationUpdates(this) } } @@ -194,7 +195,12 @@ class LocationManager(private var context: Context) { locationRequest.interval = 200L locationRequest.priority = LocationRequest.PRIORITY_HIGH_ACCURACY - fusedLocationClient.requestLocationUpdates(locationRequest, locationCallback, Looper.myLooper()) + Looper.myLooper()?.let { looper -> + fusedLocationClient.requestLocationUpdates(locationRequest, locationCallback, looper) + } ?: run { + callback.invoke(null) + } + } else { // If we don't have the permission, return null callback.invoke(null)