[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">
<value>
<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>
</value>
</component>

1
.idea/gradle.xml generated
View File

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

View File

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

View File

@@ -13,14 +13,6 @@
}
},
"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_type": 3
@@ -28,7 +20,7 @@
],
"api_key": [
{
"current_key": "AIzaSyB7C4QCJEBvS7mFa_DeIZdzqe2hddtl-vk"
"current_key": "AIzaSyAkX3425N7vSXsIdmUo84fISB4VY4sWMA8"
}
],
"services": {

View File

@@ -3,7 +3,7 @@
xmlns:tools="http://schemas.android.com/tools">
<uses-feature
android:name="android.hardware.camera"
android:name="android.hardware.camera.any"
android:required="false" />
<uses-permission android:name="android.permission.POST_NOTIFICATIONS" />
@@ -21,7 +21,12 @@
android:targetSdkVersion="34" />
<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
android:allowBackup="true"
@@ -36,7 +41,7 @@
<meta-data
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"
android:resource="@xml/automotive_app_desc"/>
<meta-data

View File

@@ -81,19 +81,16 @@ public class HelperGridActivity extends AppCompatActivity {
* The {@link ActivityResultLauncher} for the sign in of a firebase user.
*/
private final ActivityResultLauncher<Intent> mSignInLauncher =
registerForActivityResult(new FirebaseAuthUIActivityResultContract(), this::onSignInResult); /**
registerForActivityResult(new FirebaseAuthUIActivityResultContract(), this::onSignInResult);
/**
* The {@link ActivityResultLauncher} to ask for the NotificationPermission.
*/
private final ActivityResultLauncher<String> mRequestPermissionLauncher =
registerForActivityResult(new ActivityResultContracts.RequestPermission(), isGranted -> {
if (isGranted) {
// Permission granted, you can post notifications
mSleepTimerTile.launchHelper();
} else {
// Permission denied, handle accordingly
Toast.makeText(HelperGridActivity.this, R.string.sleep_timer_show_notifications_rationale,
if (!isGranted) {
Toast.makeText(HelperGridActivity.this, "Permission denied, cannot continue",
Toast.LENGTH_LONG).show();
requestNotificationPermission();
}
});
@@ -298,7 +295,7 @@ public class HelperGridActivity extends AppCompatActivity {
Log.w(TAG, "onSignInResult: User canceled, cannot continue");
} else {
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,
# thereby reducing the size of the R class for that library
android.nonTransitiveRClass=true
googleMapsApiKeyDebug=AIzaSyAy5N6gqnWhPwIbuG7-_uS19XMaGQPiaYw
googleMapsApiKeyRelease=AIzaSyAInTfubu896jI1LKl-fLyJSMusuiuwc3Y
keystorePath=../.secrets/AldoApps_KeystoreUpload.jks
myKeystoreAlias=upload
myStorePassword=p49Js5ewYPZbkvhj
myKeyPassword=p49Js5ewYPZbkvhj