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)