[PlayStore] Enrolled first viable PlayStore Version

In order to have AA work properly also on production devices
the app needs to be installed from a trusted install source,
which is the Google PlayStore. So the app is now rolled out via
GooglePlay for Beta-Testers.
This commit is contained in:
Alexander Dörflinger
2025-04-12 14:23:30 +02:00
parent fe5563ec40
commit 05151d49fa
7 changed files with 59 additions and 28 deletions

View File

@@ -3,7 +3,20 @@
<component name="deploymentTargetDropDown"> <component name="deploymentTargetDropDown">
<value> <value>
<entry key="app"> <entry key="app">
<State /> <State>
<targetSelectedWithDropDown>
<Target>
<type value="QUICK_BOOT_TARGET" />
<deviceKey>
<Key>
<type value="VIRTUAL_DEVICE_PATH" />
<value value="$USER_HOME$/.android/avd/Pixel_7_Pro_API_Baklava.avd" />
</Key>
</deviceKey>
</Target>
</targetSelectedWithDropDown>
<timeTargetWasSelectedWithDropDown value="2025-04-10T09:27:54.222047395Z" />
</State>
</entry> </entry>
</value> </value>
</component> </component>

1
.idea/gradle.xml generated
View File

@@ -15,5 +15,6 @@
<option name="resolveExternalAnnotations" value="false" /> <option name="resolveExternalAnnotations" value="false" />
</GradleProjectSettings> </GradleProjectSettings>
</option> </option>
<option name="offlineMode" value="true" />
</component> </component>
</project> </project>

View File

@@ -8,21 +8,37 @@ android {
namespace 'com.aldo.apps.familyhelpers' namespace 'com.aldo.apps.familyhelpers'
compileSdk 34 compileSdk 34
signingConfigs {
myCustomKeystore {
storeFile file(keystorePath)
keyAlias myKeystoreAlias
storePassword myStorePassword
keyPassword myKeyPassword
}
}
defaultConfig { defaultConfig {
applicationId "com.aldo.apps.familyhelpers" applicationId "com.aldo.apps.familyhelpers"
minSdk 32 minSdk 32
targetSdk 34 targetSdk 34
versionCode 1 versionCode 8
versionName "1.0" // ... other configurations versionName "0.2.3"
android.buildFeatures.buildConfig true
testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner" testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
} }
buildTypes { buildTypes {
debug {
signingConfig signingConfigs.myCustomKeystore
buildConfigField "String", "GOOGLE_MAPS_API_KEY", "\"${googleMapsApiKeyRelease}\""
manifestPlaceholders.google_maps_api_key = googleMapsApiKeyRelease
}
release { release {
minifyEnabled false signingConfig signingConfigs.myCustomKeystore
proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro' proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
buildConfigField "String", "GOOGLE_MAPS_API_KEY", "\"${googleMapsApiKeyRelease}\""
manifestPlaceholders.google_maps_api_key = googleMapsApiKeyRelease
} }
} }
compileOptions { compileOptions {

View File

@@ -13,14 +13,6 @@
} }
}, },
"oauth_client": [ "oauth_client": [
{
"client_id": "1057049253579-7pgnva498827l6e88sags7fam36gktpb.apps.googleusercontent.com",
"client_type": 1,
"android_info": {
"package_name": "com.aldo.apps.familyhelpers",
"certificate_hash": "1166e18cf665c3cae0c8ada885a5f0f48d95a9f1"
}
},
{ {
"client_id": "1057049253579-6de9kv08ne2ti29lpptlb10egfcn5s06.apps.googleusercontent.com", "client_id": "1057049253579-6de9kv08ne2ti29lpptlb10egfcn5s06.apps.googleusercontent.com",
"client_type": 3 "client_type": 3
@@ -28,7 +20,7 @@
], ],
"api_key": [ "api_key": [
{ {
"current_key": "AIzaSyB7C4QCJEBvS7mFa_DeIZdzqe2hddtl-vk" "current_key": "AIzaSyAkX3425N7vSXsIdmUo84fISB4VY4sWMA8"
} }
], ],
"services": { "services": {

View File

@@ -3,7 +3,7 @@
xmlns:tools="http://schemas.android.com/tools"> xmlns:tools="http://schemas.android.com/tools">
<uses-feature <uses-feature
android:name="android.hardware.camera" android:name="android.hardware.camera.any"
android:required="false" /> android:required="false" />
<uses-permission android:name="android.permission.POST_NOTIFICATIONS" /> <uses-permission android:name="android.permission.POST_NOTIFICATIONS" />
@@ -21,7 +21,12 @@
android:targetSdkVersion="34" /> android:targetSdkVersion="34" />
<uses-feature <uses-feature
android:name="android.software.car.templates_host"/> android:name="android.software.car.templates_host"
android:required="false"/>
<uses-feature
android:name="android.hardware.camera.any"
android:required="false" />
<application <application
android:allowBackup="true" android:allowBackup="true"
@@ -36,7 +41,7 @@
<meta-data <meta-data
android:name="com.google.android.geo.API_KEY" android:name="com.google.android.geo.API_KEY"
android:value="AIzaSyB7C4QCJEBvS7mFa_DeIZdzqe2hddtl-vk" /> android:value="${google_maps_api_key}" />
<meta-data android:name="com.google.android.gms.car.application" <meta-data android:name="com.google.android.gms.car.application"
android:resource="@xml/automotive_app_desc"/> android:resource="@xml/automotive_app_desc"/>
<meta-data <meta-data

View File

@@ -81,19 +81,16 @@ public class HelperGridActivity extends AppCompatActivity {
* The {@link ActivityResultLauncher} for the sign in of a firebase user. * The {@link ActivityResultLauncher} for the sign in of a firebase user.
*/ */
private final ActivityResultLauncher<Intent> mSignInLauncher = private final ActivityResultLauncher<Intent> mSignInLauncher =
registerForActivityResult(new FirebaseAuthUIActivityResultContract(), this::onSignInResult); /** registerForActivityResult(new FirebaseAuthUIActivityResultContract(), this::onSignInResult);
/**
* The {@link ActivityResultLauncher} to ask for the NotificationPermission. * The {@link ActivityResultLauncher} to ask for the NotificationPermission.
*/ */
private final ActivityResultLauncher<String> mRequestPermissionLauncher = private final ActivityResultLauncher<String> mRequestPermissionLauncher =
registerForActivityResult(new ActivityResultContracts.RequestPermission(), isGranted -> { registerForActivityResult(new ActivityResultContracts.RequestPermission(), isGranted -> {
if (isGranted) { if (!isGranted) {
// Permission granted, you can post notifications Toast.makeText(HelperGridActivity.this, "Permission denied, cannot continue",
mSleepTimerTile.launchHelper();
} else {
// Permission denied, handle accordingly
Toast.makeText(HelperGridActivity.this, R.string.sleep_timer_show_notifications_rationale,
Toast.LENGTH_LONG).show(); Toast.LENGTH_LONG).show();
requestNotificationPermission();
} }
}); });
@@ -298,7 +295,7 @@ public class HelperGridActivity extends AppCompatActivity {
Log.w(TAG, "onSignInResult: User canceled, cannot continue"); Log.w(TAG, "onSignInResult: User canceled, cannot continue");
} else { } else {
Log.e(TAG, "onSignInResult: Login failed with errorCode [" Log.e(TAG, "onSignInResult: Login failed with errorCode ["
+ idpResponse.getError().getErrorCode() + "]"); + idpResponse.getError().getErrorCode() + "] == " + idpResponse.getError().getMessage());
} }
} }
} }

View File

@@ -19,3 +19,10 @@ android.useAndroidX=true
# resources declared in the library itself and none from the library's dependencies, # resources declared in the library itself and none from the library's dependencies,
# thereby reducing the size of the R class for that library # thereby reducing the size of the R class for that library
android.nonTransitiveRClass=true android.nonTransitiveRClass=true
googleMapsApiKeyDebug=AIzaSyAy5N6gqnWhPwIbuG7-_uS19XMaGQPiaYw
googleMapsApiKeyRelease=AIzaSyAInTfubu896jI1LKl-fLyJSMusuiuwc3Y
keystorePath=../.secrets/AldoApps_KeystoreUpload.jks
myKeystoreAlias=upload
myStorePassword=p49Js5ewYPZbkvhj
myKeyPassword=p49Js5ewYPZbkvhj