Notifications now use AlarmManager instead of WorkManager for delivery, TODO: notifications should be sent even if the app is closed (swiped from 'recents' view)
This commit is contained in:
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Generated
+3
-15
File diff suppressed because one or more lines are too long
@@ -54,8 +54,6 @@ dependencies {
|
||||
implementation "androidx.room:room-runtime:2.2.3"
|
||||
kapt "androidx.room:room-compiler:$room_version"
|
||||
|
||||
implementation "androidx.work:work-runtime-ktx:2.3.3"
|
||||
|
||||
implementation 'org.jetbrains.kotlinx:kotlinx-coroutines-core:1.3.0'
|
||||
implementation 'org.jetbrains.kotlinx:kotlinx-coroutines-android:1.3.0'
|
||||
|
||||
|
||||
Binary file not shown.
@@ -11,8 +11,8 @@
|
||||
"type": "SINGLE",
|
||||
"filters": [],
|
||||
"properties": [],
|
||||
"versionCode": 1,
|
||||
"versionName": "1",
|
||||
"versionCode": 2,
|
||||
"versionName": "2",
|
||||
"enabled": true,
|
||||
"outputFile": "app-release.apk"
|
||||
}
|
||||
|
||||
@@ -12,6 +12,9 @@
|
||||
android:roundIcon="@mipmap/ic_launcher_round"
|
||||
android:supportsRtl="true"
|
||||
android:theme="@style/AppTheme.Launcher">
|
||||
<service android:name=".util.ExamService"
|
||||
android:description="@string/exam_service_description"
|
||||
android:enabled="true"/>
|
||||
<activity android:name=".activity.MainActivity">
|
||||
<intent-filter>
|
||||
<action android:name="android.intent.action.MAIN" />
|
||||
|
||||
@@ -1,22 +1,26 @@
|
||||
package com.denizd.qwark.activity
|
||||
|
||||
import android.app.AlarmManager
|
||||
import android.app.PendingIntent
|
||||
import android.content.Context
|
||||
import android.content.Intent
|
||||
import android.os.Bundle
|
||||
import android.util.Log
|
||||
import android.view.View
|
||||
import androidx.fragment.app.FragmentActivity
|
||||
import androidx.fragment.app.FragmentTransaction
|
||||
import androidx.lifecycle.Lifecycle
|
||||
import androidx.lifecycle.Observer
|
||||
import androidx.lifecycle.ViewModelProvider
|
||||
import androidx.work.*
|
||||
import com.denizd.lawrence.util.viewBinding
|
||||
import com.denizd.qwark.R
|
||||
import com.denizd.qwark.database.QwarkRepository
|
||||
import com.denizd.qwark.databinding.ActivityMainBinding
|
||||
import com.denizd.qwark.fragment.*
|
||||
import com.denizd.qwark.util.Dependencies
|
||||
import com.denizd.qwark.util.ExamNotificationWorker
|
||||
import com.denizd.qwark.util.ExamService
|
||||
import com.denizd.qwark.util.QwarkUtil
|
||||
import com.denizd.qwark.viewmodel.MainViewModel
|
||||
import java.util.concurrent.TimeUnit
|
||||
import kotlin.random.Random
|
||||
|
||||
class MainActivity : FragmentActivity() {
|
||||
@@ -88,16 +92,23 @@ class MainActivity : FragmentActivity() {
|
||||
// }, 1200)
|
||||
|
||||
Dependencies.repo.allCoursesWithExams.observe(this, Observer { courses ->
|
||||
with (WorkManager.getInstance(this)) {
|
||||
with (getSystemService(Context.ALARM_SERVICE) as AlarmManager) {
|
||||
for (course in courses) {
|
||||
beginUniqueWork(
|
||||
"${course.name}-${course.courseId}",
|
||||
ExistingWorkPolicy.REPLACE,
|
||||
OneTimeWorkRequestBuilder<ExamNotificationWorker>()
|
||||
.setInitialDelay(getTimeUntil(course.examTime), TimeUnit.MILLISECONDS)
|
||||
.setInputData(Data.Builder().putString("course", course.name).build())
|
||||
.build()
|
||||
).enqueue()
|
||||
// val t = getTimeUntil(course.examTime)
|
||||
if (course.examTime > QwarkUtil.timeAtMidnight || !(QwarkUtil.timeAtMidnight + viewModel.getExamNotificationTime()).hasPassed()) {
|
||||
set(
|
||||
AlarmManager.RTC,
|
||||
course.examTime + viewModel.getExamNotificationTime(),
|
||||
PendingIntent.getService(
|
||||
this@MainActivity,
|
||||
course.courseId,
|
||||
Intent(this@MainActivity, ExamService::class.java).also { intent ->
|
||||
intent.putExtra("course", course.name)
|
||||
},
|
||||
PendingIntent.FLAG_UPDATE_CURRENT
|
||||
)
|
||||
)
|
||||
}
|
||||
}
|
||||
}
|
||||
})
|
||||
@@ -154,6 +165,6 @@ class MainActivity : FragmentActivity() {
|
||||
}
|
||||
}
|
||||
|
||||
// TODO add option to set time of notification (currently: 7 AM)
|
||||
private fun getTimeUntil(examTime: Long): Long = examTime + viewModel.getExamNotificationTime() - System.currentTimeMillis()
|
||||
private fun Long.hasPassed(): Boolean = this < System.currentTimeMillis()
|
||||
}
|
||||
|
||||
@@ -20,8 +20,8 @@ interface QwarkDao {
|
||||
@Query("SELECT course.*, (SELECT MIN(exam_time) FROM grade WHERE grade.course_id = course.course_id AND exam_time >= :time) AS exam_time FROM course GROUP BY course.course_id ORDER BY time")
|
||||
fun getAllCourseExams(time: Long = QwarkUtil.timeAtMidnight): List<CourseExam>
|
||||
|
||||
@Query("SELECT course.*, (SELECT MIN(exam_time) FROM grade WHERE grade.course_id = course.course_id AND exam_time >= :time) AS exam_time FROM course WHERE exam_time > :time GROUP BY course.course_id ORDER BY time")
|
||||
fun getAllCoursesWithExams(time: Long = QwarkUtil.timeAtMidnight + 25200000L): LiveData<List<CourseExam>>
|
||||
@Query("SELECT course.*, (SELECT MIN(exam_time) FROM grade WHERE grade.course_id = course.course_id AND exam_time >= :timeAtMidnight) AS exam_time FROM course WHERE exam_time > -1 GROUP BY course.course_id ORDER BY time")
|
||||
fun getAllCoursesWithExams(timeAtMidnight: Long = QwarkUtil.timeAtMidnight): LiveData<List<CourseExam>>
|
||||
|
||||
@Query("SELECT *, -1 AS exam_time FROM course WHERE course_id != :u ORDER BY time")
|
||||
fun getAllCourses(u: Int = -1): List<CourseExam> // the u variable is an unnecessary workaround to return a list instead of LiveData
|
||||
|
||||
+15
-16
@@ -1,6 +1,7 @@
|
||||
package com.denizd.qwark.util
|
||||
|
||||
import android.annotation.TargetApi
|
||||
import android.app.IntentService
|
||||
import android.app.NotificationChannel
|
||||
import android.app.NotificationManager
|
||||
import android.app.PendingIntent
|
||||
@@ -8,43 +9,40 @@ import android.content.Context
|
||||
import android.content.Intent
|
||||
import android.graphics.Color
|
||||
import android.os.Build
|
||||
import android.util.Log
|
||||
import androidx.core.app.NotificationCompat
|
||||
import androidx.work.Worker
|
||||
import androidx.work.WorkerParameters
|
||||
import com.denizd.qwark.R
|
||||
import com.denizd.qwark.activity.MainActivity
|
||||
|
||||
private const val notificationChannelId = "qwark_exam_notification"
|
||||
|
||||
class ExamNotificationWorker(private val context: Context, workerParams: WorkerParameters) : Worker(context.applicationContext, workerParams) {
|
||||
class ExamService : IntentService("ExamService") {
|
||||
|
||||
override fun doWork(): Result {
|
||||
sendNotification(course = inputData.getString("course") ?: "error")
|
||||
return Result.success()
|
||||
override fun onHandleIntent(intent: Intent?) {
|
||||
sendNotification(course = intent?.getStringExtra("course") ?: "error")
|
||||
}
|
||||
|
||||
// TODO launch fragment from intent and launch the fragment for the course
|
||||
private fun sendNotification(course: String) {
|
||||
val openAppPending = PendingIntent.getActivity(
|
||||
context, 0,
|
||||
Intent(context, MainActivity::class.java).also { intent ->
|
||||
this, 0,
|
||||
Intent(this, MainActivity::class.java).also { intent ->
|
||||
intent.flags = Intent.FLAG_ACTIVITY_NEW_TASK + Intent.FLAG_ACTIVITY_CLEAR_TASK
|
||||
}, 0
|
||||
)
|
||||
|
||||
val notificationService = context.getSystemService(Context.NOTIFICATION_SERVICE) as NotificationManager
|
||||
val notificationService = this.getSystemService(Context.NOTIFICATION_SERVICE) as NotificationManager
|
||||
|
||||
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) {
|
||||
createNotificationChannel(context, notificationService)
|
||||
createNotificationChannel(this, notificationService)
|
||||
}
|
||||
|
||||
val notification = NotificationCompat.Builder(context, notificationChannelId)
|
||||
val notification = NotificationCompat.Builder(this, notificationChannelId)
|
||||
// .setStyle(NotificationCompat.BigTextStyle())
|
||||
.setContentTitle(context.getString(R.string.exam_reminder, course))
|
||||
.setContentText(context.getString(R.string.writing_an_exam_today, course))
|
||||
.setContentTitle(this.getString(R.string.exam_reminder, course))
|
||||
.setContentText(this.getString(R.string.writing_an_exam_today, course))
|
||||
.setContentIntent(openAppPending)
|
||||
.setAutoCancel(true)
|
||||
.setColor(context.getColor(R.color.colorAccent))
|
||||
.setColor(this.getColor(R.color.colorAccent))
|
||||
.setSmallIcon(R.drawable.bolt)
|
||||
.build()
|
||||
|
||||
@@ -54,7 +52,8 @@ class ExamNotificationWorker(private val context: Context, workerParams: WorkerP
|
||||
@TargetApi(26)
|
||||
private fun createNotificationChannel(context: Context, notificationManager: NotificationManager) {
|
||||
if (!Dependencies.repo.prefs.getIsNotificationChannelCreated()) {
|
||||
notificationManager.createNotificationChannel(NotificationChannel(
|
||||
notificationManager.createNotificationChannel(
|
||||
NotificationChannel(
|
||||
notificationChannelId, context.getString(R.string.exams), NotificationManager.IMPORTANCE_DEFAULT
|
||||
).also { channel ->
|
||||
channel.enableLights(true)
|
||||
@@ -19,6 +19,7 @@
|
||||
<string name="exams">Klausuren</string>
|
||||
<string name="exam_reminder">Klausurerinnerung: %s</string>
|
||||
<string name="writing_an_exam_today">Heute schreibst du eine Klausur in %s!</string>
|
||||
<string name="exam_service_description">Verschickt Benachrichtigungen für anstehende Klausuren</string>
|
||||
|
||||
<!-- CourseFragment.kt -->
|
||||
<string name="course">Kurs</string>
|
||||
|
||||
@@ -21,6 +21,7 @@
|
||||
<string name="exams">Exams</string>
|
||||
<string name="exam_reminder">Exam reminder: %s</string>
|
||||
<string name="writing_an_exam_today">You\'re writing an exam in %s today!</string>
|
||||
<string name="exam_service_description">Sends notifications for upcoming exams</string>
|
||||
|
||||
<string-array name="greetings">
|
||||
<item>Hello %s!</item>
|
||||
|
||||
@@ -0,0 +1,5 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<androidx.appcompat>
|
||||
<appcompat versions="1.0.0-alpha1,1.0.0-alpha3,1.0.0-beta01,1.0.0-rc01,1.0.0-rc02,1.0.0,1.0.1,1.0.2,1.1.0-alpha01,1.1.0-alpha02,1.1.0-alpha03,1.1.0-alpha04,1.1.0-alpha05,1.1.0-beta01,1.1.0-rc01,1.1.0,1.2.0-alpha01,1.2.0-alpha02,1.2.0-alpha03"/>
|
||||
<appcompat-resources versions="1.1.0-alpha03,1.1.0-alpha04,1.1.0-alpha05,1.1.0-beta01,1.1.0-rc01,1.1.0,1.2.0-alpha01,1.2.0-alpha02,1.2.0-alpha03"/>
|
||||
</androidx.appcompat>
|
||||
@@ -0,0 +1,5 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<androidx.constraintlayout>
|
||||
<constraintlayout-solver versions="1.1.0,1.1.1,1.1.2,1.1.3,2.0.0-alpha1,2.0.0-alpha2,2.0.0-alpha3,2.0.0-alpha4,2.0.0-alpha5,2.0.0-beta1,2.0.0-beta2,2.0.0-beta3,2.0.0-beta4"/>
|
||||
<constraintlayout versions="1.1.0,1.1.1,1.1.2,1.1.3,2.0.0-alpha1,2.0.0-alpha2,2.0.0-alpha3,2.0.0-alpha4,2.0.0-alpha5,2.0.0-beta1,2.0.0-beta2,2.0.0-beta3,2.0.0-beta4"/>
|
||||
</androidx.constraintlayout>
|
||||
@@ -0,0 +1,6 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<androidx.core>
|
||||
<core-ktx versions="0.1,0.2,0.3,1.0.0-alpha1,1.0.0-alpha3,1.0.0-beta01,1.0.0-rc01,1.0.0-rc02,1.0.0,1.0.1,1.0.2,1.1.0-alpha02,1.1.0-alpha03,1.1.0-alpha04,1.1.0-alpha05,1.1.0-beta01,1.1.0-rc01,1.1.0-rc02,1.1.0-rc03,1.1.0,1.2.0-alpha01,1.2.0-alpha02,1.2.0-alpha03,1.2.0-alpha04,1.2.0-beta01,1.2.0-beta02,1.2.0-rc01,1.2.0,1.3.0-alpha01,1.3.0-alpha02"/>
|
||||
<core versions="1.0.0-alpha1,1.0.0-alpha2,1.0.0-alpha3,1.0.0-beta01,1.0.0-rc01,1.0.0-rc02,1.0.0,1.0.1,1.0.2,1.1.0-alpha01,1.1.0-alpha02,1.1.0-alpha03,1.1.0-alpha04,1.1.0-alpha05,1.1.0-beta01,1.1.0-rc01,1.1.0-rc02,1.1.0-rc03,1.1.0,1.2.0-alpha01,1.2.0-alpha02,1.2.0-alpha03,1.2.0-alpha04,1.2.0-beta01,1.2.0-beta02,1.2.0-rc01,1.2.0,1.3.0-alpha01,1.3.0-alpha02"/>
|
||||
<core-role versions="1.0.0-alpha01,1.0.0-beta01"/>
|
||||
</androidx.core>
|
||||
@@ -0,0 +1,6 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<androidx.fragment>
|
||||
<fragment-ktx versions="1.0.0-alpha1,1.0.0-alpha3,1.0.0-beta01,1.0.0-rc01,1.0.0-rc02,1.0.0,1.1.0-alpha01,1.1.0-alpha02,1.1.0-alpha03,1.1.0-alpha04,1.1.0-alpha05,1.1.0-alpha06,1.1.0-alpha07,1.1.0-alpha08,1.1.0-alpha09,1.1.0-beta01,1.1.0-rc01,1.1.0-rc02,1.1.0-rc03,1.1.0-rc04,1.1.0,1.2.0-alpha01,1.2.0-alpha02,1.2.0-alpha03,1.2.0-alpha04,1.2.0-beta01,1.2.0-beta02,1.2.0-rc01,1.2.0-rc02,1.2.0-rc03,1.2.0-rc04,1.2.0-rc05,1.2.0,1.2.1,1.2.2,1.3.0-alpha01"/>
|
||||
<fragment versions="1.0.0-alpha1,1.0.0-alpha3,1.0.0-beta01,1.0.0-rc01,1.0.0-rc02,1.0.0,1.1.0-alpha01,1.1.0-alpha02,1.1.0-alpha03,1.1.0-alpha04,1.1.0-alpha05,1.1.0-alpha06,1.1.0-alpha07,1.1.0-alpha08,1.1.0-alpha09,1.1.0-beta01,1.1.0-rc01,1.1.0-rc02,1.1.0-rc03,1.1.0-rc04,1.1.0,1.2.0-alpha01,1.2.0-alpha02,1.2.0-alpha03,1.2.0-alpha04,1.2.0-beta01,1.2.0-beta02,1.2.0-rc01,1.2.0-rc02,1.2.0-rc03,1.2.0-rc04,1.2.0-rc05,1.2.0,1.2.1,1.2.2,1.3.0-alpha01"/>
|
||||
<fragment-testing versions="1.1.0-alpha01,1.1.0-alpha02,1.1.0-alpha03,1.1.0-alpha04,1.1.0-alpha05,1.1.0-alpha06,1.1.0-alpha07,1.1.0-alpha08,1.1.0-alpha09,1.1.0-beta01,1.1.0-rc01,1.1.0-rc02,1.1.0-rc03,1.1.0-rc04,1.1.0,1.2.0-alpha01,1.2.0-alpha02,1.2.0-alpha03,1.2.0-alpha04,1.2.0-beta01,1.2.0-beta02,1.2.0-rc01,1.2.0-rc02,1.2.0-rc03,1.2.0-rc04,1.2.0-rc05,1.2.0,1.2.1,1.2.2,1.3.0-alpha01"/>
|
||||
</androidx.fragment>
|
||||
@@ -0,0 +1,21 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<androidx.lifecycle>
|
||||
<lifecycle-reactivestreams-ktx versions="2.0.0-alpha1,2.0.0-beta01,2.0.0-rc01,2.0.0,2.1.0-alpha01,2.1.0-alpha02,2.1.0-alpha03,2.1.0-alpha04,2.1.0-beta01,2.1.0-rc01,2.1.0,2.2.0-alpha01,2.2.0-alpha02,2.2.0-alpha03,2.2.0-alpha04,2.2.0-alpha05,2.2.0-beta01,2.2.0-rc01,2.2.0-rc02,2.2.0-rc03,2.2.0,2.3.0-alpha01"/>
|
||||
<lifecycle-viewmodel versions="2.0.0-alpha1,2.0.0-beta01,2.0.0-rc01,2.0.0,2.1.0-alpha01,2.1.0-alpha02,2.1.0-alpha03,2.1.0-alpha04,2.1.0-beta01,2.1.0-rc01,2.1.0,2.2.0-alpha01,2.2.0-alpha02,2.2.0-alpha03,2.2.0-alpha04,2.2.0-alpha05,2.2.0-beta01,2.2.0-rc01,2.2.0-rc02,2.2.0-rc03,2.2.0,2.3.0-alpha01"/>
|
||||
<lifecycle-process versions="2.0.0-alpha1,2.0.0-beta01,2.0.0-rc01,2.0.0,2.1.0-alpha01,2.1.0-alpha02,2.1.0-alpha03,2.1.0-alpha04,2.1.0-beta01,2.1.0-rc01,2.1.0,2.2.0-alpha01,2.2.0-alpha02,2.2.0-alpha03,2.2.0-alpha04,2.2.0-alpha05,2.2.0-beta01,2.2.0-rc01,2.2.0-rc02,2.2.0-rc03,2.2.0,2.3.0-alpha01"/>
|
||||
<lifecycle-viewmodel-ktx versions="2.0.0-alpha1,2.0.0-beta01,2.0.0-rc01,2.0.0,2.1.0-alpha01,2.1.0-alpha02,2.1.0-alpha03,2.1.0-alpha04,2.1.0-beta01,2.1.0-rc01,2.1.0,2.2.0-alpha01,2.2.0-alpha02,2.2.0-alpha03,2.2.0-alpha04,2.2.0-alpha05,2.2.0-beta01,2.2.0-rc01,2.2.0-rc02,2.2.0-rc03,2.2.0,2.3.0-alpha01"/>
|
||||
<lifecycle-reactivestreams versions="2.0.0-alpha1,2.0.0-beta01,2.0.0-rc01,2.0.0,2.1.0-alpha01,2.1.0-alpha02,2.1.0-alpha03,2.1.0-alpha04,2.1.0-beta01,2.1.0-rc01,2.1.0,2.2.0-alpha01,2.2.0-alpha02,2.2.0-alpha03,2.2.0-alpha04,2.2.0-alpha05,2.2.0-beta01,2.2.0-rc01,2.2.0-rc02,2.2.0-rc03,2.2.0,2.3.0-alpha01"/>
|
||||
<lifecycle-common-java8 versions="2.0.0-alpha1,2.0.0-beta01,2.0.0-rc01,2.0.0,2.1.0-alpha01,2.1.0-alpha02,2.1.0-alpha03,2.1.0-alpha04,2.1.0-beta01,2.1.0-rc01,2.1.0,2.2.0-alpha01,2.2.0-alpha02,2.2.0-alpha03,2.2.0-alpha04,2.2.0-alpha05,2.2.0-beta01,2.2.0-rc01,2.2.0-rc02,2.2.0-rc03,2.2.0,2.3.0-alpha01"/>
|
||||
<lifecycle-extensions versions="2.0.0-alpha1,2.0.0-beta01,2.0.0-rc01,2.0.0,2.1.0-alpha01,2.1.0-alpha02,2.1.0-alpha03,2.1.0-alpha04,2.1.0-beta01,2.1.0-rc01,2.1.0,2.2.0-alpha01,2.2.0-alpha02,2.2.0-alpha03,2.2.0-alpha04,2.2.0-alpha05,2.2.0-beta01,2.2.0-rc01,2.2.0-rc02,2.2.0-rc03,2.2.0"/>
|
||||
<lifecycle-livedata-core versions="2.0.0-alpha1,2.0.0-beta01,2.0.0-rc01,2.0.0,2.1.0-alpha01,2.1.0-alpha02,2.1.0-alpha03,2.1.0-alpha04,2.1.0-beta01,2.1.0-rc01,2.1.0,2.2.0-alpha01,2.2.0-alpha02,2.2.0-alpha03,2.2.0-alpha04,2.2.0-alpha05,2.2.0-beta01,2.2.0-rc01,2.2.0-rc02,2.2.0-rc03,2.2.0,2.3.0-alpha01"/>
|
||||
<lifecycle-runtime versions="2.0.0-alpha1,2.0.0-beta01,2.0.0-rc01,2.0.0,2.1.0-alpha01,2.1.0-alpha02,2.1.0-alpha03,2.1.0-alpha04,2.1.0-beta01,2.1.0-rc01,2.1.0,2.2.0-alpha01,2.2.0-alpha02,2.2.0-alpha03,2.2.0-alpha04,2.2.0-alpha05,2.2.0-beta01,2.2.0-rc01,2.2.0-rc02,2.2.0-rc03,2.2.0,2.3.0-alpha01"/>
|
||||
<lifecycle-compiler versions="2.0.0-alpha1,2.0.0-beta01,2.0.0-rc01,2.0.0,2.1.0-alpha01,2.1.0-alpha02,2.1.0-alpha03,2.1.0-alpha04,2.1.0-beta01,2.1.0-rc01,2.1.0,2.2.0-alpha01,2.2.0-alpha02,2.2.0-alpha03,2.2.0-alpha04,2.2.0-alpha05,2.2.0-beta01,2.2.0-rc01,2.2.0-rc02,2.2.0-rc03,2.2.0,2.3.0-alpha01"/>
|
||||
<lifecycle-livedata versions="2.0.0-alpha1,2.0.0-beta01,2.0.0-rc01,2.0.0,2.1.0-alpha01,2.1.0-alpha02,2.1.0-alpha03,2.1.0-alpha04,2.1.0-beta01,2.1.0-rc01,2.1.0,2.2.0-alpha01,2.2.0-alpha02,2.2.0-alpha03,2.2.0-alpha04,2.2.0-alpha05,2.2.0-beta01,2.2.0-rc01,2.2.0-rc02,2.2.0-rc03,2.2.0,2.3.0-alpha01"/>
|
||||
<lifecycle-common versions="2.0.0-alpha1,2.0.0-beta01,2.0.0-rc01,2.0.0,2.1.0-alpha01,2.1.0-alpha02,2.1.0-alpha03,2.1.0-alpha04,2.1.0-beta01,2.1.0-rc01,2.1.0,2.2.0-alpha01,2.2.0-alpha02,2.2.0-alpha03,2.2.0-alpha04,2.2.0-alpha05,2.2.0-beta01,2.2.0-rc01,2.2.0-rc02,2.2.0-rc03,2.2.0,2.3.0-alpha01"/>
|
||||
<lifecycle-service versions="2.0.0-alpha1,2.0.0-beta01,2.0.0-rc01,2.0.0,2.1.0-alpha01,2.1.0-alpha02,2.1.0-alpha03,2.1.0-alpha04,2.1.0-beta01,2.1.0-rc01,2.1.0,2.2.0-alpha01,2.2.0-alpha02,2.2.0-alpha03,2.2.0-alpha04,2.2.0-alpha05,2.2.0-beta01,2.2.0-rc01,2.2.0-rc02,2.2.0-rc03,2.2.0,2.3.0-alpha01"/>
|
||||
<lifecycle-livedata-ktx versions="2.1.0-alpha01,2.1.0-alpha02,2.1.0-alpha03,2.1.0-alpha04,2.1.0-beta01,2.1.0-rc01,2.1.0,2.2.0-alpha01,2.2.0-alpha02,2.2.0-alpha03,2.2.0-alpha04,2.2.0-alpha05,2.2.0-beta01,2.2.0-rc01,2.2.0-rc02,2.2.0-rc03,2.2.0,2.3.0-alpha01"/>
|
||||
<lifecycle-livedata-core-ktx versions="2.1.0-alpha01,2.1.0-alpha02,2.1.0-alpha03,2.1.0-alpha04,2.1.0-beta01,2.1.0-rc01,2.1.0,2.2.0-alpha01,2.2.0-alpha02,2.2.0-alpha03,2.2.0-alpha04,2.2.0-alpha05,2.2.0-beta01,2.2.0-rc01,2.2.0-rc02,2.2.0-rc03,2.2.0,2.3.0-alpha01"/>
|
||||
<lifecycle-viewmodel-savedstate versions="1.0.0-alpha01,1.0.0-alpha02,1.0.0-alpha03,1.0.0-alpha04,1.0.0-alpha05,1.0.0-beta01,1.0.0-rc01,1.0.0-rc02,1.0.0-rc03,1.0.0,2.2.0,2.3.0-alpha01"/>
|
||||
<lifecycle-runtime-ktx versions="2.2.0-alpha01,2.2.0-alpha02,2.2.0-alpha03,2.2.0-alpha04,2.2.0-alpha05,2.2.0-beta01,2.2.0-rc01,2.2.0-rc02,2.2.0-rc03,2.2.0,2.3.0-alpha01"/>
|
||||
<lifecycle-runtime-testing versions="2.3.0-alpha01"/>
|
||||
</androidx.lifecycle>
|
||||
@@ -0,0 +1,5 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<androidx.preference>
|
||||
<preference versions="1.0.0-alpha1,1.0.0-alpha3,1.0.0-beta01,1.0.0-rc01,1.0.0-rc02,1.0.0,1.1.0-alpha01,1.1.0-alpha02,1.1.0-alpha03,1.1.0-alpha04,1.1.0-alpha05,1.1.0-beta01,1.1.0-rc01,1.1.0"/>
|
||||
<preference-ktx versions="1.0.0-alpha3,1.0.0-beta01,1.0.0-rc01,1.0.0-rc02,1.0.0,1.1.0-alpha02,1.1.0-alpha03,1.1.0-alpha04,1.1.0-alpha05,1.1.0-beta01,1.1.0-rc01,1.1.0"/>
|
||||
</androidx.preference>
|
||||
@@ -0,0 +1,5 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<androidx.recyclerview>
|
||||
<recyclerview-selection versions="1.0.0-alpha1,1.0.0-alpha3,1.0.0-beta01,1.0.0-rc01,1.0.0-rc02,1.0.0,1.1.0-alpha01,1.1.0-alpha05,1.1.0-alpha06,1.1.0-beta01,1.1.0-rc01"/>
|
||||
<recyclerview versions="1.0.0-alpha1,1.0.0-alpha3,1.0.0-beta01,1.0.0-rc01,1.0.0-rc02,1.0.0,1.1.0-alpha01,1.1.0-alpha02,1.1.0-alpha03,1.1.0-alpha04,1.1.0-alpha05,1.1.0-alpha06,1.1.0-beta01,1.1.0-beta02,1.1.0-beta03,1.1.0-beta04,1.1.0-beta05,1.1.0-rc01,1.1.0,1.2.0-alpha01"/>
|
||||
</androidx.recyclerview>
|
||||
@@ -0,0 +1,12 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<androidx.room>
|
||||
<room-rxjava2 versions="2.0.0-alpha1,2.0.0-beta01,2.0.0-rc01,2.0.0,2.1.0-alpha01,2.1.0-alpha02,2.1.0-alpha03,2.1.0-alpha04,2.1.0-alpha05,2.1.0-alpha06,2.1.0-alpha07,2.1.0-beta01,2.1.0-rc01,2.1.0,2.2.0-alpha01,2.2.0-alpha02,2.2.0-beta01,2.2.0-rc01,2.2.0,2.2.1,2.2.2,2.2.3,2.2.4"/>
|
||||
<room-common versions="2.0.0-alpha1,2.0.0-beta01,2.0.0-rc01,2.0.0,2.1.0-alpha01,2.1.0-alpha02,2.1.0-alpha03,2.1.0-alpha04,2.1.0-alpha05,2.1.0-alpha06,2.1.0-alpha07,2.1.0-beta01,2.1.0-rc01,2.1.0,2.2.0-alpha01,2.2.0-alpha02,2.2.0-beta01,2.2.0-rc01,2.2.0,2.2.1,2.2.2,2.2.3,2.2.4"/>
|
||||
<room-compiler versions="2.0.0-alpha1,2.0.0-beta01,2.0.0-rc01,2.0.0,2.1.0-alpha01,2.1.0-alpha02,2.1.0-alpha03,2.1.0-alpha04,2.1.0-alpha05,2.1.0-alpha06,2.1.0-alpha07,2.1.0-beta01,2.1.0-rc01,2.1.0,2.2.0-alpha01,2.2.0-alpha02,2.2.0-beta01,2.2.0-rc01,2.2.0,2.2.1,2.2.2,2.2.3,2.2.4"/>
|
||||
<room-guava versions="2.0.0-alpha1,2.0.0-beta01,2.0.0-rc01,2.0.0,2.1.0-alpha01,2.1.0-alpha02,2.1.0-alpha03,2.1.0-alpha04,2.1.0-alpha05,2.1.0-alpha06,2.1.0-alpha07,2.1.0-beta01,2.1.0-rc01,2.1.0,2.2.0-alpha01,2.2.0-alpha02,2.2.0-beta01,2.2.0-rc01,2.2.0,2.2.1,2.2.2,2.2.3,2.2.4"/>
|
||||
<room-migration versions="2.0.0-alpha1,2.0.0-beta01,2.0.0-rc01,2.0.0,2.1.0-alpha01,2.1.0-alpha02,2.1.0-alpha03,2.1.0-alpha04,2.1.0-alpha05,2.1.0-alpha06,2.1.0-alpha07,2.1.0-beta01,2.1.0-rc01,2.1.0,2.2.0-alpha01,2.2.0-alpha02,2.2.0-beta01,2.2.0-rc01,2.2.0,2.2.1,2.2.2,2.2.3,2.2.4"/>
|
||||
<room-testing versions="2.0.0-alpha1,2.0.0-beta01,2.0.0-rc01,2.0.0,2.1.0-alpha01,2.1.0-alpha02,2.1.0-alpha03,2.1.0-alpha04,2.1.0-alpha05,2.1.0-alpha06,2.1.0-alpha07,2.1.0-beta01,2.1.0-rc01,2.1.0,2.2.0-alpha01,2.2.0-alpha02,2.2.0-beta01,2.2.0-rc01,2.2.0,2.2.1,2.2.2,2.2.3,2.2.4"/>
|
||||
<room-runtime versions="2.0.0-alpha1,2.0.0-beta01,2.0.0-rc01,2.0.0,2.1.0-alpha01,2.1.0-alpha02,2.1.0-alpha03,2.1.0-alpha04,2.1.0-alpha05,2.1.0-alpha06,2.1.0-alpha07,2.1.0-beta01,2.1.0-rc01,2.1.0,2.2.0-alpha01,2.2.0-alpha02,2.2.0-beta01,2.2.0-rc01,2.2.0,2.2.1,2.2.2,2.2.3,2.2.4"/>
|
||||
<room-coroutines versions="2.1.0-alpha03,2.1.0-alpha04"/>
|
||||
<room-ktx versions="2.1.0-alpha05,2.1.0-alpha06,2.1.0-alpha07,2.1.0-beta01,2.1.0-rc01,2.1.0,2.2.0-alpha01,2.2.0-alpha02,2.2.0-beta01,2.2.0-rc01,2.2.0,2.2.1,2.2.2,2.2.3,2.2.4"/>
|
||||
</androidx.room>
|
||||
+4
@@ -0,0 +1,4 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<com.google.android.material>
|
||||
<material versions="1.0.0-alpha1,1.0.0-alpha3,1.0.0-beta01,1.0.0-rc01,1.0.0-rc02,1.0.0,1.1.0-alpha01,1.1.0-alpha02,1.1.0-alpha03,1.1.0-alpha04,1.1.0-alpha05,1.1.0-alpha06,1.1.0-alpha07,1.1.0-alpha08,1.1.0-alpha09,1.1.0-alpha10,1.1.0-beta01,1.1.0-beta02,1.1.0-rc01,1.1.0-rc02,1.1.0,1.2.0-alpha01,1.2.0-alpha02,1.2.0-alpha03,1.2.0-alpha04,1.2.0-alpha05"/>
|
||||
</com.google.android.material>
|
||||
@@ -0,0 +1,144 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<metadata>
|
||||
<com.android.support.constraint/>
|
||||
<com.android.databinding/>
|
||||
<com.android.support/>
|
||||
<com.android.support.test/>
|
||||
<com.android.support.test.janktesthelper/>
|
||||
<com.android.support.test.uiautomator/>
|
||||
<com.android.support.test.espresso/>
|
||||
<android.arch.persistence.room/>
|
||||
<android.arch.lifecycle/>
|
||||
<android.arch.core/>
|
||||
<com.google.android.instantapps/>
|
||||
<com.google.android.instantapps.thirdpartycompat/>
|
||||
<com.android.java.tools.build/>
|
||||
<com.android.tools/>
|
||||
<com.android.tools.layoutlib/>
|
||||
<com.android.tools.ddms/>
|
||||
<com.android.tools.external.com-intellij/>
|
||||
<com.android.tools.build/>
|
||||
<com.android.tools.analytics-library/>
|
||||
<com.android.tools.internal.build.test/>
|
||||
<com.android.tools.lint/>
|
||||
<com.android.tools.external.org-jetbrains/>
|
||||
<com.android.support.test.espresso.idling/>
|
||||
<com.android.support.test.services/>
|
||||
<com.google.firebase/>
|
||||
<com.google.android.gms/>
|
||||
<com.google.gms/>
|
||||
<android.arch.paging/>
|
||||
<com.crashlytics.sdk.android/>
|
||||
<io.fabric.sdk.android/>
|
||||
<android.arch.persistence/>
|
||||
<com.google.android.wearable/>
|
||||
<com.google.android.support/>
|
||||
<com.android.installreferrer/>
|
||||
<com.google.ar/>
|
||||
<androidx.core/>
|
||||
<com.google.android.things/>
|
||||
<com.android.tools.build.jetifier/>
|
||||
<tools.base.build-system.debug/>
|
||||
<androidx.databinding/>
|
||||
<androidx.constraintlayout/>
|
||||
<org.chromium.net/>
|
||||
<com.google.android.play/>
|
||||
<androidx.multidex/>
|
||||
<com.google.android.material/>
|
||||
<androidx.test.services/>
|
||||
<androidx.test.janktesthelper/>
|
||||
<androidx.test/>
|
||||
<androidx.test.espresso/>
|
||||
<androidx.test.espresso.idling/>
|
||||
<androidx.test.uiautomator/>
|
||||
<androidx.room/>
|
||||
<androidx.paging/>
|
||||
<androidx.lifecycle/>
|
||||
<androidx.sqlite/>
|
||||
<androidx.arch.core/>
|
||||
<android.arch.work/>
|
||||
<android.arch.navigation/>
|
||||
<androidx.mediarouter/>
|
||||
<androidx.percentlayout/>
|
||||
<androidx.emoji/>
|
||||
<androidx.cardview/>
|
||||
<androidx.preference/>
|
||||
<androidx.wear/>
|
||||
<androidx.legacy/>
|
||||
<androidx.documentfile/>
|
||||
<androidx.car/>
|
||||
<androidx.swiperefreshlayout/>
|
||||
<androidx.leanback/>
|
||||
<androidx.appcompat/>
|
||||
<androidx.customview/>
|
||||
<androidx.gridlayout/>
|
||||
<androidx.vectordrawable/>
|
||||
<androidx.heifwriter/>
|
||||
<androidx.transition/>
|
||||
<androidx.print/>
|
||||
<androidx.viewpager/>
|
||||
<androidx.annotation/>
|
||||
<androidx.exifinterface/>
|
||||
<androidx.dynamicanimation/>
|
||||
<androidx.browser/>
|
||||
<androidx.localbroadcastmanager/>
|
||||
<androidx.asynclayoutinflater/>
|
||||
<androidx.contentpager/>
|
||||
<androidx.slidingpanelayout/>
|
||||
<androidx.cursoradapter/>
|
||||
<androidx.media/>
|
||||
<androidx.loader/>
|
||||
<androidx.interpolator/>
|
||||
<androidx.coordinatorlayout/>
|
||||
<androidx.fragment/>
|
||||
<androidx.tvprovider/>
|
||||
<androidx.slice/>
|
||||
<androidx.collection/>
|
||||
<androidx.recommendation/>
|
||||
<androidx.drawerlayout/>
|
||||
<androidx.recyclerview/>
|
||||
<androidx.webkit/>
|
||||
<androidx.palette/>
|
||||
<com.google.ar.sceneform/>
|
||||
<com.google.ar.sceneform.ux/>
|
||||
<androidx.test.ext/>
|
||||
<com.google.android.ads.consent/>
|
||||
<androidx.versionedparcelable/>
|
||||
<androidx.media2/>
|
||||
<com.google.ads.afsn/>
|
||||
<com.google.android.ads/>
|
||||
<androidx.biometric/>
|
||||
<androidx.concurrent/>
|
||||
<androidx.activity/>
|
||||
<com.android.tools.apkparser/>
|
||||
<com.android.tools.pixelprobe/>
|
||||
<androidx.textclassifier/>
|
||||
<androidx.remotecallback/>
|
||||
<com.android.tools.chunkio/>
|
||||
<com.android.tools.fakeadbserver/>
|
||||
<androidx.savedstate/>
|
||||
<com.google.android.libraries.places/>
|
||||
<androidx.viewpager2/>
|
||||
<androidx.navigation/>
|
||||
<androidx.work/>
|
||||
<androidx.sharetarget/>
|
||||
<androidx.enterprise/>
|
||||
<androidx.camera/>
|
||||
<androidx.benchmark/>
|
||||
<androidx.security/>
|
||||
<com.google.android.datatransport/>
|
||||
<zipflinger/>
|
||||
<androidx.autofill/>
|
||||
<androidx.ads/>
|
||||
<com.android/>
|
||||
<com.google.ads.interactivemedia.v3/>
|
||||
<androidx.ui/>
|
||||
<androidx.compose/>
|
||||
<com.google.androidbrowserhelper/>
|
||||
<org.jetbrains.kotlin/>
|
||||
<com.google.prefab/>
|
||||
<com.android.billingclient/>
|
||||
<com.android.ndk.thirdparty/>
|
||||
<com.google.oboe/>
|
||||
<androidx.window/>
|
||||
</metadata>
|
||||
@@ -0,0 +1,4 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<org.jetbrains.kotlin>
|
||||
<kotlin-compiler-embeddable versions="1.3.60-dev-withExperimentalGoogleExtensions-20191016,1.3.61-dev-withExperimentalGoogleExtensions-20191127,1.3.61-dev-withExperimentalGoogleExtensions-20200129"/>
|
||||
</org.jetbrains.kotlin>
|
||||
@@ -0,0 +1,143 @@
|
||||
<?xml version="1.0" ?>
|
||||
<sdk_metadata>
|
||||
<library groupId="com.urbanairship.android" artifactId="urbanairship-sdk" recommended-version="9.3.1" >
|
||||
<versions from="9.1.0" status="deprecated" version-literal="!SDK-VERSION-STRING!:com.urbanairship.android:urbanairship-sdk:9.1.0" />
|
||||
<versions from="9.0.0" to="9.0.4" status="deprecated" description="Version is known issues with in-app automation. Please update to version <current> as soon as possible." />
|
||||
<versions from="8.9.1" to="8.9.2" status="deprecated" description="Version is known to have stability issues. Please update to version <current> as soon as possible. See <url> for more details." url="https://github.com/urbanairship/android-library/blob/master/CHANGELOG.md#version-893---october-17-2017" />
|
||||
<versions from="6.1.4" to="8.7.0" status="deprecated" description="Version is known to have Android O compatibility issues. Please update to version <current> as soon as possible." />
|
||||
<versions from="9.3.0" status="deprecated" version-literal="!SDK-VERSION-STRING!:com.urbanairship.android:urbanairship-sdk:9.3.0" />
|
||||
<versions from="9.3.1" status="recommended" version-literal="!SDK-VERSION-STRING!:com.urbanairship.android:urbanairship-sdk:9.3.1" />
|
||||
</library>
|
||||
<library groupId="com.urbanairship.android" artifactId="urbanairship-core" recommended-version="9.3.1" >
|
||||
<versions from="9.1.0" status="deprecated" version-literal="!SDK-VERSION-STRING!:com.urbanairship.android:urbanairship-core:9.1.0" />
|
||||
<versions from="9.3.0" status="deprecated" version-literal="!SDK-VERSION-STRING!:com.urbanairship.android:urbanairship-core:9.3.0" />
|
||||
<versions from="9.3.1" status="recommended" version-literal="!SDK-VERSION-STRING!:com.urbanairship.android:urbanairship-core:9.3.1" />
|
||||
</library>
|
||||
<library groupId="com.urbanairship.android" artifactId="urbanairship-fcm" recommended-version="9.3.1" >
|
||||
<versions from="9.1.0" status="deprecated" version-literal="!SDK-VERSION-STRING!:com.urbanairship.android:urbanairship-fcm:9.1.0" />
|
||||
<versions from="9.3.0" status="deprecated" version-literal="!SDK-VERSION-STRING!:com.urbanairship.android:urbanairship-fcm:9.3.0" />
|
||||
<versions from="9.3.1" status="recommended" version-literal="!SDK-VERSION-STRING!:com.urbanairship.android:urbanairship-fcm:9.3.1" />
|
||||
</library>
|
||||
<library groupId="com.urbanairship.android" artifactId="urbanairship-gcm" recommended-version="9.3.1" >
|
||||
<versions from="9.1.0" status="deprecated" version-literal="!SDK-VERSION-STRING!:com.urbanairship.android:urbanairship-gcm:9.1.0" />
|
||||
<versions from="9.3.0" status="deprecated" version-literal="!SDK-VERSION-STRING!:com.urbanairship.android:urbanairship-gcm:9.3.0" />
|
||||
<versions from="9.3.1" status="recommended" version-literal="!SDK-VERSION-STRING!:com.urbanairship.android:urbanairship-gcm:9.3.1" />
|
||||
</library>
|
||||
<library groupId="com.urbanairship.android" artifactId="urbanairship-adm" recommended-version="9.3.1" >
|
||||
<versions from="9.1.0" status="deprecated" version-literal="!SDK-VERSION-STRING!:com.urbanairship.android:urbanairship-adm:9.1.0" />
|
||||
<versions from="9.3.0" status="recommended" version-literal="!SDK-VERSION-STRING!:com.urbanairship.android:urbanairship-adm:9.3.0" />
|
||||
<versions from="9.3.1" status="recommended" version-literal="!SDK-VERSION-STRING!:com.urbanairship.android:urbanairship-adm:9.3.1" />
|
||||
</library>
|
||||
<library groupId="com.tune" artifactId="tune-marketing-console-sdk" recommended-version="5.3.0" >
|
||||
<versions from="5.3.0" version-literal="com.tune.BuildConfig.5.3.0" description="Bug affecting SDK data quality" />
|
||||
<versions from="5.2.1" version-literal="com.tune.BuildConfig.5.2.1" />
|
||||
<versions from="5.2.0" version-literal="com.tune.BuildConfig.5.2.0" />
|
||||
<versions from="5.1.1" status="deprecated" version-literal="com.tune.BuildConfig.5.1.1" url="https://developers.tune.com/sdk/migrating-to-android-4-8-0-and-above/" />
|
||||
<versions from="5.0.0" to="5.0.2" status="deprecated" version-literal="com.tune.BuildConfig.5.0.0" description="Bug affecting SDK data quality" url="https://developers.tune.com/sdk/migrating-to-android-4-8-0-and-above/" />
|
||||
<versions from="4.15.2" to="4.16.0" status="deprecated" version-literal="com.tune.BuildConfig.4.15.2" description="Bug affecting SDK data quality" url="https://developers.tune.com/sdk/migrating-to-android-4-8-0-and-above/" />
|
||||
<versions from="4.15.1" version-literal="com.tune.BuildConfig.4.15.1" description="Bug affecting SDK performance" url="https://developers.tune.com/sdk/migrating-to-android-4-8-0-and-above/" />
|
||||
<versions from="4.15.0" version-literal="com.tune.BuildConfig.4.15.0" description="Bug affecting SDK performance" url="https://developers.tune.com/sdk/migrating-to-android-4-8-0-and-above/" />
|
||||
<versions from="4.14.0" version-literal="com.tune.BuildConfig.4.14.0" description="Bug affecting SDK performance" url="https://developers.tune.com/sdk/migrating-to-android-4-8-0-and-above/" />
|
||||
<versions from="4.13.0" status="deprecated" version-literal="com.tune.BuildConfig.4.13.0" description="Bug affecting app stability" url="https://developers.tune.com/sdk/migrating-to-android-4-8-0-and-above/" />
|
||||
<versions from="4.12.1" status="deprecated" version-literal="com.tune.BuildConfig.4.12.1" description="Bug affecting app stability" url="https://developers.tune.com/sdk/migrating-to-android-4-8-0-and-above/" />
|
||||
<versions from="4.12.0" status="deprecated" version-literal="com.tune.BuildConfig.4.12.0" description="Bug affecting app stability" url="https://developers.tune.com/sdk/migrating-to-android-4-8-0-and-above/" />
|
||||
<versions from="4.11.1" status="deprecated" version-literal="com.tune.BuildConfig.4.11.1" description="Bug affecting app stability" url="https://developers.tune.com/sdk/migrating-to-android-4-8-0-and-above/" />
|
||||
<versions from="4.11.0" status="deprecated" version-literal="com.tune.BuildConfig.4.11.0" description="Bug affecting app stability" url="https://developers.tune.com/sdk/migrating-to-android-4-8-0-and-above/" />
|
||||
<versions from="4.10.2" version-literal="com.tune.BuildConfig.4.10.2" description="Bug affecting app stability" url="https://developers.tune.com/sdk/migrating-to-android-4-8-0-and-above/" />
|
||||
<versions from="4.10.1" version-literal="com.tune.BuildConfig.4.10.1" description="Bug affecting app stability" url="https://developers.tune.com/sdk/migrating-to-android-4-8-0-and-above/" />
|
||||
<versions from="4.10.0" version-literal="com.tune.BuildConfig.4.10.0" description="Bug affecting app stability" url="https://developers.tune.com/sdk/migrating-to-android-4-8-0-and-above/" />
|
||||
<versions from="4.9.0" version-literal="com.tune.BuildConfig.4.9.0" description="Bug affecting app stability" url="https://developers.tune.com/sdk/migrating-to-android-4-8-0-and-above/" />
|
||||
<versions from="4.8.0" to="4.8.1" version-literal="com.tune.BuildConfig.4.8.0" description="Bug affecting app stability" url="https://developers.tune.com/sdk/migrating-to-android-4-8-0-and-above/" />
|
||||
<versions from="4.0.0" to="4.7.1" status="deprecated" version-literal="com.tune.BuildConfig.4.0.0" description="Bug affecting app stability" url="https://developers.tune.com/sdk/migrating-to-android-4-8-0-and-above/" />
|
||||
<versions from="3.0.0" to="3.11.4" status="deprecated" version-literal="com.tune.BuildConfig.3.0.0" description="Bug affecting app stability" url="https://developers.tune.com/sdk/migrating-to-android-4-8-0-and-above/" />
|
||||
<versions from="0.0.0" to="3.0.0" status="deprecated" description="Bug affecting app stability" />
|
||||
</library>
|
||||
<library groupId="com.android.volley" artifactId="volley" recommended-version="1.1.0" >
|
||||
<versions from="1.1.0" />
|
||||
<versions from="1.1.0-rc2" status="deprecated" description="Bug affecting app stability" url="https://github.com/google/volley/releases" />
|
||||
<versions from="1.1.0-rc1" status="deprecated" description="Bug affecting app stability" url="https://github.com/google/volley/releases" />
|
||||
<versions from="1.0.0" status="deprecated" description="Bug affecting app stability" url="https://github.com/google/volley/releases" />
|
||||
</library>
|
||||
<library groupId="com.google.guava" artifactId="guava" recommended-version="24.1-jre" >
|
||||
<versions from="24.1-jre" />
|
||||
</library>
|
||||
<library groupId="com.google.guava" artifactId="guava" recommended-version="25.0-android" >
|
||||
<versions from="25.0-android" />
|
||||
<versions from="24.1.1-android" status="insecure" description="Moderate security vulnerability" url="https://github.com/google/guava/wiki/CVE-2018-10237" />
|
||||
<versions from="24.1-android" status="deprecated" description="Bug affecting app performance" url="https://github.com/google/guava/releases" />
|
||||
<versions from="24.0-android" status="deprecated" description="Bug affecting app performance" url="https://github.com/google/guava/releases" />
|
||||
</library>
|
||||
<library groupId="com.google.firebase" artifactId="firebase-analytics" recommended-version="15.0.0" >
|
||||
<versions from="15.0.0" />
|
||||
<versions from="12.0.1" />
|
||||
<versions from="12.0.0" />
|
||||
<versions from="11.8.0" />
|
||||
<versions from="11.6.2" />
|
||||
<versions from="11.6.0" />
|
||||
<versions from="11.4.2" />
|
||||
<versions from="11.4.0" />
|
||||
<versions from="11.2.2" />
|
||||
<versions from="11.2.0" />
|
||||
<versions from="11.0.4" />
|
||||
<versions from="11.0.2" />
|
||||
<versions from="11.0.1" />
|
||||
<versions from="11.0.0" />
|
||||
<versions from="10.2.6" />
|
||||
<versions from="10.2.4" />
|
||||
<versions from="10.2.1" />
|
||||
<versions from="10.2.0" />
|
||||
<versions from="10.0.1" />
|
||||
<versions from="10.0.0" />
|
||||
<versions from="9.8.0" />
|
||||
<versions from="9.6.1" />
|
||||
<versions from="9.6.0" />
|
||||
<versions from="9.4.0" />
|
||||
<versions from="9.2.1" />
|
||||
<versions from="9.2.0" />
|
||||
<versions from="9.0.2" />
|
||||
<versions from="9.0.1" />
|
||||
<versions from="9.0.0" />
|
||||
</library>
|
||||
<library groupId="com.google.dagger" artifactId="dagger-android" recommended-version="2.15" >
|
||||
<versions from="2.15" />
|
||||
<versions from="2.14.1" status="deprecated" description="Bug affecting SDK performance" url="https://github.com/google/dagger/releases/tag/2.15" />
|
||||
<versions from="2.14" status="deprecated" description="Bug affecting SDK performance" url="https://github.com/google/dagger/releases/tag/2.15" />
|
||||
<versions from="2.13" status="deprecated" description="Bug affecting app performance" url="https://github.com/google/dagger/releases/tag/2.15" />
|
||||
<versions from="2.12" status="deprecated" description="Bug affecting app performance" url="https://github.com/google/dagger/releases/tag/2.15" />
|
||||
<versions from="2.11" status="deprecated" description="Bug affecting SDK performance" url="https://github.com/google/dagger/releases/tag/2.15" />
|
||||
<versions from="2.11-rc2" status="deprecated" description="Bug affecting SDK performance" url="https://github.com/google/dagger/releases/tag/2.15" />
|
||||
<versions from="2.11-rc1" status="deprecated" description="Bug affecting SDK performance" url="https://github.com/google/dagger/releases/tag/2.15" />
|
||||
<versions from="2.10" status="deprecated" url="https://github.com/google/dagger/releases/tag/2.15" />
|
||||
</library>
|
||||
<library groupId="AppsFlyer" artifactId="af-android-sdk" recommended-version="4.8.10" >
|
||||
<versions from="4.8.9" version-literal="!SDK-VERSION-STRING!:com.appsflyer:af-android-sdk:4.8.9" />
|
||||
<versions from="4.8.10" version-literal="!SDK-VERSION-STRING!:com.appsflyer:af-android-sdk:4.8.10" />
|
||||
</library>
|
||||
<library groupId="com.kochava" artifactId="tracker" recommended-version="3.4.0" >
|
||||
<versions from="3.4.0" />
|
||||
<versions from="3.3.1" version-literal=""AndroidTracker 3.3.1", "control.kochava.com"" />
|
||||
<versions from="3.3.0" version-literal=""AndroidTracker 3.3.0", "control.kochava.com"" />
|
||||
<versions from="3.2.0" version-literal=""AndroidTracker 3.2.0", "control.kochava.com"" />
|
||||
<versions from="3.1.1" version-literal=""AndroidTracker 3.1.1", "control.kochava.com"" />
|
||||
<versions from="3.1.0" status="deprecated" version-literal=""AndroidTracker 3.1.0", "control.kochava.com"" description="Bug affecting SDK performance" />
|
||||
<versions from="3.0.0" status="deprecated" version-literal=""AndroidTracker 3.0.0", "control.kochava.com"" description="Bug affecting SDK performance" />
|
||||
<versions from="20170303" status="deprecated" version-literal=""Android20170303", "control.kochava.com"" description="Bug affecting SDK performance" />
|
||||
<versions from="20170216" status="deprecated" version-literal=""Android20170216", "control.kochava.com"" description="Bug affecting SDK performance" />
|
||||
<versions from="20170127" status="deprecated" version-literal=""Android20170127", "control.kochava.com"" description="Bug affecting SDK performance" />
|
||||
<versions from="20170106" status="deprecated" version-literal=""Android20170106", "control.kochava.com"" description="Bug affecting SDK performance" />
|
||||
<versions from="20161122" status="deprecated" version-literal=""Android20161122", "control.kochava.com"" description="Bug affecting SDK performance" />
|
||||
<versions from="20160914" status="deprecated" version-literal=""Android20160914", "control.kochava.com"" description="Bug affecting SDK performance" />
|
||||
<versions from="20160902" status="deprecated" version-literal=""Android20160902", "control.kochava.com"" description="Bug affecting SDK performance" />
|
||||
<versions from="20160811" status="deprecated" version-literal=""Android20160811", "control.kochava.com"" description="Bug affecting SDK performance" />
|
||||
<versions from="20160615" status="deprecated" version-literal=""Android20160615", "control.kochava.com"" description="Bug affecting SDK performance" />
|
||||
<versions from="20160427" status="deprecated" version-literal=""Android20160427", "control.kochava.com"" description="Bug affecting SDK performance" />
|
||||
<versions from="20160222" status="deprecated" version-literal=""Android20160222", "control.kochava.com"" description="Bug affecting SDK performance" />
|
||||
<versions from="20151109" status="deprecated" version-literal=""Android20151109", "control.kochava.com"" description="Bug affecting SDK performance" />
|
||||
<versions from="20150511" status="deprecated" version-literal=""Android20150511", "control.kochava.com"" description="Bug affecting SDK performance" />
|
||||
<versions from="20150312" status="insecure" version-literal=""Android20150312", "control.kochava.com"" description="Moderate security vulnerability" />
|
||||
<versions from="20150128" status="insecure" version-literal=""Android20150128", "control.kochava.com"" description="Moderate security vulnerability" />
|
||||
<versions from="20141023" status="insecure" version-literal=""Android20141023", "control.kochava.com"" description="Moderate security vulnerability" />
|
||||
<versions from="20140825" status="insecure" version-literal=""Android20140825", "control.kochava.com"" description="Moderate security vulnerability" />
|
||||
</library>
|
||||
</sdk_metadata>
|
||||
|
||||
Reference in New Issue
Block a user