From 9f3ed2456946870aa23c1f996cd5d59d59c381f1 Mon Sep 17 00:00:00 2001 From: Lukas Pieper <30661176+lukaspieper@users.noreply.github.com> Date: Fri, 1 Oct 2021 15:56:40 +0200 Subject: [PATCH] Add support for photo preview button Inspired by the solution from Calyx: https://gitlab.com/CalyxOS/platform_external_calyx_GCamPhotosPreview --- .github/workflows/continuous.yml | 16 +++++++--- app/build.gradle | 14 ++++++--- app/src/main/AndroidManifest.xml | 31 ++++++++++++++++++- .../gcam/{services => }/GServicesProvider.kt | 2 +- .../gcam/PreviewRedirectActivity.kt | 24 ++++++++++++++ 5 files changed, 75 insertions(+), 12 deletions(-) rename app/src/main/java/de/lukaspieper/gcam/{services => }/GServicesProvider.kt (97%) create mode 100644 app/src/main/java/de/lukaspieper/gcam/PreviewRedirectActivity.kt diff --git a/.github/workflows/continuous.yml b/.github/workflows/continuous.yml index f7a293e..5f8f99a 100644 --- a/.github/workflows/continuous.yml +++ b/.github/workflows/continuous.yml @@ -7,14 +7,20 @@ jobs: runs-on: ubuntu-latest steps: - uses: actions/checkout@v2 + - name: set up JDK 11 uses: actions/setup-java@v1 with: java-version: '11' - - name: Build Debug APK with Gradle - run: ./gradlew assembleDebug - - name: Upload APK + + - name: Build basic APK with Gradle + run: ./gradlew assembleBasicDebug + + - name: Build photos APK with Gradle + run: ./gradlew assemblePhotosDebug + + - name: Upload APKs uses: actions/upload-artifact@v2 with: - name: App - path: ${{ github.workspace }}/app/build/outputs/apk/debug/app-debug.apk + name: APKs + path: ${{ github.workspace }}/app/build/outputs/apk/**/debug/*.apk diff --git a/app/build.gradle b/app/build.gradle index 3757dcf..b483c3c 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -11,13 +11,17 @@ android { versionName "1.2" } - buildTypes { - release { - minifyEnabled false - proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro' + flavorDimensions 'default' + productFlavors { + basic { + dimension 'default' + applicationId 'de.lukaspieper.gcam.services' + } + photos { + dimension 'default' + applicationId 'com.google.android.apps.photos' } } - } dependencies { diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index 50e236f..04c5a28 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -9,13 +9,42 @@ android:label="@string/app_name" android:roundIcon="@mipmap/ic_launcher_round" android:supportsRtl="true" + android:theme="@android:style/Theme.NoDisplay" tools:targetApi="30"> + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/app/src/main/java/de/lukaspieper/gcam/services/GServicesProvider.kt b/app/src/main/java/de/lukaspieper/gcam/GServicesProvider.kt similarity index 97% rename from app/src/main/java/de/lukaspieper/gcam/services/GServicesProvider.kt rename to app/src/main/java/de/lukaspieper/gcam/GServicesProvider.kt index 604c3eb..01841d2 100644 --- a/app/src/main/java/de/lukaspieper/gcam/services/GServicesProvider.kt +++ b/app/src/main/java/de/lukaspieper/gcam/GServicesProvider.kt @@ -1,4 +1,4 @@ -package com.google.android.gms +package de.lukaspieper.gcam import android.content.ContentProvider import android.content.ContentValues diff --git a/app/src/main/java/de/lukaspieper/gcam/PreviewRedirectActivity.kt b/app/src/main/java/de/lukaspieper/gcam/PreviewRedirectActivity.kt new file mode 100644 index 0000000..ad57bb5 --- /dev/null +++ b/app/src/main/java/de/lukaspieper/gcam/PreviewRedirectActivity.kt @@ -0,0 +1,24 @@ +package de.lukaspieper.gcam + +import android.app.Activity +import android.os.Bundle +import android.util.Log +import android.content.Intent + +class PreviewRedirectActivity : Activity() { + + override fun onCreate(savedInstanceState: Bundle?) { + super.onCreate(savedInstanceState) + + Log.d(javaClass.simpleName, intent.toString()) + + if (intent.`package` == packageName) { + intent.data?.let { uri -> + val intent = Intent(Intent.ACTION_VIEW, uri) + startActivity(intent) + } + } + + finish() + } +}