diff --git a/admob/app/build.gradle b/admob/app/build.gradle
index 499b94660..2534ad1e4 100644
--- a/admob/app/build.gradle
+++ b/admob/app/build.gradle
@@ -25,17 +25,17 @@ dependencies {
implementation 'androidx.legacy:legacy-support-v4:1.0.0'
implementation 'androidx.browser:browser:1.0.0'
implementation 'androidx.appcompat:appcompat:1.4.1'
- implementation "com.google.firebase:firebase-ads:20.6.0"
- implementation "androidx.constraintlayout:constraintlayout:2.1.3"
+ implementation "com.google.firebase:firebase-ads:21.0.0"
+ implementation "androidx.constraintlayout:constraintlayout:2.1.4"
implementation "androidx.multidex:multidex:2.0.1"
// [START gradle_play_config]
- implementation 'com.google.android.gms:play-services-ads:20.6.0'
+ implementation 'com.google.android.gms:play-services-ads:21.0.0'
// [END gradle_play_config]
// For an optimal experience using AdMob, add the Firebase SDK
// for Google Analytics. This is recommended, but not required.
- implementation 'com.google.firebase:firebase-analytics:20.1.2'
+ implementation 'com.google.firebase:firebase-analytics:21.0.0'
}
apply plugin: 'com.google.gms.google-services'
diff --git a/admob/build.gradle b/admob/build.gradle
index 27d603dd2..e662653e6 100644
--- a/admob/build.gradle
+++ b/admob/build.gradle
@@ -6,7 +6,7 @@ buildscript {
mavenCentral()
}
dependencies {
- classpath 'com.android.tools.build:gradle:7.1.3'
+ classpath 'com.android.tools.build:gradle:7.2.1'
classpath 'com.google.gms:google-services:4.3.10'
classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:1.6.21"
}
diff --git a/analytics/app/build.gradle b/analytics/app/build.gradle
index 2bd259406..bc50b2892 100644
--- a/analytics/app/build.gradle
+++ b/analytics/app/build.gradle
@@ -11,6 +11,7 @@ android {
versionCode 1
versionName "1.0"
testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
+ multiDexEnabled true
}
buildTypes {
release {
@@ -29,11 +30,11 @@ repositories {
dependencies {
implementation 'androidx.legacy:legacy-support-v4:1.0.0'
implementation 'androidx.appcompat:appcompat:1.4.1'
- implementation "com.google.firebase:firebase-analytics:20.1.2"
- implementation "com.google.firebase:firebase-analytics-ktx:20.1.2"
+ implementation "com.google.firebase:firebase-analytics:21.0.0"
+ implementation "com.google.firebase:firebase-analytics-ktx:21.0.0"
// Ironsource and AppLovin libraries used for ad_impression snippets
implementation 'com.applovin:applovin-sdk:+'
- implementation 'com.ironsource.sdk:mediationsdk:7.2.1.1'
+ implementation 'com.ironsource.sdk:mediationsdk:7.2.2'
}
diff --git a/analytics/build.gradle b/analytics/build.gradle
index b68f72227..910d36293 100644
--- a/analytics/build.gradle
+++ b/analytics/build.gradle
@@ -6,7 +6,7 @@ buildscript {
mavenCentral()
}
dependencies {
- classpath 'com.android.tools.build:gradle:7.1.3'
+ classpath 'com.android.tools.build:gradle:7.2.1'
classpath 'com.google.gms:google-services:4.3.10'
classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:1.6.21"
}
diff --git a/appcheck/app/build.gradle b/appcheck/app/build.gradle
index 0edb7e133..d0d6aa1c0 100644
--- a/appcheck/app/build.gradle
+++ b/appcheck/app/build.gradle
@@ -29,12 +29,12 @@ android {
dependencies {
implementation 'androidx.appcompat:appcompat:1.4.1'
- implementation 'com.google.android.material:material:1.5.0'
- implementation 'androidx.constraintlayout:constraintlayout:2.1.3'
+ implementation 'com.google.android.material:material:1.6.0'
+ implementation 'androidx.constraintlayout:constraintlayout:2.1.4'
- implementation 'com.google.firebase:firebase-appcheck:16.0.0-beta02'
- implementation 'com.google.firebase:firebase-appcheck-debug:16.0.0-beta02'
- implementation 'com.google.firebase:firebase-appcheck-safetynet:16.0.0-beta02'
+ implementation 'com.google.firebase:firebase-appcheck:16.0.0'
+ implementation 'com.google.firebase:firebase-appcheck-debug:16.0.0'
+ implementation 'com.google.firebase:firebase-appcheck-safetynet:16.0.0'
implementation 'com.squareup.retrofit2:retrofit:2.9.0'
diff --git a/appcheck/build.gradle b/appcheck/build.gradle
index 4a1cd4358..79f00ea98 100644
--- a/appcheck/build.gradle
+++ b/appcheck/build.gradle
@@ -6,7 +6,7 @@ buildscript {
mavenCentral()
}
dependencies {
- classpath "com.android.tools.build:gradle:7.1.3"
+ classpath "com.android.tools.build:gradle:7.2.1"
classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"
classpath 'com.google.gms:google-services:4.3.10'
diff --git a/appindexing/.gitignore b/appindexing/.gitignore
deleted file mode 100644
index 39fb081a4..000000000
--- a/appindexing/.gitignore
+++ /dev/null
@@ -1,9 +0,0 @@
-*.iml
-.gradle
-/local.properties
-/.idea/workspace.xml
-/.idea/libraries
-.DS_Store
-/build
-/captures
-.externalNativeBuild
diff --git a/appindexing/app/.gitignore b/appindexing/app/.gitignore
deleted file mode 100644
index 796b96d1c..000000000
--- a/appindexing/app/.gitignore
+++ /dev/null
@@ -1 +0,0 @@
-/build
diff --git a/appindexing/app/build.gradle b/appindexing/app/build.gradle
deleted file mode 100644
index cbe05efbc..000000000
--- a/appindexing/app/build.gradle
+++ /dev/null
@@ -1,30 +0,0 @@
-apply plugin: 'com.android.application'
-apply plugin: 'kotlin-android'
-
-android {
- compileSdkVersion 32
-
- defaultConfig {
- applicationId "com.google.firebase.example.appindexing"
- minSdkVersion 19
- targetSdkVersion 32
- versionCode 1
- versionName "1.0"
- testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
- }
- buildTypes {
- release {
- minifyEnabled false
- proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
- }
- }
-}
-
-dependencies {
- implementation 'androidx.legacy:legacy-support-v4:1.0.0'
- implementation 'androidx.appcompat:appcompat:1.4.1'
- implementation "com.google.firebase:firebase-appindexing:20.0.0"
- implementation 'androidx.constraintlayout:constraintlayout:2.1.3'
-}
-
-apply plugin: 'com.google.gms.google-services'
diff --git a/appindexing/app/google-services.json b/appindexing/app/google-services.json
deleted file mode 100644
index 1a293ac6a..000000000
--- a/appindexing/app/google-services.json
+++ /dev/null
@@ -1,68 +0,0 @@
-{
- "project_info": {
- "project_id": "mockproject-1234",
- "project_number": "123456789000",
- "name": "FirebaseQuickstarts",
- "firebase_url": "https://mockproject-1234.firebaseio.com"
- },
- "client": [
- {
- "client_info": {
- "mobilesdk_app_id": "1:123456789000:android:f1bf012572b04065",
- "client_id": "android:com.google.firebase.example.appindexing",
- "client_type": 1,
- "android_client_info": {
- "package_name": "com.google.firebase.example.appindexing",
- "certificate_hash": []
- }
- },
- "oauth_client": [
- {
- "client_id": "123456789000-hjugbg6ud799v4c49dim8ce2usclthar.apps.googleusercontent.com",
- "client_type": 1,
- "android_info": {
- "package_name": "com.google.firebase.example.appindexing",
- "certificate_hash": "4C20644DE36B8F89D25650C7D1FF9FBAE650FDF7"
- }
- },
- {
- "client_id": "123456789000-e4uksm38sne0bqrj6uvkbo4oiu4hvigl.apps.googleusercontent.com",
- "client_type": 3
- }
- ],
- "api_key": [
- {
- "current_key": "AIzbSzCn1N6LWIe6wthYyrgUUSAlUsdqMb-wvTo"
- }
- ],
- "services": {
- "analytics_service": {
- "status": 1
- },
- "cloud_messaging_service": {
- "status": 2,
- "apns_config": []
- },
- "appinvite_service": {
- "status": 2,
- "other_platform_oauth_client": [
- {
- "client_id": "123456789000-e4uksm38sne0bqrj6uvkbo4oiu4hvigl.apps.googleusercontent.com",
- "client_type": 3
- }
- ]
- },
- "google_signin_service": {
- "status": 2
- },
- "ads_service": {
- "status": 2,
- "test_banner_ad_unit_id": "ca-app-pub-3940256099942544/6300978111",
- "test_interstitial_ad_unit_id": "ca-app-pub-3940256099942544/1033173712"
- }
- }
- }
- ],
- "client_info": [],
- "ARTIFACT_VERSION": "1"
-}
diff --git a/appindexing/app/proguard-rules.pro b/appindexing/app/proguard-rules.pro
deleted file mode 100644
index af6097fd5..000000000
--- a/appindexing/app/proguard-rules.pro
+++ /dev/null
@@ -1,17 +0,0 @@
-# Add project specific ProGuard rules here.
-# By default, the flags in this file are appended to flags specified
-# in /Users/ianbarber/Library/Android/sdk/tools/proguard/proguard-android.txt
-# You can edit the include path and order by changing the proguardFiles
-# directive in build.gradle.
-#
-# For more details, see
-# http://developer.android.com/guide/developing/tools/proguard.html
-
-# Add any project specific keep options here:
-
-# If your project uses WebView with JS, uncomment the following
-# and specify the fully qualified class name to the JavaScript interface
-# class:
-#-keepclassmembers class fqcn.of.javascript.interface.for.webview {
-# public *;
-#}
diff --git a/appindexing/app/src/main/AndroidManifest.xml b/appindexing/app/src/main/AndroidManifest.xml
deleted file mode 100644
index 62e320f60..000000000
--- a/appindexing/app/src/main/AndroidManifest.xml
+++ /dev/null
@@ -1,64 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/appindexing/app/src/main/java/com/google/firebase/example/appindexing/AppIndexingUpdateReceiver.java b/appindexing/app/src/main/java/com/google/firebase/example/appindexing/AppIndexingUpdateReceiver.java
deleted file mode 100644
index 80dc76ef8..000000000
--- a/appindexing/app/src/main/java/com/google/firebase/example/appindexing/AppIndexingUpdateReceiver.java
+++ /dev/null
@@ -1,23 +0,0 @@
-package com.google.firebase.example.appindexing;
-
-import android.content.BroadcastReceiver;
-import android.content.Context;
-import android.content.Intent;
-
-import com.google.firebase.appindexing.FirebaseAppIndex;
-
-// [START appindexing_update_receiver]
-/** Receives broadcast for App Indexing Update. */
-public class AppIndexingUpdateReceiver extends BroadcastReceiver {
-
- @Override
- public void onReceive(Context context, Intent intent) {
- if (intent != null
- && FirebaseAppIndex.ACTION_UPDATE_INDEX.equals(intent.getAction())) {
- // Schedule the job to be run in the background.
- AppIndexingUpdateService.enqueueWork(context);
- }
- }
-
-}
-// [END appindexing_update_receiver]
diff --git a/appindexing/app/src/main/java/com/google/firebase/example/appindexing/AppIndexingUpdateService.java b/appindexing/app/src/main/java/com/google/firebase/example/appindexing/AppIndexingUpdateService.java
deleted file mode 100644
index 8c46cec6b..000000000
--- a/appindexing/app/src/main/java/com/google/firebase/example/appindexing/AppIndexingUpdateService.java
+++ /dev/null
@@ -1,71 +0,0 @@
-package com.google.firebase.example.appindexing;
-
-import android.content.Context;
-import android.content.Intent;
-import androidx.annotation.NonNull;
-import androidx.core.app.JobIntentService;
-
-import com.google.android.gms.tasks.Tasks;
-import com.google.firebase.appindexing.FirebaseAppIndex;
-import com.google.firebase.appindexing.Indexable;
-import com.google.firebase.appindexing.builders.Indexables;
-import com.google.firebase.example.appindexing.model.Note;
-import com.google.firebase.example.appindexing.model.Recipe;
-
-import java.util.ArrayList;
-import java.util.Collections;
-import java.util.List;
-
-import java.util.concurrent.ExecutionException;
-
-// [START appindexing_update_service]
-public class AppIndexingUpdateService extends JobIntentService {
-
- // Job-ID must be unique across your whole app.
- private static final int UNIQUE_JOB_ID = 42;
-
- public static void enqueueWork(Context context) {
- enqueueWork(context, AppIndexingUpdateService.class, UNIQUE_JOB_ID, new Intent());
- }
-
- @Override
- protected void onHandleWork(@NonNull Intent intent) {
- // TODO Insert your Indexable objects — for example, the recipe notes look as follows:
-
- ArrayList indexableNotes = new ArrayList<>();
-
- for (Recipe recipe : getAllRecipes()) {
- Note note = recipe.getNote();
- if (note != null) {
- Indexable noteToIndex = Indexables.noteDigitalDocumentBuilder()
- .setName(recipe.getTitle() + " Note")
- .setText(note.getText())
- .setUrl(recipe.getNoteUrl())
- .build();
-
- indexableNotes.add(noteToIndex);
- }
- }
-
- if (indexableNotes.size() > 0) {
- Indexable[] notesArr = new Indexable[indexableNotes.size()];
- notesArr = indexableNotes.toArray(notesArr);
-
- // batch insert indexable notes into index
- try {
- Tasks.await(FirebaseAppIndex.getInstance(this).update(notesArr));
- } catch (ExecutionException e) {
- // update failed
- } catch (InterruptedException e) {
- // await was interrupted
- }
- }
- }
-
- // [START_EXCLUDE]
- private List getAllRecipes() {
- return Collections.emptyList();
- }
- // [END_EXCLUDE]
-}
-// [END appindexing_update_service]
diff --git a/appindexing/app/src/main/java/com/google/firebase/example/appindexing/MainActivity.java b/appindexing/app/src/main/java/com/google/firebase/example/appindexing/MainActivity.java
deleted file mode 100644
index 7c4a59d98..000000000
--- a/appindexing/app/src/main/java/com/google/firebase/example/appindexing/MainActivity.java
+++ /dev/null
@@ -1,96 +0,0 @@
-package com.google.firebase.example.appindexing;
-
-import android.os.Bundle;
-import androidx.appcompat.app.AppCompatActivity;
-
-import com.google.android.gms.tasks.Task;
-import com.google.firebase.appindexing.Action;
-import com.google.firebase.appindexing.FirebaseAppIndex;
-import com.google.firebase.appindexing.FirebaseUserActions;
-import com.google.firebase.appindexing.Indexable;
-import com.google.firebase.appindexing.builders.Indexables;
-import com.google.firebase.example.appindexing.model.Note;
-import com.google.firebase.example.appindexing.model.Recipe;
-
-public class MainActivity extends AppCompatActivity {
-
- private Note mNote;
-
- @Override
- protected void onCreate(Bundle savedInstanceState) {
- super.onCreate(savedInstanceState);
- }
-
- // [START appindexing_onstart_onstop]
- @Override
- protected void onStart() {
- super.onStart();
- // If you’re logging an action on content that hasn’t been added to the index yet,
- // add it first.
- // See https://firebase.google.com/docs/app-indexing/android/personal-content#update-the-index.
-
- FirebaseUserActions.getInstance(this).start(getRecipeViewAction());
- }
-
- @Override
- protected void onStop() {
- FirebaseUserActions.getInstance(this).end(getRecipeViewAction());
- super.onStop();
- }
- // [END appindexing_onstart_onstop]
-
- // [START appindexing_instantaneous]
- public void displayNoteDialog(final String positiveText, final String negativeText) {
- // ...
-
- // If you’re logging an action on content that hasn’t been added to the index yet,
- // add it first.
- // See https://firebase.google.com/docs/app-indexing/android/personal-content#update-the-index.
-
- FirebaseUserActions.getInstance(this).end(getNoteCommentAction());
- // ...
- }
-
- public Action getNoteCommentAction() {
- return new Action.Builder(Action.Builder.COMMENT_ACTION)
- .setObject(mNote.getTitle(), mNote.getNoteUrl())
- // Keep action data for personal connulltent on the device
- .setMetadata(new Action.Metadata.Builder().setUpload(false))
- .build();
- }
- // [END appindexing_instantaneous]
-
- // [START appindexing_update]
- public void indexNote(Recipe recipe) {
- Note note = recipe.getNote();
- Indexable noteToIndex = Indexables.noteDigitalDocumentBuilder()
- .setName(recipe.getTitle())
- .setText(note.getText())
- .setUrl(recipe.getNoteUrl())
- .build();
-
- Task task = FirebaseAppIndex.getInstance(this).update(noteToIndex);
- // ...
- }
- // [END appindexing_update]
-
- private void removeNote(Recipe recipe) {
- // [START appindexing_remove_one]
- // Deletes or removes the corresponding notes from index.
- String noteUrl = recipe.getNoteUrl();
- FirebaseAppIndex.getInstance(this).remove(noteUrl);
- // [END appindexing_remove_one]
- }
-
- public void removeAll() {
- // [START appindexing_remove_all]
- FirebaseAppIndex.getInstance(this).removeAll();
- // [END appindexing_remove_all]
- }
-
- public Action getRecipeViewAction() {
- // This is just to make some things compile.
- return null;
- }
-
-}
diff --git a/appindexing/app/src/main/java/com/google/firebase/example/appindexing/MeasureActivity.java b/appindexing/app/src/main/java/com/google/firebase/example/appindexing/MeasureActivity.java
deleted file mode 100644
index 36435d714..000000000
--- a/appindexing/app/src/main/java/com/google/firebase/example/appindexing/MeasureActivity.java
+++ /dev/null
@@ -1,78 +0,0 @@
-package com.google.firebase.example.appindexing;
-
-import android.content.Intent;
-import android.net.ParseException;
-import android.net.Uri;
-import android.os.Build;
-import android.os.Bundle;
-import androidx.appcompat.app.AppCompatActivity;
-
-import com.google.firebase.appindexing.AndroidAppUri;
-
-// [START appindexing_measure_activity]
-public class MeasureActivity extends AppCompatActivity {
-
- @Override
- public Uri getReferrer() {
-
- // There is a built in function available from SDK>=22
- if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP_MR1) {
- return super.getReferrer();
- }
-
- Intent intent = getIntent();
- Uri referrer = (Uri) intent.getExtras().get("android.intent.extra.REFERRER");
- if (referrer != null) {
- return referrer;
- }
-
- String referrerName = intent.getStringExtra("android.intent.extra.REFERRER_NAME");
-
- if (referrerName != null) {
- try {
- return Uri.parse(referrerName);
- } catch (ParseException e) {
- // ...
- }
- }
-
- return null;
- }
-
- @Override
- protected void onCreate(Bundle savedInstanceState) {
- super.onCreate(savedInstanceState);
- // ...
- Uri referrer = getReferrer();
-
- if (referrer != null) {
- if (referrer.getScheme().equals("http") || referrer.getScheme().equals("https")) {
- // App was opened from a browser
- // host will contain the host path (e.g. www.google.com)
- String host = referrer.getHost();
-
- // Add analytics code below to track this click from web Search
- // ...
-
- } else if (referrer.getScheme().equals("android-app")) {
- // App was opened from another app
- AndroidAppUri appUri = AndroidAppUri.newAndroidAppUri(referrer);
- String referrerPackage = appUri.getPackageName();
- if ("com.google.android.googlequicksearchbox".equals(referrerPackage)) {
- // App was opened from the Google app
- // host will contain the host path (e.g. www.google.com)
- String host = appUri.getDeepLinkUri().getHost();
-
- // Add analytics code below to track this click from the Google app
- // ...
-
- } else if ("com.google.appcrawler".equals(referrerPackage)) {
- // Make sure this is not being counted as part of app usage
- // ...
- }
- }
- }
- // ...
- }
-}
-// [END appindexing_measure_activity]
diff --git a/appindexing/app/src/main/java/com/google/firebase/example/appindexing/kotlin/AppIndexingUpdateReceiver.kt b/appindexing/app/src/main/java/com/google/firebase/example/appindexing/kotlin/AppIndexingUpdateReceiver.kt
deleted file mode 100644
index bcdbe7a9c..000000000
--- a/appindexing/app/src/main/java/com/google/firebase/example/appindexing/kotlin/AppIndexingUpdateReceiver.kt
+++ /dev/null
@@ -1,19 +0,0 @@
-package com.google.firebase.example.appindexing.kotlin
-
-import android.content.BroadcastReceiver
-import android.content.Context
-import android.content.Intent
-import com.google.firebase.appindexing.FirebaseAppIndex
-
-// [START appindexing_update_receiver]
-/** Receives broadcast for App Indexing Update. */
-class AppIndexingUpdateReceiver : BroadcastReceiver() {
-
- override fun onReceive(context: Context, intent: Intent?) {
- if (intent != null && FirebaseAppIndex.ACTION_UPDATE_INDEX == intent.action) {
- // Schedule the job to be run in the background.
- AppIndexingUpdateService.enqueueWork(context)
- }
- }
-}
-// [END appindexing_update_receiver]
diff --git a/appindexing/app/src/main/java/com/google/firebase/example/appindexing/kotlin/AppIndexingUpdateService.kt b/appindexing/app/src/main/java/com/google/firebase/example/appindexing/kotlin/AppIndexingUpdateService.kt
deleted file mode 100644
index 3ed29c4fa..000000000
--- a/appindexing/app/src/main/java/com/google/firebase/example/appindexing/kotlin/AppIndexingUpdateService.kt
+++ /dev/null
@@ -1,64 +0,0 @@
-package com.google.firebase.example.appindexing.kotlin
-
-import android.content.Context
-import android.content.Intent
-import androidx.core.app.JobIntentService
-import com.google.android.gms.tasks.Tasks
-import com.google.firebase.appindexing.FirebaseAppIndex
-import com.google.firebase.appindexing.Indexable
-import com.google.firebase.appindexing.builders.Indexables
-import com.google.firebase.example.appindexing.model.Recipe
-import java.util.concurrent.ExecutionException
-
-// [START appindexing_update_service]
-class AppIndexingUpdateService : JobIntentService() {
-
- companion object {
-
- // Job-ID must be unique across your whole app.
- private const val UNIQUE_JOB_ID = 42
-
- fun enqueueWork(context: Context) {
- enqueueWork(context, AppIndexingUpdateService::class.java, UNIQUE_JOB_ID, Intent())
- }
- }
-
- override fun onHandleWork(intent: Intent) {
- // TODO Insert your Indexable objects — for example, the recipe notes look as follows:
-
- val indexableNotes = arrayListOf()
-
- for (recipe in getAllRecipes()) {
- val note = recipe.note
- if (note != null) {
- val noteToIndex = Indexables.noteDigitalDocumentBuilder()
- .setName(recipe.title + " Note")
- .setText(note.text)
- .setUrl(recipe.noteUrl)
- .build()
-
- indexableNotes.add(noteToIndex)
- }
- }
-
- if (indexableNotes.size > 0) {
- val notesArr: Array = indexableNotes.toTypedArray()
-
- // batch insert indexable notes into index
- try {
- Tasks.await(FirebaseAppIndex.getInstance(this).update(*notesArr))
- } catch (e: ExecutionException) {
- // update failed
- } catch (e: InterruptedException) {
- // await was interrupted
- }
- }
- }
-
- // [START_EXCLUDE]
- private fun getAllRecipes(): List {
- return emptyList()
- }
- // [END_EXCLUDE]
-}
-// [END appindexing_update_service]
diff --git a/appindexing/app/src/main/java/com/google/firebase/example/appindexing/kotlin/MainActivity.kt b/appindexing/app/src/main/java/com/google/firebase/example/appindexing/kotlin/MainActivity.kt
deleted file mode 100644
index c0d314636..000000000
--- a/appindexing/app/src/main/java/com/google/firebase/example/appindexing/kotlin/MainActivity.kt
+++ /dev/null
@@ -1,84 +0,0 @@
-package com.google.firebase.example.appindexing.kotlin
-
-import androidx.appcompat.app.AppCompatActivity
-import com.google.firebase.appindexing.Action
-import com.google.firebase.appindexing.FirebaseAppIndex
-import com.google.firebase.appindexing.FirebaseUserActions
-import com.google.firebase.appindexing.builders.Indexables
-import com.google.firebase.example.appindexing.model.Note
-import com.google.firebase.example.appindexing.model.Recipe
-
-class MainActivity : AppCompatActivity() {
-
- private lateinit var note: Note
-
- // [START appindexing_onstart_onstop]
- override fun onStart() {
- super.onStart()
- // If you’re logging an action on content that hasn’t been added to the index yet,
- // add it first.
- // See https://firebase.google.com/docs/app-indexing/android/personal-content#update-the-index.
-
- FirebaseUserActions.getInstance(this).start(getRecipeViewAction())
- }
-
- override fun onStop() {
- FirebaseUserActions.getInstance(this).end(getRecipeViewAction())
- super.onStop()
- }
- // [END appindexing_onstart_onstop]
-
- // [START appindexing_instantaneous]
- fun displayNoteDialog(positiveText: String, negativeText: String) {
- // ...
-
- // If you’re logging an action on content that hasn’t been added to the index yet,
- // add it first.
- // See https://firebase.google.com/docs/app-indexing/android/personal-content#update-the-index.
-
- FirebaseUserActions.getInstance(this).end(getNoteCommentAction())
- // ...
- }
-
- private fun getNoteCommentAction(): Action {
- return Action.Builder(Action.Builder.COMMENT_ACTION)
- .setObject(note.title, note.noteUrl)
- // Keep action data for personal connulltent on the device
- .setMetadata(Action.Metadata.Builder().setUpload(false))
- .build()
- }
- // [END appindexing_instantaneous]
-
- // [START appindexing_update]
- fun indexNote(recipe: Recipe) {
- val note = recipe.note
- val noteToIndex = Indexables.noteDigitalDocumentBuilder()
- .setName(recipe.title)
- .setText(note!!.text)
- .setUrl(recipe.noteUrl)
- .build()
-
- val task = FirebaseAppIndex.getInstance(this).update(noteToIndex)
- // ...
- }
- // [END appindexing_update]
-
- private fun removeNote(recipe: Recipe) {
- // [START appindexing_remove_one]
- // Deletes or removes the corresponding notes from index.
- val noteUrl = recipe.noteUrl
- FirebaseAppIndex.getInstance(this).remove(noteUrl)
- // [END appindexing_remove_one]
- }
-
- private fun removeAll() {
- // [START appindexing_remove_all]
- FirebaseAppIndex.getInstance(this).removeAll()
- // [END appindexing_remove_all]
- }
-
- private fun getRecipeViewAction(): Action {
- // This is just to make some things compile.
- return Action.Builder("recipe-view").build();
- }
-}
diff --git a/appindexing/app/src/main/java/com/google/firebase/example/appindexing/kotlin/MeasureActivity.kt b/appindexing/app/src/main/java/com/google/firebase/example/appindexing/kotlin/MeasureActivity.kt
deleted file mode 100644
index 6c8c4cd51..000000000
--- a/appindexing/app/src/main/java/com/google/firebase/example/appindexing/kotlin/MeasureActivity.kt
+++ /dev/null
@@ -1,72 +0,0 @@
-package com.google.firebase.example.appindexing.kotlin
-
-import android.net.ParseException
-import android.net.Uri
-import android.os.Build
-import android.os.Bundle
-import androidx.appcompat.app.AppCompatActivity
-import com.google.firebase.appindexing.AndroidAppUri
-
-// [START appindexing_measure_activity]
-class MeasureActivity : AppCompatActivity() {
-
- override fun getReferrer(): Uri? {
-
- // There is a built in function available from SDK>=22
- if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP_MR1) {
- return super.getReferrer()
- }
-
- val intent = intent
- val referrer = intent?.extras?.get("android.intent.extra.REFERRER") as Uri?
- if (referrer != null) {
- return referrer
- }
-
- val referrerName = intent.getStringExtra("android.intent.extra.REFERRER_NAME")
-
- if (referrerName != null) {
- try {
- return Uri.parse(referrerName)
- } catch (e: ParseException) {
- // ...
- }
- }
-
- return null
- }
-
- override fun onCreate(savedInstanceState: Bundle?) {
- super.onCreate(savedInstanceState)
- // ...
- val referrer = referrer
-
- if (referrer != null) {
- if (referrer.scheme == "http" || referrer.scheme == "https") {
- // App was opened from a browser
- // host will contain the host path (e.g. www.google.com)
- val host = referrer.host
-
- // Add analytics code below to track this click from web Search
- // ...
- } else if (referrer.scheme == "android-app") {
- // App was opened from another app
- val appUri = AndroidAppUri.newAndroidAppUri(referrer)
- val referrerPackage = appUri.packageName
- if ("com.google.android.googlequicksearchbox" == referrerPackage) {
- // App was opened from the Google app
- // host will contain the host path (e.g. www.google.com)
- val host = appUri.deepLinkUri.host
-
- // Add analytics code below to track this click from the Google app
- // ...
- } else if ("com.google.appcrawler" == referrerPackage) {
- // Make sure this is not being counted as part of app usage
- // ...
- }
- }
- }
- // ...
- }
-}
-// [END appindexing_measure_activity]
diff --git a/appindexing/app/src/main/java/com/google/firebase/example/appindexing/model/Note.java b/appindexing/app/src/main/java/com/google/firebase/example/appindexing/model/Note.java
deleted file mode 100644
index 4b1281700..000000000
--- a/appindexing/app/src/main/java/com/google/firebase/example/appindexing/model/Note.java
+++ /dev/null
@@ -1,15 +0,0 @@
-package com.google.firebase.example.appindexing.model;
-
-public class Note {
- public String getText() {
- return "";
- }
-
- public String getTitle() {
- return "";
- }
-
- public String getNoteUrl() {
- return "";
- }
-}
diff --git a/appindexing/app/src/main/java/com/google/firebase/example/appindexing/model/Recipe.java b/appindexing/app/src/main/java/com/google/firebase/example/appindexing/model/Recipe.java
deleted file mode 100644
index 8152eac73..000000000
--- a/appindexing/app/src/main/java/com/google/firebase/example/appindexing/model/Recipe.java
+++ /dev/null
@@ -1,15 +0,0 @@
-package com.google.firebase.example.appindexing.model;
-
-public class Recipe {
- public String getTitle() {
- return "";
- }
-
- public Note getNote() {
- return null;
- }
-
- public String getNoteUrl() {
- return "";
- }
-}
diff --git a/appindexing/app/src/main/res/layout/activity_main.xml b/appindexing/app/src/main/res/layout/activity_main.xml
deleted file mode 100644
index 3e3fc69be..000000000
--- a/appindexing/app/src/main/res/layout/activity_main.xml
+++ /dev/null
@@ -1,18 +0,0 @@
-
-
-
-
-
diff --git a/appindexing/app/src/main/res/layout/activity_measure.xml b/appindexing/app/src/main/res/layout/activity_measure.xml
deleted file mode 100644
index b29ae2f9f..000000000
--- a/appindexing/app/src/main/res/layout/activity_measure.xml
+++ /dev/null
@@ -1,9 +0,0 @@
-
-
-
-
diff --git a/appindexing/app/src/main/res/mipmap-hdpi/ic_launcher.png b/appindexing/app/src/main/res/mipmap-hdpi/ic_launcher.png
deleted file mode 100644
index cde69bccc..000000000
Binary files a/appindexing/app/src/main/res/mipmap-hdpi/ic_launcher.png and /dev/null differ
diff --git a/appindexing/app/src/main/res/mipmap-mdpi/ic_launcher.png b/appindexing/app/src/main/res/mipmap-mdpi/ic_launcher.png
deleted file mode 100644
index c133a0cbd..000000000
Binary files a/appindexing/app/src/main/res/mipmap-mdpi/ic_launcher.png and /dev/null differ
diff --git a/appindexing/app/src/main/res/mipmap-xhdpi/ic_launcher.png b/appindexing/app/src/main/res/mipmap-xhdpi/ic_launcher.png
deleted file mode 100644
index bfa42f0e7..000000000
Binary files a/appindexing/app/src/main/res/mipmap-xhdpi/ic_launcher.png and /dev/null differ
diff --git a/appindexing/app/src/main/res/mipmap-xxhdpi/ic_launcher.png b/appindexing/app/src/main/res/mipmap-xxhdpi/ic_launcher.png
deleted file mode 100644
index 324e72cdd..000000000
Binary files a/appindexing/app/src/main/res/mipmap-xxhdpi/ic_launcher.png and /dev/null differ
diff --git a/appindexing/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png b/appindexing/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png
deleted file mode 100644
index aee44e138..000000000
Binary files a/appindexing/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png and /dev/null differ
diff --git a/appindexing/app/src/main/res/values-w820dp/dimens.xml b/appindexing/app/src/main/res/values-w820dp/dimens.xml
deleted file mode 100644
index 63fc81644..000000000
--- a/appindexing/app/src/main/res/values-w820dp/dimens.xml
+++ /dev/null
@@ -1,6 +0,0 @@
-
-
- 64dp
-
diff --git a/appindexing/app/src/main/res/values/colors.xml b/appindexing/app/src/main/res/values/colors.xml
deleted file mode 100644
index 3ab3e9cbc..000000000
--- a/appindexing/app/src/main/res/values/colors.xml
+++ /dev/null
@@ -1,6 +0,0 @@
-
-
- #3F51B5
- #303F9F
- #FF4081
-
diff --git a/appindexing/app/src/main/res/values/dimens.xml b/appindexing/app/src/main/res/values/dimens.xml
deleted file mode 100644
index 47c822467..000000000
--- a/appindexing/app/src/main/res/values/dimens.xml
+++ /dev/null
@@ -1,5 +0,0 @@
-
-
- 16dp
- 16dp
-
diff --git a/appindexing/app/src/main/res/values/strings.xml b/appindexing/app/src/main/res/values/strings.xml
deleted file mode 100644
index d96e601ff..000000000
--- a/appindexing/app/src/main/res/values/strings.xml
+++ /dev/null
@@ -1,3 +0,0 @@
-
- Firebase Options
-
diff --git a/appindexing/app/src/main/res/values/styles.xml b/appindexing/app/src/main/res/values/styles.xml
deleted file mode 100644
index 5885930df..000000000
--- a/appindexing/app/src/main/res/values/styles.xml
+++ /dev/null
@@ -1,11 +0,0 @@
-
-
-
-
-
-
diff --git a/appindexing/app/src/main/res/xml/noindex.xml b/appindexing/app/src/main/res/xml/noindex.xml
deleted file mode 100644
index bef35bb61..000000000
--- a/appindexing/app/src/main/res/xml/noindex.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-
-
-
-
-
-
-
-
diff --git a/appindexing/build.gradle b/appindexing/build.gradle
deleted file mode 100644
index 27d603dd2..000000000
--- a/appindexing/build.gradle
+++ /dev/null
@@ -1,25 +0,0 @@
-// Top-level build file where you can add configuration options common to all sub-projects/modules.
-
-buildscript {
- repositories {
- google()
- mavenCentral()
- }
- dependencies {
- classpath 'com.android.tools.build:gradle:7.1.3'
- classpath 'com.google.gms:google-services:4.3.10'
- classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:1.6.21"
- }
-}
-
-allprojects {
- repositories {
- google()
- mavenLocal()
- mavenCentral()
- }
-}
-
-task clean(type: Delete) {
- delete rootProject.buildDir
-}
diff --git a/appindexing/gradle.properties b/appindexing/gradle.properties
deleted file mode 100644
index aac7c9b46..000000000
--- a/appindexing/gradle.properties
+++ /dev/null
@@ -1,17 +0,0 @@
-# Project-wide Gradle settings.
-
-# IDE (e.g. Android Studio) users:
-# Gradle settings configured through the IDE *will override*
-# any settings specified in this file.
-
-# For more details on how to configure your build environment visit
-# http://www.gradle.org/docs/current/userguide/build_environment.html
-
-# Specifies the JVM arguments used for the daemon process.
-# The setting is particularly useful for tweaking memory settings.
-org.gradle.jvmargs=-Xmx1536m
-
-# When configured, Gradle will run in incubating parallel mode.
-# This option should only be used with decoupled projects. More details, visit
-# http://www.gradle.org/docs/current/userguide/multi_project_builds.html#sec:decoupled_projects
-# org.gradle.parallel=true
diff --git a/appindexing/gradle/wrapper/gradle-wrapper.jar b/appindexing/gradle/wrapper/gradle-wrapper.jar
deleted file mode 100644
index 5c2d1cf01..000000000
Binary files a/appindexing/gradle/wrapper/gradle-wrapper.jar and /dev/null differ
diff --git a/appindexing/gradle/wrapper/gradle-wrapper.properties b/appindexing/gradle/wrapper/gradle-wrapper.properties
deleted file mode 100644
index bb8b2fc26..000000000
--- a/appindexing/gradle/wrapper/gradle-wrapper.properties
+++ /dev/null
@@ -1,5 +0,0 @@
-distributionBase=GRADLE_USER_HOME
-distributionPath=wrapper/dists
-distributionUrl=https\://services.gradle.org/distributions/gradle-6.5.1-bin.zip
-zipStoreBase=GRADLE_USER_HOME
-zipStorePath=wrapper/dists
diff --git a/appindexing/gradlew b/appindexing/gradlew
deleted file mode 100755
index 83f2acfdc..000000000
--- a/appindexing/gradlew
+++ /dev/null
@@ -1,188 +0,0 @@
-#!/usr/bin/env sh
-
-#
-# Copyright 2015 the original author or authors.
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-# https://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-#
-
-##############################################################################
-##
-## Gradle start up script for UN*X
-##
-##############################################################################
-
-# Attempt to set APP_HOME
-# Resolve links: $0 may be a link
-PRG="$0"
-# Need this for relative symlinks.
-while [ -h "$PRG" ] ; do
- ls=`ls -ld "$PRG"`
- link=`expr "$ls" : '.*-> \(.*\)$'`
- if expr "$link" : '/.*' > /dev/null; then
- PRG="$link"
- else
- PRG=`dirname "$PRG"`"/$link"
- fi
-done
-SAVED="`pwd`"
-cd "`dirname \"$PRG\"`/" >/dev/null
-APP_HOME="`pwd -P`"
-cd "$SAVED" >/dev/null
-
-APP_NAME="Gradle"
-APP_BASE_NAME=`basename "$0"`
-
-# Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script.
-DEFAULT_JVM_OPTS='"-Xmx64m" "-Xms64m"'
-
-# Use the maximum available, or set MAX_FD != -1 to use that value.
-MAX_FD="maximum"
-
-warn () {
- echo "$*"
-}
-
-die () {
- echo
- echo "$*"
- echo
- exit 1
-}
-
-# OS specific support (must be 'true' or 'false').
-cygwin=false
-msys=false
-darwin=false
-nonstop=false
-case "`uname`" in
- CYGWIN* )
- cygwin=true
- ;;
- Darwin* )
- darwin=true
- ;;
- MINGW* )
- msys=true
- ;;
- NONSTOP* )
- nonstop=true
- ;;
-esac
-
-CLASSPATH=$APP_HOME/gradle/wrapper/gradle-wrapper.jar
-
-# Determine the Java command to use to start the JVM.
-if [ -n "$JAVA_HOME" ] ; then
- if [ -x "$JAVA_HOME/jre/sh/java" ] ; then
- # IBM's JDK on AIX uses strange locations for the executables
- JAVACMD="$JAVA_HOME/jre/sh/java"
- else
- JAVACMD="$JAVA_HOME/bin/java"
- fi
- if [ ! -x "$JAVACMD" ] ; then
- die "ERROR: JAVA_HOME is set to an invalid directory: $JAVA_HOME
-
-Please set the JAVA_HOME variable in your environment to match the
-location of your Java installation."
- fi
-else
- JAVACMD="java"
- which java >/dev/null 2>&1 || die "ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH.
-
-Please set the JAVA_HOME variable in your environment to match the
-location of your Java installation."
-fi
-
-# Increase the maximum file descriptors if we can.
-if [ "$cygwin" = "false" -a "$darwin" = "false" -a "$nonstop" = "false" ] ; then
- MAX_FD_LIMIT=`ulimit -H -n`
- if [ $? -eq 0 ] ; then
- if [ "$MAX_FD" = "maximum" -o "$MAX_FD" = "max" ] ; then
- MAX_FD="$MAX_FD_LIMIT"
- fi
- ulimit -n $MAX_FD
- if [ $? -ne 0 ] ; then
- warn "Could not set maximum file descriptor limit: $MAX_FD"
- fi
- else
- warn "Could not query maximum file descriptor limit: $MAX_FD_LIMIT"
- fi
-fi
-
-# For Darwin, add options to specify how the application appears in the dock
-if $darwin; then
- GRADLE_OPTS="$GRADLE_OPTS \"-Xdock:name=$APP_NAME\" \"-Xdock:icon=$APP_HOME/media/gradle.icns\""
-fi
-
-# For Cygwin or MSYS, switch paths to Windows format before running java
-if [ "$cygwin" = "true" -o "$msys" = "true" ] ; then
- APP_HOME=`cygpath --path --mixed "$APP_HOME"`
- CLASSPATH=`cygpath --path --mixed "$CLASSPATH"`
- JAVACMD=`cygpath --unix "$JAVACMD"`
-
- # We build the pattern for arguments to be converted via cygpath
- ROOTDIRSRAW=`find -L / -maxdepth 1 -mindepth 1 -type d 2>/dev/null`
- SEP=""
- for dir in $ROOTDIRSRAW ; do
- ROOTDIRS="$ROOTDIRS$SEP$dir"
- SEP="|"
- done
- OURCYGPATTERN="(^($ROOTDIRS))"
- # Add a user-defined pattern to the cygpath arguments
- if [ "$GRADLE_CYGPATTERN" != "" ] ; then
- OURCYGPATTERN="$OURCYGPATTERN|($GRADLE_CYGPATTERN)"
- fi
- # Now convert the arguments - kludge to limit ourselves to /bin/sh
- i=0
- for arg in "$@" ; do
- CHECK=`echo "$arg"|egrep -c "$OURCYGPATTERN" -`
- CHECK2=`echo "$arg"|egrep -c "^-"` ### Determine if an option
-
- if [ $CHECK -ne 0 ] && [ $CHECK2 -eq 0 ] ; then ### Added a condition
- eval `echo args$i`=`cygpath --path --ignore --mixed "$arg"`
- else
- eval `echo args$i`="\"$arg\""
- fi
- i=$((i+1))
- done
- case $i in
- (0) set -- ;;
- (1) set -- "$args0" ;;
- (2) set -- "$args0" "$args1" ;;
- (3) set -- "$args0" "$args1" "$args2" ;;
- (4) set -- "$args0" "$args1" "$args2" "$args3" ;;
- (5) set -- "$args0" "$args1" "$args2" "$args3" "$args4" ;;
- (6) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" ;;
- (7) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" ;;
- (8) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" "$args7" ;;
- (9) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" "$args7" "$args8" ;;
- esac
-fi
-
-# Escape application args
-save () {
- for i do printf %s\\n "$i" | sed "s/'/'\\\\''/g;1s/^/'/;\$s/\$/' \\\\/" ; done
- echo " "
-}
-APP_ARGS=$(save "$@")
-
-# Collect all arguments for the java command, following the shell quoting and substitution rules
-eval set -- $DEFAULT_JVM_OPTS $JAVA_OPTS $GRADLE_OPTS "\"-Dorg.gradle.appname=$APP_BASE_NAME\"" -classpath "\"$CLASSPATH\"" org.gradle.wrapper.GradleWrapperMain "$APP_ARGS"
-
-# by default we should be in the correct project dir, but when run from Finder on Mac, the cwd is wrong
-if [ "$(uname)" = "Darwin" ] && [ "$HOME" = "$PWD" ]; then
- cd "$(dirname "$0")"
-fi
-
-exec "$JAVACMD" "$@"
diff --git a/appindexing/gradlew.bat b/appindexing/gradlew.bat
deleted file mode 100644
index 24467a141..000000000
--- a/appindexing/gradlew.bat
+++ /dev/null
@@ -1,100 +0,0 @@
-@rem
-@rem Copyright 2015 the original author or authors.
-@rem
-@rem Licensed under the Apache License, Version 2.0 (the "License");
-@rem you may not use this file except in compliance with the License.
-@rem You may obtain a copy of the License at
-@rem
-@rem https://www.apache.org/licenses/LICENSE-2.0
-@rem
-@rem Unless required by applicable law or agreed to in writing, software
-@rem distributed under the License is distributed on an "AS IS" BASIS,
-@rem WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-@rem See the License for the specific language governing permissions and
-@rem limitations under the License.
-@rem
-
-@if "%DEBUG%" == "" @echo off
-@rem ##########################################################################
-@rem
-@rem Gradle startup script for Windows
-@rem
-@rem ##########################################################################
-
-@rem Set local scope for the variables with windows NT shell
-if "%OS%"=="Windows_NT" setlocal
-
-set DIRNAME=%~dp0
-if "%DIRNAME%" == "" set DIRNAME=.
-set APP_BASE_NAME=%~n0
-set APP_HOME=%DIRNAME%
-
-@rem Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script.
-set DEFAULT_JVM_OPTS="-Xmx64m" "-Xms64m"
-
-@rem Find java.exe
-if defined JAVA_HOME goto findJavaFromJavaHome
-
-set JAVA_EXE=java.exe
-%JAVA_EXE% -version >NUL 2>&1
-if "%ERRORLEVEL%" == "0" goto init
-
-echo.
-echo ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH.
-echo.
-echo Please set the JAVA_HOME variable in your environment to match the
-echo location of your Java installation.
-
-goto fail
-
-:findJavaFromJavaHome
-set JAVA_HOME=%JAVA_HOME:"=%
-set JAVA_EXE=%JAVA_HOME%/bin/java.exe
-
-if exist "%JAVA_EXE%" goto init
-
-echo.
-echo ERROR: JAVA_HOME is set to an invalid directory: %JAVA_HOME%
-echo.
-echo Please set the JAVA_HOME variable in your environment to match the
-echo location of your Java installation.
-
-goto fail
-
-:init
-@rem Get command-line arguments, handling Windows variants
-
-if not "%OS%" == "Windows_NT" goto win9xME_args
-
-:win9xME_args
-@rem Slurp the command line arguments.
-set CMD_LINE_ARGS=
-set _SKIP=2
-
-:win9xME_args_slurp
-if "x%~1" == "x" goto execute
-
-set CMD_LINE_ARGS=%*
-
-:execute
-@rem Setup the command line
-
-set CLASSPATH=%APP_HOME%\gradle\wrapper\gradle-wrapper.jar
-
-@rem Execute Gradle
-"%JAVA_EXE%" %DEFAULT_JVM_OPTS% %JAVA_OPTS% %GRADLE_OPTS% "-Dorg.gradle.appname=%APP_BASE_NAME%" -classpath "%CLASSPATH%" org.gradle.wrapper.GradleWrapperMain %CMD_LINE_ARGS%
-
-:end
-@rem End local scope for the variables with windows NT shell
-if "%ERRORLEVEL%"=="0" goto mainEnd
-
-:fail
-rem Set variable GRADLE_EXIT_CONSOLE if you need the _script_ return code instead of
-rem the _cmd.exe /c_ return code!
-if not "" == "%GRADLE_EXIT_CONSOLE%" exit 1
-exit /b 1
-
-:mainEnd
-if "%OS%"=="Windows_NT" endlocal
-
-:omega
diff --git a/appindexing/settings.gradle b/appindexing/settings.gradle
deleted file mode 100644
index e7b4def49..000000000
--- a/appindexing/settings.gradle
+++ /dev/null
@@ -1 +0,0 @@
-include ':app'
diff --git a/auth/app/build.gradle b/auth/app/build.gradle
index 5c76e31a7..d646f3ea0 100644
--- a/auth/app/build.gradle
+++ b/auth/app/build.gradle
@@ -25,11 +25,11 @@ dependencies {
implementation 'androidx.appcompat:appcompat:1.4.1'
implementation 'androidx.browser:browser:1.0.0'
implementation 'androidx.cardview:cardview:1.0.0'
- implementation 'androidx.constraintlayout:constraintlayout:2.1.3'
- implementation 'com.google.android.material:material:1.5.0'
+ implementation 'androidx.constraintlayout:constraintlayout:2.1.4'
+ implementation 'com.google.android.material:material:1.6.0'
implementation 'androidx.activity:activity:1.4.0'
- implementation "com.google.firebase:firebase-auth-ktx:21.0.3"
+ implementation "com.google.firebase:firebase-auth-ktx:21.0.5"
// [START gradle_firebase_ui_auth]
implementation "com.firebaseui:firebase-ui-auth:8.0.1"
diff --git a/auth/build.gradle b/auth/build.gradle
index b68f72227..910d36293 100644
--- a/auth/build.gradle
+++ b/auth/build.gradle
@@ -6,7 +6,7 @@ buildscript {
mavenCentral()
}
dependencies {
- classpath 'com.android.tools.build:gradle:7.1.3'
+ classpath 'com.android.tools.build:gradle:7.2.1'
classpath 'com.google.gms:google-services:4.3.10'
classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:1.6.21"
}
diff --git a/build.gradle b/build.gradle
index a0ba66dca..7804e540a 100644
--- a/build.gradle
+++ b/build.gradle
@@ -5,7 +5,7 @@ buildscript {
mavenCentral()
}
dependencies {
- classpath 'com.android.tools.build:gradle:7.1.3'
+ classpath 'com.android.tools.build:gradle:7.2.1'
classpath 'com.google.gms:google-services:4.3.10'
classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:1.6.21"
}
diff --git a/crashlytics/app/build.gradle b/crashlytics/app/build.gradle
index 6becbd21e..d331608b1 100644
--- a/crashlytics/app/build.gradle
+++ b/crashlytics/app/build.gradle
@@ -26,10 +26,10 @@ dependencies {
implementation 'androidx.legacy:legacy-support-v4:1.0.0'
implementation 'androidx.appcompat:appcompat:1.4.1'
- implementation 'com.google.firebase:firebase-crashlytics:18.2.9'
- implementation 'com.google.firebase:firebase-crashlytics-ktx:18.2.9'
+ implementation 'com.google.firebase:firebase-crashlytics:18.2.11'
+ implementation 'com.google.firebase:firebase-crashlytics-ktx:18.2.11'
// For an optimal experience using Crashlytics, add the Firebase SDK
// for Google Analytics. This is recommended, but not required.
- implementation 'com.google.firebase:firebase-analytics:20.1.2'
+ implementation 'com.google.firebase:firebase-analytics:21.0.0'
}
diff --git a/crashlytics/build.gradle b/crashlytics/build.gradle
index 5262762bb..89dce9504 100644
--- a/crashlytics/build.gradle
+++ b/crashlytics/build.gradle
@@ -6,10 +6,10 @@ buildscript {
mavenCentral()
}
dependencies {
- classpath 'com.android.tools.build:gradle:7.1.3'
+ classpath 'com.android.tools.build:gradle:7.2.1'
classpath 'com.google.gms:google-services:4.3.10'
classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:1.6.21"
- classpath 'com.google.firebase:firebase-crashlytics-gradle:2.8.1'
+ classpath 'com.google.firebase:firebase-crashlytics-gradle:2.9.0'
}
}
diff --git a/database/app/build.gradle b/database/app/build.gradle
index 9d887482b..9dc259d52 100644
--- a/database/app/build.gradle
+++ b/database/app/build.gradle
@@ -28,7 +28,7 @@ android {
dependencies {
implementation 'androidx.legacy:legacy-support-v4:1.0.0'
implementation 'androidx.appcompat:appcompat:1.4.1'
- implementation "com.google.firebase:firebase-database-ktx:20.0.4"
+ implementation "com.google.firebase:firebase-database-ktx:20.0.5"
}
apply plugin: 'com.google.gms.google-services'
diff --git a/database/build.gradle b/database/build.gradle
index e46a90636..eac13a1af 100644
--- a/database/build.gradle
+++ b/database/build.gradle
@@ -7,7 +7,7 @@ buildscript {
mavenCentral()
}
dependencies {
- classpath 'com.android.tools.build:gradle:7.1.3'
+ classpath 'com.android.tools.build:gradle:7.2.1'
classpath 'com.google.gms:google-services:4.3.10'
classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:1.6.21"
}
diff --git a/dl-invites/app/build.gradle b/dl-invites/app/build.gradle
index ef73f5ff5..3fb0a26c7 100644
--- a/dl-invites/app/build.gradle
+++ b/dl-invites/app/build.gradle
@@ -27,6 +27,6 @@ dependencies {
implementation 'androidx.recyclerview:recyclerview:1.2.1'
implementation 'com.google.firebase:firebase-dynamic-links:21.0.1'
- implementation 'com.google.android.material:material:1.5.0'
- implementation 'androidx.constraintlayout:constraintlayout:2.1.3'
+ implementation 'com.google.android.material:material:1.6.0'
+ implementation 'androidx.constraintlayout:constraintlayout:2.1.4'
}
diff --git a/dl-invites/build.gradle b/dl-invites/build.gradle
index 27d603dd2..e662653e6 100644
--- a/dl-invites/build.gradle
+++ b/dl-invites/build.gradle
@@ -6,7 +6,7 @@ buildscript {
mavenCentral()
}
dependencies {
- classpath 'com.android.tools.build:gradle:7.1.3'
+ classpath 'com.android.tools.build:gradle:7.2.1'
classpath 'com.google.gms:google-services:4.3.10'
classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:1.6.21"
}
diff --git a/dynamic-links/app/build.gradle b/dynamic-links/app/build.gradle
index 765a9ecd7..b2a253daa 100644
--- a/dynamic-links/app/build.gradle
+++ b/dynamic-links/app/build.gradle
@@ -23,14 +23,14 @@ android {
dependencies {
implementation 'androidx.legacy:legacy-support-v4:1.0.0'
implementation 'androidx.appcompat:appcompat:1.4.1'
- implementation "com.google.firebase:firebase-auth-ktx:21.0.3"
+ implementation "com.google.firebase:firebase-auth-ktx:21.0.5"
implementation "com.google.firebase:firebase-invites:17.0.0"
implementation "com.google.firebase:firebase-dynamic-links-ktx:21.0.1"
// For an optimal experience using Dynamic Links, add the Firebase SDK
// for Google Analytics. This is recommended, but not required.
- implementation 'com.google.firebase:firebase-analytics:20.1.2'
+ implementation 'com.google.firebase:firebase-analytics:21.0.0'
- implementation "com.google.firebase:firebase-database-ktx:20.0.4"
- implementation 'androidx.constraintlayout:constraintlayout:2.1.3'
+ implementation "com.google.firebase:firebase-database-ktx:20.0.5"
+ implementation 'androidx.constraintlayout:constraintlayout:2.1.4'
}
diff --git a/dynamic-links/build.gradle b/dynamic-links/build.gradle
index b68f72227..910d36293 100644
--- a/dynamic-links/build.gradle
+++ b/dynamic-links/build.gradle
@@ -6,7 +6,7 @@ buildscript {
mavenCentral()
}
dependencies {
- classpath 'com.android.tools.build:gradle:7.1.3'
+ classpath 'com.android.tools.build:gradle:7.2.1'
classpath 'com.google.gms:google-services:4.3.10'
classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:1.6.21"
}
diff --git a/firebaseoptions/app/build.gradle b/firebaseoptions/app/build.gradle
index c96b9e070..9f18e3e48 100644
--- a/firebaseoptions/app/build.gradle
+++ b/firebaseoptions/app/build.gradle
@@ -23,8 +23,8 @@ android {
dependencies {
implementation 'androidx.legacy:legacy-support-v4:1.0.0'
implementation 'androidx.appcompat:appcompat:1.4.1'
- implementation "com.google.firebase:firebase-common-ktx:20.1.0"
- implementation "com.google.firebase:firebase-database-ktx:20.0.4"
+ implementation "com.google.firebase:firebase-common-ktx:20.1.1"
+ implementation "com.google.firebase:firebase-database-ktx:20.0.5"
}
apply plugin: 'com.google.gms.google-services'
diff --git a/firebaseoptions/build.gradle b/firebaseoptions/build.gradle
index b68f72227..910d36293 100644
--- a/firebaseoptions/build.gradle
+++ b/firebaseoptions/build.gradle
@@ -6,7 +6,7 @@ buildscript {
mavenCentral()
}
dependencies {
- classpath 'com.android.tools.build:gradle:7.1.3'
+ classpath 'com.android.tools.build:gradle:7.2.1'
classpath 'com.google.gms:google-services:4.3.10'
classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:1.6.21"
}
diff --git a/firestore/app/build.gradle b/firestore/app/build.gradle
index 482f1e7b1..fa0e778f4 100644
--- a/firestore/app/build.gradle
+++ b/firestore/app/build.gradle
@@ -35,19 +35,19 @@ repositories {
dependencies {
implementation 'androidx.legacy:legacy-support-v4:1.0.0'
implementation 'androidx.appcompat:appcompat:1.4.1'
- implementation 'androidx.constraintlayout:constraintlayout:2.1.3'
+ implementation 'androidx.constraintlayout:constraintlayout:2.1.4'
implementation 'androidx.multidex:multidex:2.0.1'
// Firestore
- implementation "com.google.firebase:firebase-firestore-ktx:24.1.1"
+ implementation "com.google.firebase:firebase-firestore-ktx:24.1.2"
// Firebase / Play Services
- implementation "com.google.firebase:firebase-auth:21.0.3"
- implementation "com.google.android.gms:play-services-auth:20.1.0"
- implementation "com.google.firebase:firebase-functions-ktx:20.0.2"
+ implementation "com.google.firebase:firebase-auth:21.0.5"
+ implementation "com.google.android.gms:play-services-auth:20.2.0"
+ implementation "com.google.firebase:firebase-functions-ktx:20.1.0"
// GeoFire (for Geoqueries solution)
- implementation "com.firebase:geofire-android-common:3.1.0"
+ implementation "com.firebase:geofire-android-common:3.2.0"
// OkHttp (for Android 11+)
implementation "io.grpc:grpc-okhttp:1.46.0"
diff --git a/firestore/build.gradle b/firestore/build.gradle
index 698a666ff..cdcd7320c 100644
--- a/firestore/build.gradle
+++ b/firestore/build.gradle
@@ -7,7 +7,7 @@ buildscript {
mavenLocal()
}
dependencies {
- classpath 'com.android.tools.build:gradle:7.1.3'
+ classpath 'com.android.tools.build:gradle:7.2.1'
classpath 'com.google.gms:google-services:4.3.10'
classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:1.6.21"
}
diff --git a/functions/app/build.gradle b/functions/app/build.gradle
index 558128d90..6d249c259 100644
--- a/functions/app/build.gradle
+++ b/functions/app/build.gradle
@@ -24,7 +24,7 @@ dependencies {
implementation 'androidx.legacy:legacy-support-v4:1.0.0'
implementation 'androidx.appcompat:appcompat:1.4.1'
- implementation "com.google.firebase:firebase-functions-ktx:20.0.2"
+ implementation "com.google.firebase:firebase-functions-ktx:20.1.0"
}
apply plugin: 'com.google.gms.google-services'
diff --git a/functions/build.gradle b/functions/build.gradle
index b68f72227..910d36293 100644
--- a/functions/build.gradle
+++ b/functions/build.gradle
@@ -6,7 +6,7 @@ buildscript {
mavenCentral()
}
dependencies {
- classpath 'com.android.tools.build:gradle:7.1.3'
+ classpath 'com.android.tools.build:gradle:7.2.1'
classpath 'com.google.gms:google-services:4.3.10'
classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:1.6.21"
}
diff --git a/gradle/wrapper/gradle-wrapper.properties b/gradle/wrapper/gradle-wrapper.properties
index ffed3a254..2e6e5897b 100644
--- a/gradle/wrapper/gradle-wrapper.properties
+++ b/gradle/wrapper/gradle-wrapper.properties
@@ -1,5 +1,5 @@
distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
-distributionUrl=https\://services.gradle.org/distributions/gradle-7.2-bin.zip
+distributionUrl=https\://services.gradle.org/distributions/gradle-7.3.3-bin.zip
zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists
diff --git a/inappmessaging/app/build.gradle b/inappmessaging/app/build.gradle
index 460e9ea62..ade648b0f 100644
--- a/inappmessaging/app/build.gradle
+++ b/inappmessaging/app/build.gradle
@@ -31,5 +31,5 @@ dependencies {
implementation "com.google.firebase:firebase-inappmessaging-display-ktx:20.1.2"
// The Firebase SDK for Google Analytics is required to use In-App Messaging.
- implementation 'com.google.firebase:firebase-analytics:20.1.2'
+ implementation 'com.google.firebase:firebase-analytics:21.0.0'
}
diff --git a/inappmessaging/build.gradle b/inappmessaging/build.gradle
index 27d603dd2..e662653e6 100644
--- a/inappmessaging/build.gradle
+++ b/inappmessaging/build.gradle
@@ -6,7 +6,7 @@ buildscript {
mavenCentral()
}
dependencies {
- classpath 'com.android.tools.build:gradle:7.1.3'
+ classpath 'com.android.tools.build:gradle:7.2.1'
classpath 'com.google.gms:google-services:4.3.10'
classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:1.6.21"
}
diff --git a/installations/app/build.gradle b/installations/app/build.gradle
index 7ce43195b..d3f12211d 100644
--- a/installations/app/build.gradle
+++ b/installations/app/build.gradle
@@ -27,7 +27,7 @@ dependencies {
implementation fileTree(dir: "libs", include: ["*.jar"])
implementation 'androidx.core:core-ktx:1.7.0'
implementation 'androidx.appcompat:appcompat:1.4.1'
- implementation 'androidx.constraintlayout:constraintlayout:2.1.3'
+ implementation 'androidx.constraintlayout:constraintlayout:2.1.4'
implementation 'com.google.firebase:firebase-installations:17.0.1'
}
\ No newline at end of file
diff --git a/installations/build.gradle b/installations/build.gradle
index d7590332a..1f619305c 100644
--- a/installations/build.gradle
+++ b/installations/build.gradle
@@ -5,7 +5,7 @@ buildscript {
mavenCentral()
}
dependencies {
- classpath "com.android.tools.build:gradle:7.1.3"
+ classpath "com.android.tools.build:gradle:7.2.1"
classpath 'com.google.gms:google-services:4.3.10'
classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:1.6.21"
diff --git a/messaging/app/build.gradle b/messaging/app/build.gradle
index 3b10009b0..2301f2e5b 100644
--- a/messaging/app/build.gradle
+++ b/messaging/app/build.gradle
@@ -23,13 +23,13 @@ android {
dependencies {
implementation 'androidx.legacy:legacy-support-v4:1.0.0'
implementation 'androidx.appcompat:appcompat:1.4.1'
- implementation "com.google.firebase:firebase-messaging-ktx:23.0.3"
+ implementation "com.google.firebase:firebase-messaging-ktx:23.0.5"
// For an optimal experience using FCM, add the Firebase SDK
// for Google Analytics. This is recommended, but not required.
- implementation 'com.google.firebase:firebase-analytics:20.1.2'
+ implementation 'com.google.firebase:firebase-analytics:21.0.0'
- implementation "com.google.android.gms:play-services-auth:20.1.0"
+ implementation "com.google.android.gms:play-services-auth:20.2.0"
}
apply plugin: 'com.google.gms.google-services'
diff --git a/messaging/build.gradle b/messaging/build.gradle
index 27d603dd2..e662653e6 100644
--- a/messaging/build.gradle
+++ b/messaging/build.gradle
@@ -6,7 +6,7 @@ buildscript {
mavenCentral()
}
dependencies {
- classpath 'com.android.tools.build:gradle:7.1.3'
+ classpath 'com.android.tools.build:gradle:7.2.1'
classpath 'com.google.gms:google-services:4.3.10'
classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:1.6.21"
}
diff --git a/ml-functions/build.gradle b/ml-functions/build.gradle
index b68f72227..910d36293 100644
--- a/ml-functions/build.gradle
+++ b/ml-functions/build.gradle
@@ -6,7 +6,7 @@ buildscript {
mavenCentral()
}
dependencies {
- classpath 'com.android.tools.build:gradle:7.1.3'
+ classpath 'com.android.tools.build:gradle:7.2.1'
classpath 'com.google.gms:google-services:4.3.10'
classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:1.6.21"
}
diff --git a/mlkit/build.gradle b/mlkit/build.gradle
index 27d603dd2..e662653e6 100644
--- a/mlkit/build.gradle
+++ b/mlkit/build.gradle
@@ -6,7 +6,7 @@ buildscript {
mavenCentral()
}
dependencies {
- classpath 'com.android.tools.build:gradle:7.1.3'
+ classpath 'com.android.tools.build:gradle:7.2.1'
classpath 'com.google.gms:google-services:4.3.10'
classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:1.6.21"
}
diff --git a/perf/app/build.gradle b/perf/app/build.gradle
index 5d4329747..2c41f9983 100644
--- a/perf/app/build.gradle
+++ b/perf/app/build.gradle
@@ -24,6 +24,6 @@ android {
dependencies {
implementation 'androidx.legacy:legacy-support-v4:1.0.0'
implementation 'androidx.appcompat:appcompat:1.4.1'
- implementation "com.google.firebase:firebase-config-ktx:21.0.2"
- implementation "com.google.firebase:firebase-perf-ktx:20.0.6"
+ implementation "com.google.firebase:firebase-config-ktx:21.1.0"
+ implementation "com.google.firebase:firebase-perf-ktx:20.1.0"
}
diff --git a/perf/build.gradle b/perf/build.gradle
index 27d603dd2..e662653e6 100644
--- a/perf/build.gradle
+++ b/perf/build.gradle
@@ -6,7 +6,7 @@ buildscript {
mavenCentral()
}
dependencies {
- classpath 'com.android.tools.build:gradle:7.1.3'
+ classpath 'com.android.tools.build:gradle:7.2.1'
classpath 'com.google.gms:google-services:4.3.10'
classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:1.6.21"
}
diff --git a/predictions/.gitignore b/predictions/.gitignore
deleted file mode 100644
index 39fb081a4..000000000
--- a/predictions/.gitignore
+++ /dev/null
@@ -1,9 +0,0 @@
-*.iml
-.gradle
-/local.properties
-/.idea/workspace.xml
-/.idea/libraries
-.DS_Store
-/build
-/captures
-.externalNativeBuild
diff --git a/predictions/app/.gitignore b/predictions/app/.gitignore
deleted file mode 100644
index 796b96d1c..000000000
--- a/predictions/app/.gitignore
+++ /dev/null
@@ -1 +0,0 @@
-/build
diff --git a/predictions/app/build.gradle b/predictions/app/build.gradle
deleted file mode 100644
index 8f3d073c4..000000000
--- a/predictions/app/build.gradle
+++ /dev/null
@@ -1,32 +0,0 @@
-apply plugin: 'com.android.application'
-apply plugin: 'kotlin-android'
-
-android {
- compileSdkVersion 32
-
- defaultConfig {
- applicationId "com.google.firebase.example.predictions"
- minSdkVersion 19
- targetSdkVersion 32
- versionCode 1
- versionName "1.0"
- multiDexEnabled true
- testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
- }
- buildTypes {
- release {
- minifyEnabled false
- proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
- }
- }
-}
-
-dependencies {
- implementation 'androidx.legacy:legacy-support-v4:1.0.0'
- implementation 'androidx.browser:browser:1.0.0'
- implementation 'androidx.appcompat:appcompat:1.4.1'
-
- implementation "com.google.firebase:firebase-ads:20.6.0"
- implementation "com.google.firebase:firebase-analytics:20.1.2"
- implementation "com.google.firebase:firebase-config-ktx:21.0.2"
-}
diff --git a/predictions/app/google-services.json b/predictions/app/google-services.json
deleted file mode 100644
index a7df91c62..000000000
--- a/predictions/app/google-services.json
+++ /dev/null
@@ -1,68 +0,0 @@
-{
- "project_info": {
- "project_id": "mockproject-1234",
- "project_number": "123456789000",
- "name": "FirebaseQuickstarts",
- "firebase_url": "https://mockproject-1234.firebaseio.com"
- },
- "client": [
- {
- "client_info": {
- "mobilesdk_app_id": "1:123456789000:android:f1bf012572b04065",
- "client_id": "android:com.google.firebase.example.predictions",
- "client_type": 1,
- "android_client_info": {
- "package_name": "com.google.firebase.example.predictions",
- "certificate_hash": []
- }
- },
- "oauth_client": [
- {
- "client_id": "123456789000-hjugbg6ud799v4c49dim8ce2usclthar.apps.googleusercontent.com",
- "client_type": 1,
- "android_info": {
- "package_name": "com.google.firebase.example.predictions",
- "certificate_hash": "4C20644DE36B8F89D25650C7D1FF9FBAE650FDF7"
- }
- },
- {
- "client_id": "123456789000-e4uksm38sne0bqrj6uvkbo4oiu4hvigl.apps.googleusercontent.com",
- "client_type": 3
- }
- ],
- "api_key": [
- {
- "current_key": "AIzbSzCn1N6LWIe6wthYyrgUUSAlUsdqMb-wvTo"
- }
- ],
- "services": {
- "analytics_service": {
- "status": 1
- },
- "cloud_messaging_service": {
- "status": 2,
- "apns_config": []
- },
- "appinvite_service": {
- "status": 2,
- "other_platform_oauth_client": [
- {
- "client_id": "123456789000-e4uksm38sne0bqrj6uvkbo4oiu4hvigl.apps.googleusercontent.com",
- "client_type": 3
- }
- ]
- },
- "google_signin_service": {
- "status": 2
- },
- "ads_service": {
- "status": 2,
- "test_banner_ad_unit_id": "ca-app-pub-3940256099942544/6300978111",
- "test_interstitial_ad_unit_id": "ca-app-pub-3940256099942544/1033173712"
- }
- }
- }
- ],
- "client_info": [],
- "ARTIFACT_VERSION": "1"
-}
diff --git a/predictions/app/proguard-rules.pro b/predictions/app/proguard-rules.pro
deleted file mode 100644
index af6097fd5..000000000
--- a/predictions/app/proguard-rules.pro
+++ /dev/null
@@ -1,17 +0,0 @@
-# Add project specific ProGuard rules here.
-# By default, the flags in this file are appended to flags specified
-# in /Users/ianbarber/Library/Android/sdk/tools/proguard/proguard-android.txt
-# You can edit the include path and order by changing the proguardFiles
-# directive in build.gradle.
-#
-# For more details, see
-# http://developer.android.com/guide/developing/tools/proguard.html
-
-# Add any project specific keep options here:
-
-# If your project uses WebView with JS, uncomment the following
-# and specify the fully qualified class name to the JavaScript interface
-# class:
-#-keepclassmembers class fqcn.of.javascript.interface.for.webview {
-# public *;
-#}
diff --git a/predictions/app/src/main/AndroidManifest.xml b/predictions/app/src/main/AndroidManifest.xml
deleted file mode 100644
index c38d3a1b3..000000000
--- a/predictions/app/src/main/AndroidManifest.xml
+++ /dev/null
@@ -1,25 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/predictions/app/src/main/java/com/google/firebase/example/predictions/ConditionalAdsActivity.java b/predictions/app/src/main/java/com/google/firebase/example/predictions/ConditionalAdsActivity.java
deleted file mode 100644
index 77a37596c..000000000
--- a/predictions/app/src/main/java/com/google/firebase/example/predictions/ConditionalAdsActivity.java
+++ /dev/null
@@ -1,81 +0,0 @@
-package com.google.firebase.example.predictions;
-
-import android.os.Bundle;
-import androidx.annotation.NonNull;
-import androidx.appcompat.app.AppCompatActivity;
-import android.view.View;
-
-import com.google.android.gms.ads.AdRequest;
-import com.google.android.gms.ads.AdView;
-import com.google.android.gms.tasks.OnCompleteListener;
-import com.google.android.gms.tasks.Task;
-import com.google.firebase.remoteconfig.FirebaseRemoteConfig;
-
-import java.util.HashMap;
-import java.util.Map;
-
-public class ConditionalAdsActivity extends AppCompatActivity {
-
- private FirebaseRemoteConfig mFirebaseRemoteConfig;
-
- @Override
- protected void onCreate(Bundle savedInstanceState) {
- super.onCreate(savedInstanceState);
- }
-
- public void initRemoteConfig() {
- // [START pred_conditional_ads_init]
- mFirebaseRemoteConfig = FirebaseRemoteConfig.getInstance();
-
- Map remoteConfigDefaults = new HashMap<>();
- remoteConfigDefaults.put("ads_enabled", true);
- mFirebaseRemoteConfig.setDefaultsAsync(remoteConfigDefaults)
- .addOnCompleteListener(new OnCompleteListener() {
- @Override
- public void onComplete(@NonNull Task task) {
- if (task.isSuccessful()) {
- // Default value successfully set
- } else {
- // Failed to set default value
- }
- }
- });
- // [END pred_conditional_ads_init]
- }
-
- public void fetchRemoteConfig() {
- // [START pred_conditional_ads_fetch]
- mFirebaseRemoteConfig.fetchAndActivate()
- .addOnCompleteListener(new OnCompleteListener() {
- @Override
- public void onComplete(@NonNull Task task) {
- if (task.isSuccessful()) {
- // Act on the retrieved parameters
-
- // Show ads based on the ad policy retrieved with Remote Config
- executeAdsPolicy();
-
- // ...
- } else {
- // Handle errors
- }
- }
- });
- // [END pred_conditional_ads_fetch]
- }
-
- // [START pred_conditional_ads_policy]
- private void executeAdsPolicy() {
- boolean showAds = mFirebaseRemoteConfig.getBoolean("ads_enabled");
- AdView mAdView = findViewById(R.id.adView);
-
- if (showAds) {
- AdRequest adRequest = new AdRequest.Builder().build();
- mAdView.loadAd(adRequest);
- mAdView.setVisibility(View.VISIBLE);
- } else {
- mAdView.setVisibility(View.GONE);
- }
- }
- // [END pred_conditional_ads_policy]
-}
diff --git a/predictions/app/src/main/java/com/google/firebase/example/predictions/MainActivity.java b/predictions/app/src/main/java/com/google/firebase/example/predictions/MainActivity.java
deleted file mode 100644
index 2780d77af..000000000
--- a/predictions/app/src/main/java/com/google/firebase/example/predictions/MainActivity.java
+++ /dev/null
@@ -1,181 +0,0 @@
-package com.google.firebase.example.predictions;
-
-import android.os.Bundle;
-import androidx.annotation.NonNull;
-import androidx.appcompat.app.AppCompatActivity;
-import android.view.View;
-
-import com.google.android.gms.ads.AdRequest;
-import com.google.android.gms.ads.AdView;
-import com.google.android.gms.tasks.Continuation;
-import com.google.android.gms.tasks.OnCompleteListener;
-import com.google.android.gms.tasks.Task;
-import com.google.firebase.analytics.FirebaseAnalytics;
-import com.google.firebase.remoteconfig.FirebaseRemoteConfig;
-
-import java.util.HashMap;
-import java.util.Map;
-
-public class MainActivity extends AppCompatActivity {
-
- @Override
- protected void onCreate(Bundle savedInstanceState) {
- super.onCreate(savedInstanceState);
- }
-
- public void configShowAds() {
- // [START pred_config_show_ads]
- final FirebaseRemoteConfig config = FirebaseRemoteConfig.getInstance();
-
- Map remoteConfigDefaults = new HashMap<>();
- remoteConfigDefaults.put("ads_policy", "ads_never");
- config.setDefaultsAsync(remoteConfigDefaults)
- .continueWithTask(new Continuation>() {
- @Override
- public Task then(@NonNull Task task) throws Exception {
- if (!task.isSuccessful()) {
- throw task.getException();
- }
- return config.fetchAndActivate();
- }
- })
- .addOnCompleteListener(new OnCompleteListener() {
- @Override
- public void onComplete(@NonNull Task task) {
- if (task.isSuccessful()) {
- // Act on the retrieved parameters
-
- // Show ads based on the ad policy retrieved with Remote Config
- executeAdsPolicy();
-
- // ...
- } else {
- // Handle errors
- }
- }
- });
- // [END pred_config_show_ads]
- }
-
- public void executeAdsPolicy() {
- // [START pred_ads_policy]
- FirebaseRemoteConfig config = FirebaseRemoteConfig.getInstance();
- String adPolicy = config.getString("ads_policy");
- boolean will_not_spend = config.getBoolean("will_not_spend");
- AdView mAdView = findViewById(R.id.adView);
-
- if (adPolicy.equals("ads_always") ||
- (adPolicy.equals("ads_nonspenders") && will_not_spend)) {
- AdRequest adRequest = new AdRequest.Builder().build();
- mAdView.loadAd(adRequest);
- mAdView.setVisibility(View.VISIBLE);
- } else {
- mAdView.setVisibility(View.GONE);
- }
-
- FirebaseAnalytics.getInstance(this).logEvent("ads_policy_set", new Bundle());
- // [END pred_ads_policy]
- }
-
- public void configPromoStrategy() {
- // [START config_promo_strategy]
- final FirebaseRemoteConfig config = FirebaseRemoteConfig.getInstance();
-
- Map remoteConfigDefaults = new HashMap<>();
- remoteConfigDefaults.put("promoted_bundle", "basic");
- config.setDefaultsAsync(remoteConfigDefaults)
- .continueWithTask(new Continuation>() {
- @Override
- public Task then(@NonNull Task task) throws Exception {
- if (!task.isSuccessful()) {
- throw task.getException();
- }
- return config.fetchAndActivate();
- }
- })
- .addOnCompleteListener(this, new OnCompleteListener() {
- @Override
- public void onComplete(@NonNull Task task) {
- if (task.isSuccessful()) {
- // Act on the retrieved parameters
- String promotedBundle = getPromotedBundle();
- // ...
- } else {
- // Handle errors
- }
- }
- });
- // [END config_promo_strategy]
- }
-
- // [START pred_get_promoted_bundle]
- public String getPromotedBundle() {
- FirebaseAnalytics.getInstance(this).logEvent("promotion_set", new Bundle());
-
- FirebaseRemoteConfig config = FirebaseRemoteConfig.getInstance();
- String promotedBundle = config.getString("promoted_bundle");
- boolean will_spend = config.getBoolean("predicted_will_spend");
-
- if (promotedBundle.equals("predicted") && will_spend) {
- return "premium";
- } else {
- return promotedBundle;
- }
- }
- // [END pred_get_promoted_bundle]
-
- public void configPreventChurn() {
- // [START pred_config_prevent_churn]
- final FirebaseRemoteConfig config = FirebaseRemoteConfig.getInstance();
-
- Map remoteConfigDefaults = new HashMap<>();
- remoteConfigDefaults.put("gift_policy", "gift_never");
- config.setDefaultsAsync(remoteConfigDefaults)
- .continueWithTask(new Continuation>() {
- @Override
- public Task then(@NonNull Task task) throws Exception {
- if (!task.isSuccessful()) {
- throw task.getException();
- }
- return config.fetchAndActivate();
- }
- })
- .addOnCompleteListener(this, new OnCompleteListener() {
- @Override
- public void onComplete(@NonNull Task task) {
- if (task.isSuccessful()) {
- // Act on the retrieved parameters
- executeGiftPolicy();
- // ...
- } else {
- // Handle errors
- }
- }
- });
- // [END pred_config_prevent_churn]
- }
-
- // [START pred_execute_gift_policy]
- public void executeGiftPolicy() {
- FirebaseRemoteConfig config = FirebaseRemoteConfig.getInstance();
- String giftPolicy = config.getString("gift_policy");
- boolean willChurn = config.getBoolean("will_churn");
-
- if (giftPolicy.equals("gift_achievement")) {
- grantGiftOnLevel2();
- } else if (giftPolicy.equals("gift_likelychurn") && willChurn) {
- grantGiftNow();
- }
-
- FirebaseAnalytics.getInstance(this).logEvent("gift_policy_set", new Bundle());
- }
- // [END pred_execute_gift_policy]
-
- public void grantGiftOnLevel2() {
- // Nothing
- }
-
- public void grantGiftNow() {
- // Nothing
- }
-}
diff --git a/predictions/app/src/main/java/com/google/firebase/example/predictions/OptimizePromotionsActivity.java b/predictions/app/src/main/java/com/google/firebase/example/predictions/OptimizePromotionsActivity.java
deleted file mode 100644
index c532d22e2..000000000
--- a/predictions/app/src/main/java/com/google/firebase/example/predictions/OptimizePromotionsActivity.java
+++ /dev/null
@@ -1,64 +0,0 @@
-package com.google.firebase.example.predictions;
-
-import android.os.Bundle;
-import androidx.annotation.NonNull;
-import androidx.appcompat.app.AppCompatActivity;
-
-import com.google.android.gms.tasks.OnCompleteListener;
-import com.google.android.gms.tasks.Task;
-import com.google.firebase.remoteconfig.FirebaseRemoteConfig;
-
-import java.util.HashMap;
-import java.util.Map;
-
-public class OptimizePromotionsActivity extends AppCompatActivity {
-
- private FirebaseRemoteConfig mConfig;
- private String mPromotedBundle;
-
- @Override
- protected void onCreate(Bundle savedInstanceState) {
- super.onCreate(savedInstanceState);
- }
-
- private void initConfig() {
- // [START pred_optimize_promotions_init]
- mConfig = FirebaseRemoteConfig.getInstance();
-
- Map remoteConfigDefaults = new HashMap<>();
- remoteConfigDefaults.put("promoted_bundle", "basic");
- mConfig.setDefaultsAsync(remoteConfigDefaults)
- .addOnCompleteListener(new OnCompleteListener() {
- @Override
- public void onComplete(@NonNull Task task) {
- if (task.isSuccessful()) {
- // Default value successfully set
- } else {
- // Failed to set default value
- }
- }
- });
- // [END pred_optimize_promotions_init]
- }
-
- private void fetchConfig() {
- // [START pred_optimize_promotions_fetch]
- mConfig.fetchAndActivate()
- .addOnCompleteListener(this, new OnCompleteListener() {
- @Override
- public void onComplete(@NonNull Task task) {
- if (task.isSuccessful()) {
- // Act on the retrieved parameters
-
- // Set the bundle to promote based on parameters retrieved with
- // Remote Config. This depends entirely on your app, but for
- // example, you might retrieve and use image assets based on the
- // specified bundle name.
- mPromotedBundle = mConfig.getString("promoted_bundle");
- // ...
- }
- }
- });
- // [END pred_optimize_promotions_fetch]
- }
-}
diff --git a/predictions/app/src/main/java/com/google/firebase/example/predictions/PreventChurnActivity.java b/predictions/app/src/main/java/com/google/firebase/example/predictions/PreventChurnActivity.java
deleted file mode 100644
index e9ce3a750..000000000
--- a/predictions/app/src/main/java/com/google/firebase/example/predictions/PreventChurnActivity.java
+++ /dev/null
@@ -1,57 +0,0 @@
-package com.google.firebase.example.predictions;
-
-import androidx.annotation.NonNull;
-import androidx.appcompat.app.AppCompatActivity;
-
-import com.google.android.gms.tasks.Continuation;
-import com.google.android.gms.tasks.OnCompleteListener;
-import com.google.android.gms.tasks.Task;
-import com.google.firebase.remoteconfig.FirebaseRemoteConfig;
-
-import java.util.HashMap;
-import java.util.Map;
-
-public class PreventChurnActivity extends AppCompatActivity {
-
- private void preventChurn() {
- // [START pred_prevent_churn]
- final FirebaseRemoteConfig config = FirebaseRemoteConfig.getInstance();
-
- Map remoteConfigDefaults = new HashMap<>();
- remoteConfigDefaults.put("grant_retention_gift", false);
- config.setDefaultsAsync(remoteConfigDefaults)
- .continueWithTask(new Continuation>() {
- @Override
- public Task then(@NonNull Task task) throws Exception {
- if (!task.isSuccessful()) {
- throw task.getException();
- }
- return config.fetchAndActivate();
- }
- })
- .addOnCompleteListener(this, new OnCompleteListener() {
- @Override
- public void onComplete(@NonNull Task task) {
- if (task.isSuccessful()) {
- // Act on the retrieved parameters. For example, grant the
- // retention gift to players who haven't yet received one.
- boolean shouldGrantGift = config.getBoolean("grant_retention_gift");
- if (shouldGrantGift && !playerAlreadyReceivedGift()) {
- grantGiftToPlayer();
- }
- }
- }
- });
- // [END pred_prevent_churn]
- }
-
- private boolean playerAlreadyReceivedGift() {
- // Dummy method
- return false;
- }
-
- private void grantGiftToPlayer() {
- // Dummy method
- }
-
-}
diff --git a/predictions/app/src/main/java/com/google/firebase/example/predictions/kotlin/ConditionalAdsActivity.kt b/predictions/app/src/main/java/com/google/firebase/example/predictions/kotlin/ConditionalAdsActivity.kt
deleted file mode 100644
index 06e0ee9e7..000000000
--- a/predictions/app/src/main/java/com/google/firebase/example/predictions/kotlin/ConditionalAdsActivity.kt
+++ /dev/null
@@ -1,67 +0,0 @@
-package com.google.firebase.example.predictions.kotlin
-
-import android.view.View
-import androidx.appcompat.app.AppCompatActivity
-import com.google.android.gms.ads.AdRequest
-import com.google.android.gms.ads.AdView
-import com.google.firebase.example.predictions.R
-import com.google.firebase.ktx.Firebase
-import com.google.firebase.remoteconfig.FirebaseRemoteConfig
-import com.google.firebase.remoteconfig.ktx.get
-import com.google.firebase.remoteconfig.ktx.remoteConfig
-
-class ConditionalAdsActivity : AppCompatActivity() {
-
- private lateinit var firebaseRemoteConfig: FirebaseRemoteConfig
-
- fun initRemoteConfig() {
- // [START pred_conditional_ads_init]
- firebaseRemoteConfig = Firebase.remoteConfig
-
- val remoteConfigDefaults = hashMapOf(
- "ads_enabled" to true
- )
- firebaseRemoteConfig.setDefaultsAsync(remoteConfigDefaults)
- .addOnCompleteListener { task ->
- if (task.isSuccessful) {
- // Default value successfully set
- } else {
- // Failed to set default value
- }
- }
- // [END pred_conditional_ads_init]
- }
-
- fun fetchRemoteConfig() {
- // [START pred_conditional_ads_fetch]
- firebaseRemoteConfig.fetchAndActivate()
- .addOnCompleteListener(this) { task ->
- if (task.isSuccessful) {
- // Act on the retrieved parameters
-
- // Show ads based on the ad policy retrieved with Remote Config
- executeAdsPolicy()
-
- // ...
- } else {
- // Handle errors
- }
- }
- // [END pred_conditional_ads_fetch]
- }
-
- // [START pred_conditional_ads_policy]
- private fun executeAdsPolicy() {
- val showAds = firebaseRemoteConfig["ads_enabled"].asBoolean()
- val adView = findViewById(R.id.adView)
-
- if (showAds) {
- val adRequest = AdRequest.Builder().build()
- adView.loadAd(adRequest)
- adView.visibility = View.VISIBLE
- } else {
- adView.visibility = View.GONE
- }
- }
- // [END pred_conditional_ads_policy]
-}
diff --git a/predictions/app/src/main/java/com/google/firebase/example/predictions/kotlin/MainActivity.kt b/predictions/app/src/main/java/com/google/firebase/example/predictions/kotlin/MainActivity.kt
deleted file mode 100644
index e832d64fd..000000000
--- a/predictions/app/src/main/java/com/google/firebase/example/predictions/kotlin/MainActivity.kt
+++ /dev/null
@@ -1,164 +0,0 @@
-package com.google.firebase.example.predictions.kotlin
-
-import android.os.Bundle
-import android.view.View
-import androidx.appcompat.app.AppCompatActivity
-import com.google.android.gms.ads.AdRequest
-import com.google.android.gms.ads.AdView
-import com.google.firebase.analytics.FirebaseAnalytics
-import com.google.firebase.example.predictions.R
-import com.google.firebase.ktx.Firebase
-import com.google.firebase.remoteconfig.ktx.get
-import com.google.firebase.remoteconfig.ktx.remoteConfig
-
-class MainActivity : AppCompatActivity() {
-
- fun configShowAds() {
- // [START pred_config_show_ads]
- val config = Firebase.remoteConfig
-
- val remoteConfigDefaults = hashMapOf(
- "ads_policy" to "ads_never"
- )
- config.setDefaultsAsync(remoteConfigDefaults)
- .continueWithTask { task ->
- if (!task.isSuccessful) {
- task.exception?.let {
- throw it
- }
- }
- config.fetchAndActivate()
- }
- .addOnCompleteListener(this) { task ->
- if (task.isSuccessful) {
- // Act on the retrieved parameters
-
- // Show ads based on the ad policy retrieved with Remote Config
- executeAdsPolicy()
-
- // ...
- } else {
- // Handle errors
- }
- }
- // [END pred_config_show_ads]
- }
-
- private fun executeAdsPolicy() {
- val adView = findViewById(R.id.adView)
- // [START pred_ads_policy]
- val config = Firebase.remoteConfig
- val adPolicy = config["ads_policy"].asString()
- val willNotSpend = config["will_not_spend"].asBoolean()
-
- if (adPolicy == "ads_always" || adPolicy == "ads_nonspenders" && willNotSpend) {
- val adRequest = AdRequest.Builder().build()
- adView.loadAd(adRequest)
- adView.visibility = View.VISIBLE
- } else {
- adView.visibility = View.GONE
- }
-
- FirebaseAnalytics.getInstance(this).logEvent("ads_policy_set", Bundle())
- // [END pred_ads_policy]
- }
-
- fun configPromoStrategy() {
- // [START config_promo_strategy]
- val config = Firebase.remoteConfig
-
- val remoteConfigDefaults = hashMapOf(
- "promoted_bundle" to "basic"
- )
- config.setDefaultsAsync(remoteConfigDefaults)
- .continueWithTask { task ->
- if (!task.isSuccessful) {
- task.exception?.let {
- throw it
- }
- }
- config.fetchAndActivate()
- }
- .addOnCompleteListener(this) { task ->
- if (task.isSuccessful) {
- // Act on the retrieved parameters
-
- // Show ads based on the ad policy retrieved with Remote Config
- executeAdsPolicy()
-
- // ...
- } else {
- // Handle errors
- }
- }
- // [END config_promo_strategy]
- }
-
- // [START pred_get_promoted_bundle]
- private fun getPromotedBundle(): String {
- FirebaseAnalytics.getInstance(this).logEvent("promotion_set", Bundle())
-
- val config = Firebase.remoteConfig
- val promotedBundle = config["promoted_bundle"].asString()
- val willSpend = config["predicted_will_spend"].asBoolean()
-
- return if (promotedBundle == "predicted" && willSpend) {
- "premium"
- } else {
- promotedBundle
- }
- }
- // [END pred_get_promoted_bundle]
-
- fun configPreventChurn() {
- // [START pred_config_prevent_churn]
- val config = Firebase.remoteConfig
-
- val remoteConfigDefaults = hashMapOf(
- "gift_policy" to "gift_never"
- )
- config.setDefaultsAsync(remoteConfigDefaults)
- .continueWithTask { task ->
- if (!task.isSuccessful) {
- task.exception?.let {
- throw it
- }
- }
- config.fetchAndActivate()
- }
- .addOnCompleteListener { task ->
- if (task.isSuccessful) {
- // Act on the retrieved parameters
- executeGiftPolicy()
- // ...
- } else {
- // Handle errors
- }
- }
- // [END pred_config_prevent_churn]
- }
-
- // [START pred_execute_gift_policy]
- private fun executeGiftPolicy() {
- val config = Firebase.remoteConfig
- val giftPolicy = config["gift_policy"].asString()
- val willChurn = config["will_churn"].asBoolean()
-
- if (giftPolicy == "gift_achievement") {
- grantGiftOnLevel2()
- } else if (giftPolicy == "gift_likelychurn" && willChurn) {
- grantGiftNow()
- }
-
- FirebaseAnalytics.getInstance(this).logEvent("gift_policy_set", Bundle())
- }
- // [END pred_execute_gift_policy]
-
- private fun grantGiftOnLevel2() {
- // Nothing
- }
-
- private fun grantGiftNow() {
- // Nothing
- }
-}
diff --git a/predictions/app/src/main/java/com/google/firebase/example/predictions/kotlin/OptimizePromotionsActivity.kt b/predictions/app/src/main/java/com/google/firebase/example/predictions/kotlin/OptimizePromotionsActivity.kt
deleted file mode 100644
index 3cf62147a..000000000
--- a/predictions/app/src/main/java/com/google/firebase/example/predictions/kotlin/OptimizePromotionsActivity.kt
+++ /dev/null
@@ -1,49 +0,0 @@
-package com.google.firebase.example.predictions.kotlin
-
-import androidx.appcompat.app.AppCompatActivity
-import com.google.firebase.ktx.Firebase
-import com.google.firebase.remoteconfig.FirebaseRemoteConfig
-import com.google.firebase.remoteconfig.ktx.get
-import com.google.firebase.remoteconfig.ktx.remoteConfig
-
-class OptimizePromotionsActivity : AppCompatActivity() {
-
- private lateinit var config: FirebaseRemoteConfig
- private var promotedBundle: String? = null
-
- private fun initConfig() {
- // [START pred_optimize_promotions_init]
- config = Firebase.remoteConfig
-
- val remoteConfigDefaults = hashMapOf(
- "promoted_bundle" to "basic"
- )
- config.setDefaultsAsync(remoteConfigDefaults)
- .addOnCompleteListener { task ->
- if (task.isSuccessful) {
- // Default value successfully set
- } else {
- // Failed to set default value
- }
- }
- // [END pred_optimize_promotions_init]
- }
-
- private fun fetchConfig() {
- // [START pred_optimize_promotions_fetch]
- config.fetchAndActivate()
- .addOnCompleteListener(this) { task ->
- if (task.isSuccessful) {
- // Act on the retrieved parameters
-
- // Set the bundle to promote based on parameters retrieved with
- // Remote Config. This depends entirely on your app, but for
- // example, you might retrieve and use image assets based on the
- // specified bundle name.
- promotedBundle = config["promoted_bundle"].asString()
- // ...
- }
- }
- // [END pred_optimize_promotions_fetch]
- }
-}
diff --git a/predictions/app/src/main/java/com/google/firebase/example/predictions/kotlin/PreventChurnActivity.kt b/predictions/app/src/main/java/com/google/firebase/example/predictions/kotlin/PreventChurnActivity.kt
deleted file mode 100644
index f7b480d8f..000000000
--- a/predictions/app/src/main/java/com/google/firebase/example/predictions/kotlin/PreventChurnActivity.kt
+++ /dev/null
@@ -1,49 +0,0 @@
-package com.google.firebase.example.predictions.kotlin
-
-import androidx.appcompat.app.AppCompatActivity
-import com.google.firebase.ktx.Firebase
-import com.google.firebase.remoteconfig.ktx.get
-import com.google.firebase.remoteconfig.ktx.remoteConfig
-
-class PreventChurnActivity : AppCompatActivity() {
-
- private fun preventChurn() {
- // [START pred_prevent_churn]
- val config = Firebase.remoteConfig
-
- val remoteConfigDefaults = hashMapOf(
- "grant_retention_gift" to false
- )
- config.setDefaultsAsync(remoteConfigDefaults)
- .continueWithTask { task ->
- if (!task.isSuccessful) {
- task.exception?.let {
- throw it
- }
- }
- config.fetchAndActivate()
- }
- .addOnCompleteListener(this) { task ->
- if (task.isSuccessful) {
- // Act on the retrieved parameters. For example, grant the
- // retention gift to players who haven't yet received one.
- val shouldGrantGift = config["grant_retention_gift"].asBoolean()
- if (shouldGrantGift && !playerAlreadyReceivedGift()) {
- grantGiftToPlayer()
- }
- } else {
- // Handle errors
- }
- }
- // [END pred_prevent_churn]
- }
-
- private fun playerAlreadyReceivedGift(): Boolean {
- // Dummy method
- return false
- }
-
- private fun grantGiftToPlayer() {
- // Dummy method
- }
-}
diff --git a/predictions/app/src/main/res/layout/activity_main.xml b/predictions/app/src/main/res/layout/activity_main.xml
deleted file mode 100644
index 16e8a2121..000000000
--- a/predictions/app/src/main/res/layout/activity_main.xml
+++ /dev/null
@@ -1,23 +0,0 @@
-
-
-
-
-
-
-
diff --git a/predictions/app/src/main/res/mipmap-hdpi/ic_launcher.png b/predictions/app/src/main/res/mipmap-hdpi/ic_launcher.png
deleted file mode 100644
index cde69bccc..000000000
Binary files a/predictions/app/src/main/res/mipmap-hdpi/ic_launcher.png and /dev/null differ
diff --git a/predictions/app/src/main/res/mipmap-mdpi/ic_launcher.png b/predictions/app/src/main/res/mipmap-mdpi/ic_launcher.png
deleted file mode 100644
index c133a0cbd..000000000
Binary files a/predictions/app/src/main/res/mipmap-mdpi/ic_launcher.png and /dev/null differ
diff --git a/predictions/app/src/main/res/mipmap-xhdpi/ic_launcher.png b/predictions/app/src/main/res/mipmap-xhdpi/ic_launcher.png
deleted file mode 100644
index bfa42f0e7..000000000
Binary files a/predictions/app/src/main/res/mipmap-xhdpi/ic_launcher.png and /dev/null differ
diff --git a/predictions/app/src/main/res/mipmap-xxhdpi/ic_launcher.png b/predictions/app/src/main/res/mipmap-xxhdpi/ic_launcher.png
deleted file mode 100644
index 324e72cdd..000000000
Binary files a/predictions/app/src/main/res/mipmap-xxhdpi/ic_launcher.png and /dev/null differ
diff --git a/predictions/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png b/predictions/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png
deleted file mode 100644
index aee44e138..000000000
Binary files a/predictions/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png and /dev/null differ
diff --git a/predictions/app/src/main/res/values-w820dp/dimens.xml b/predictions/app/src/main/res/values-w820dp/dimens.xml
deleted file mode 100644
index 63fc81644..000000000
--- a/predictions/app/src/main/res/values-w820dp/dimens.xml
+++ /dev/null
@@ -1,6 +0,0 @@
-
-
- 64dp
-
diff --git a/predictions/app/src/main/res/values/colors.xml b/predictions/app/src/main/res/values/colors.xml
deleted file mode 100644
index 3ab3e9cbc..000000000
--- a/predictions/app/src/main/res/values/colors.xml
+++ /dev/null
@@ -1,6 +0,0 @@
-
-
- #3F51B5
- #303F9F
- #FF4081
-
diff --git a/predictions/app/src/main/res/values/dimens.xml b/predictions/app/src/main/res/values/dimens.xml
deleted file mode 100644
index 47c822467..000000000
--- a/predictions/app/src/main/res/values/dimens.xml
+++ /dev/null
@@ -1,5 +0,0 @@
-
-
- 16dp
- 16dp
-
diff --git a/predictions/app/src/main/res/values/strings.xml b/predictions/app/src/main/res/values/strings.xml
deleted file mode 100644
index d96e601ff..000000000
--- a/predictions/app/src/main/res/values/strings.xml
+++ /dev/null
@@ -1,3 +0,0 @@
-
- Firebase Options
-
diff --git a/predictions/app/src/main/res/values/styles.xml b/predictions/app/src/main/res/values/styles.xml
deleted file mode 100644
index 5885930df..000000000
--- a/predictions/app/src/main/res/values/styles.xml
+++ /dev/null
@@ -1,11 +0,0 @@
-
-
-
-
-
-
diff --git a/predictions/build.gradle b/predictions/build.gradle
deleted file mode 100644
index 27d603dd2..000000000
--- a/predictions/build.gradle
+++ /dev/null
@@ -1,25 +0,0 @@
-// Top-level build file where you can add configuration options common to all sub-projects/modules.
-
-buildscript {
- repositories {
- google()
- mavenCentral()
- }
- dependencies {
- classpath 'com.android.tools.build:gradle:7.1.3'
- classpath 'com.google.gms:google-services:4.3.10'
- classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:1.6.21"
- }
-}
-
-allprojects {
- repositories {
- google()
- mavenLocal()
- mavenCentral()
- }
-}
-
-task clean(type: Delete) {
- delete rootProject.buildDir
-}
diff --git a/predictions/gradle.properties b/predictions/gradle.properties
deleted file mode 100644
index aac7c9b46..000000000
--- a/predictions/gradle.properties
+++ /dev/null
@@ -1,17 +0,0 @@
-# Project-wide Gradle settings.
-
-# IDE (e.g. Android Studio) users:
-# Gradle settings configured through the IDE *will override*
-# any settings specified in this file.
-
-# For more details on how to configure your build environment visit
-# http://www.gradle.org/docs/current/userguide/build_environment.html
-
-# Specifies the JVM arguments used for the daemon process.
-# The setting is particularly useful for tweaking memory settings.
-org.gradle.jvmargs=-Xmx1536m
-
-# When configured, Gradle will run in incubating parallel mode.
-# This option should only be used with decoupled projects. More details, visit
-# http://www.gradle.org/docs/current/userguide/multi_project_builds.html#sec:decoupled_projects
-# org.gradle.parallel=true
diff --git a/predictions/gradle/wrapper/gradle-wrapper.jar b/predictions/gradle/wrapper/gradle-wrapper.jar
deleted file mode 100644
index 5c2d1cf01..000000000
Binary files a/predictions/gradle/wrapper/gradle-wrapper.jar and /dev/null differ
diff --git a/predictions/gradle/wrapper/gradle-wrapper.properties b/predictions/gradle/wrapper/gradle-wrapper.properties
deleted file mode 100644
index bb8b2fc26..000000000
--- a/predictions/gradle/wrapper/gradle-wrapper.properties
+++ /dev/null
@@ -1,5 +0,0 @@
-distributionBase=GRADLE_USER_HOME
-distributionPath=wrapper/dists
-distributionUrl=https\://services.gradle.org/distributions/gradle-6.5.1-bin.zip
-zipStoreBase=GRADLE_USER_HOME
-zipStorePath=wrapper/dists
diff --git a/predictions/gradlew b/predictions/gradlew
deleted file mode 100755
index 83f2acfdc..000000000
--- a/predictions/gradlew
+++ /dev/null
@@ -1,188 +0,0 @@
-#!/usr/bin/env sh
-
-#
-# Copyright 2015 the original author or authors.
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-# https://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-#
-
-##############################################################################
-##
-## Gradle start up script for UN*X
-##
-##############################################################################
-
-# Attempt to set APP_HOME
-# Resolve links: $0 may be a link
-PRG="$0"
-# Need this for relative symlinks.
-while [ -h "$PRG" ] ; do
- ls=`ls -ld "$PRG"`
- link=`expr "$ls" : '.*-> \(.*\)$'`
- if expr "$link" : '/.*' > /dev/null; then
- PRG="$link"
- else
- PRG=`dirname "$PRG"`"/$link"
- fi
-done
-SAVED="`pwd`"
-cd "`dirname \"$PRG\"`/" >/dev/null
-APP_HOME="`pwd -P`"
-cd "$SAVED" >/dev/null
-
-APP_NAME="Gradle"
-APP_BASE_NAME=`basename "$0"`
-
-# Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script.
-DEFAULT_JVM_OPTS='"-Xmx64m" "-Xms64m"'
-
-# Use the maximum available, or set MAX_FD != -1 to use that value.
-MAX_FD="maximum"
-
-warn () {
- echo "$*"
-}
-
-die () {
- echo
- echo "$*"
- echo
- exit 1
-}
-
-# OS specific support (must be 'true' or 'false').
-cygwin=false
-msys=false
-darwin=false
-nonstop=false
-case "`uname`" in
- CYGWIN* )
- cygwin=true
- ;;
- Darwin* )
- darwin=true
- ;;
- MINGW* )
- msys=true
- ;;
- NONSTOP* )
- nonstop=true
- ;;
-esac
-
-CLASSPATH=$APP_HOME/gradle/wrapper/gradle-wrapper.jar
-
-# Determine the Java command to use to start the JVM.
-if [ -n "$JAVA_HOME" ] ; then
- if [ -x "$JAVA_HOME/jre/sh/java" ] ; then
- # IBM's JDK on AIX uses strange locations for the executables
- JAVACMD="$JAVA_HOME/jre/sh/java"
- else
- JAVACMD="$JAVA_HOME/bin/java"
- fi
- if [ ! -x "$JAVACMD" ] ; then
- die "ERROR: JAVA_HOME is set to an invalid directory: $JAVA_HOME
-
-Please set the JAVA_HOME variable in your environment to match the
-location of your Java installation."
- fi
-else
- JAVACMD="java"
- which java >/dev/null 2>&1 || die "ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH.
-
-Please set the JAVA_HOME variable in your environment to match the
-location of your Java installation."
-fi
-
-# Increase the maximum file descriptors if we can.
-if [ "$cygwin" = "false" -a "$darwin" = "false" -a "$nonstop" = "false" ] ; then
- MAX_FD_LIMIT=`ulimit -H -n`
- if [ $? -eq 0 ] ; then
- if [ "$MAX_FD" = "maximum" -o "$MAX_FD" = "max" ] ; then
- MAX_FD="$MAX_FD_LIMIT"
- fi
- ulimit -n $MAX_FD
- if [ $? -ne 0 ] ; then
- warn "Could not set maximum file descriptor limit: $MAX_FD"
- fi
- else
- warn "Could not query maximum file descriptor limit: $MAX_FD_LIMIT"
- fi
-fi
-
-# For Darwin, add options to specify how the application appears in the dock
-if $darwin; then
- GRADLE_OPTS="$GRADLE_OPTS \"-Xdock:name=$APP_NAME\" \"-Xdock:icon=$APP_HOME/media/gradle.icns\""
-fi
-
-# For Cygwin or MSYS, switch paths to Windows format before running java
-if [ "$cygwin" = "true" -o "$msys" = "true" ] ; then
- APP_HOME=`cygpath --path --mixed "$APP_HOME"`
- CLASSPATH=`cygpath --path --mixed "$CLASSPATH"`
- JAVACMD=`cygpath --unix "$JAVACMD"`
-
- # We build the pattern for arguments to be converted via cygpath
- ROOTDIRSRAW=`find -L / -maxdepth 1 -mindepth 1 -type d 2>/dev/null`
- SEP=""
- for dir in $ROOTDIRSRAW ; do
- ROOTDIRS="$ROOTDIRS$SEP$dir"
- SEP="|"
- done
- OURCYGPATTERN="(^($ROOTDIRS))"
- # Add a user-defined pattern to the cygpath arguments
- if [ "$GRADLE_CYGPATTERN" != "" ] ; then
- OURCYGPATTERN="$OURCYGPATTERN|($GRADLE_CYGPATTERN)"
- fi
- # Now convert the arguments - kludge to limit ourselves to /bin/sh
- i=0
- for arg in "$@" ; do
- CHECK=`echo "$arg"|egrep -c "$OURCYGPATTERN" -`
- CHECK2=`echo "$arg"|egrep -c "^-"` ### Determine if an option
-
- if [ $CHECK -ne 0 ] && [ $CHECK2 -eq 0 ] ; then ### Added a condition
- eval `echo args$i`=`cygpath --path --ignore --mixed "$arg"`
- else
- eval `echo args$i`="\"$arg\""
- fi
- i=$((i+1))
- done
- case $i in
- (0) set -- ;;
- (1) set -- "$args0" ;;
- (2) set -- "$args0" "$args1" ;;
- (3) set -- "$args0" "$args1" "$args2" ;;
- (4) set -- "$args0" "$args1" "$args2" "$args3" ;;
- (5) set -- "$args0" "$args1" "$args2" "$args3" "$args4" ;;
- (6) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" ;;
- (7) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" ;;
- (8) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" "$args7" ;;
- (9) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" "$args7" "$args8" ;;
- esac
-fi
-
-# Escape application args
-save () {
- for i do printf %s\\n "$i" | sed "s/'/'\\\\''/g;1s/^/'/;\$s/\$/' \\\\/" ; done
- echo " "
-}
-APP_ARGS=$(save "$@")
-
-# Collect all arguments for the java command, following the shell quoting and substitution rules
-eval set -- $DEFAULT_JVM_OPTS $JAVA_OPTS $GRADLE_OPTS "\"-Dorg.gradle.appname=$APP_BASE_NAME\"" -classpath "\"$CLASSPATH\"" org.gradle.wrapper.GradleWrapperMain "$APP_ARGS"
-
-# by default we should be in the correct project dir, but when run from Finder on Mac, the cwd is wrong
-if [ "$(uname)" = "Darwin" ] && [ "$HOME" = "$PWD" ]; then
- cd "$(dirname "$0")"
-fi
-
-exec "$JAVACMD" "$@"
diff --git a/predictions/gradlew.bat b/predictions/gradlew.bat
deleted file mode 100644
index 24467a141..000000000
--- a/predictions/gradlew.bat
+++ /dev/null
@@ -1,100 +0,0 @@
-@rem
-@rem Copyright 2015 the original author or authors.
-@rem
-@rem Licensed under the Apache License, Version 2.0 (the "License");
-@rem you may not use this file except in compliance with the License.
-@rem You may obtain a copy of the License at
-@rem
-@rem https://www.apache.org/licenses/LICENSE-2.0
-@rem
-@rem Unless required by applicable law or agreed to in writing, software
-@rem distributed under the License is distributed on an "AS IS" BASIS,
-@rem WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-@rem See the License for the specific language governing permissions and
-@rem limitations under the License.
-@rem
-
-@if "%DEBUG%" == "" @echo off
-@rem ##########################################################################
-@rem
-@rem Gradle startup script for Windows
-@rem
-@rem ##########################################################################
-
-@rem Set local scope for the variables with windows NT shell
-if "%OS%"=="Windows_NT" setlocal
-
-set DIRNAME=%~dp0
-if "%DIRNAME%" == "" set DIRNAME=.
-set APP_BASE_NAME=%~n0
-set APP_HOME=%DIRNAME%
-
-@rem Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script.
-set DEFAULT_JVM_OPTS="-Xmx64m" "-Xms64m"
-
-@rem Find java.exe
-if defined JAVA_HOME goto findJavaFromJavaHome
-
-set JAVA_EXE=java.exe
-%JAVA_EXE% -version >NUL 2>&1
-if "%ERRORLEVEL%" == "0" goto init
-
-echo.
-echo ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH.
-echo.
-echo Please set the JAVA_HOME variable in your environment to match the
-echo location of your Java installation.
-
-goto fail
-
-:findJavaFromJavaHome
-set JAVA_HOME=%JAVA_HOME:"=%
-set JAVA_EXE=%JAVA_HOME%/bin/java.exe
-
-if exist "%JAVA_EXE%" goto init
-
-echo.
-echo ERROR: JAVA_HOME is set to an invalid directory: %JAVA_HOME%
-echo.
-echo Please set the JAVA_HOME variable in your environment to match the
-echo location of your Java installation.
-
-goto fail
-
-:init
-@rem Get command-line arguments, handling Windows variants
-
-if not "%OS%" == "Windows_NT" goto win9xME_args
-
-:win9xME_args
-@rem Slurp the command line arguments.
-set CMD_LINE_ARGS=
-set _SKIP=2
-
-:win9xME_args_slurp
-if "x%~1" == "x" goto execute
-
-set CMD_LINE_ARGS=%*
-
-:execute
-@rem Setup the command line
-
-set CLASSPATH=%APP_HOME%\gradle\wrapper\gradle-wrapper.jar
-
-@rem Execute Gradle
-"%JAVA_EXE%" %DEFAULT_JVM_OPTS% %JAVA_OPTS% %GRADLE_OPTS% "-Dorg.gradle.appname=%APP_BASE_NAME%" -classpath "%CLASSPATH%" org.gradle.wrapper.GradleWrapperMain %CMD_LINE_ARGS%
-
-:end
-@rem End local scope for the variables with windows NT shell
-if "%ERRORLEVEL%"=="0" goto mainEnd
-
-:fail
-rem Set variable GRADLE_EXIT_CONSOLE if you need the _script_ return code instead of
-rem the _cmd.exe /c_ return code!
-if not "" == "%GRADLE_EXIT_CONSOLE%" exit 1
-exit /b 1
-
-:mainEnd
-if "%OS%"=="Windows_NT" endlocal
-
-:omega
diff --git a/predictions/settings.gradle b/predictions/settings.gradle
deleted file mode 100644
index e7b4def49..000000000
--- a/predictions/settings.gradle
+++ /dev/null
@@ -1 +0,0 @@
-include ':app'
diff --git a/settings.gradle b/settings.gradle
index 37d89d418..31969a99c 100644
--- a/settings.gradle
+++ b/settings.gradle
@@ -10,13 +10,11 @@ include ':auth:app',
':tasks:app',
':inappmessaging:app',
':admob:app',
- ':appindexing:app',
':messaging:app',
':crashlytics:app',
':mlkit:app',
':perf:app',
':test-lab:app',
- ':predictions:app',
':analytics:app',
':installations:app'
diff --git a/storage/app/build.gradle b/storage/app/build.gradle
index 4cefa4460..9c4941969 100644
--- a/storage/app/build.gradle
+++ b/storage/app/build.gradle
@@ -26,11 +26,11 @@ dependencies {
implementation "com.google.firebase:firebase-storage-ktx:20.0.1"
implementation 'com.firebaseui:firebase-ui-storage:8.0.1'
- implementation 'com.github.bumptech.glide:glide:4.13.1'
- annotationProcessor 'com.github.bumptech.glide:compiler:4.13.1'
- kapt 'com.github.bumptech.glide:compiler:4.13.1'
+ implementation 'com.github.bumptech.glide:glide:4.13.2'
+ annotationProcessor 'com.github.bumptech.glide:compiler:4.13.2'
+ kapt 'com.github.bumptech.glide:compiler:4.13.2'
- implementation 'androidx.constraintlayout:constraintlayout:2.1.3'
+ implementation 'androidx.constraintlayout:constraintlayout:2.1.4'
}
apply plugin: 'com.google.gms.google-services'
diff --git a/storage/build.gradle b/storage/build.gradle
index b68f72227..910d36293 100644
--- a/storage/build.gradle
+++ b/storage/build.gradle
@@ -6,7 +6,7 @@ buildscript {
mavenCentral()
}
dependencies {
- classpath 'com.android.tools.build:gradle:7.1.3'
+ classpath 'com.android.tools.build:gradle:7.2.1'
classpath 'com.google.gms:google-services:4.3.10'
classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:1.6.21"
}
diff --git a/tasks/app/build.gradle b/tasks/app/build.gradle
index 6e41d5ac6..672885fa8 100644
--- a/tasks/app/build.gradle
+++ b/tasks/app/build.gradle
@@ -25,5 +25,5 @@ dependencies {
implementation 'androidx.legacy:legacy-support-v4:1.0.0'
implementation 'androidx.appcompat:appcompat:1.4.1'
- implementation "com.google.firebase:firebase-auth-ktx:21.0.3"
+ implementation "com.google.firebase:firebase-auth-ktx:21.0.5"
}
diff --git a/tasks/build.gradle b/tasks/build.gradle
index b68f72227..910d36293 100644
--- a/tasks/build.gradle
+++ b/tasks/build.gradle
@@ -6,7 +6,7 @@ buildscript {
mavenCentral()
}
dependencies {
- classpath 'com.android.tools.build:gradle:7.1.3'
+ classpath 'com.android.tools.build:gradle:7.2.1'
classpath 'com.google.gms:google-services:4.3.10'
classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:1.6.21"
}
diff --git a/test-lab/build.gradle b/test-lab/build.gradle
index 27d603dd2..e662653e6 100644
--- a/test-lab/build.gradle
+++ b/test-lab/build.gradle
@@ -6,7 +6,7 @@ buildscript {
mavenCentral()
}
dependencies {
- classpath 'com.android.tools.build:gradle:7.1.3'
+ classpath 'com.android.tools.build:gradle:7.2.1'
classpath 'com.google.gms:google-services:4.3.10'
classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:1.6.21"
}