diff --git a/.gitignore b/.gitignore index 5da144d4..0db2eb33 100644 --- a/.gitignore +++ b/.gitignore @@ -1,11 +1,9 @@ -# Created by https://www.gitignore.io/api/androidstudio - -### AndroidStudio ### -# Covers files to be ignored for android development using Android Studio. +# Reference gitignore https://gist.github.com/G00fY2/81c0aa67943cca021e915840bf73ee1b # Built application files *.apk *.ap_ +*.aab # Files for the ART/Dalvik VM *.dex @@ -43,8 +41,7 @@ proguard/ /*/out /*/*/build /*/*/production -captures/ -.navigation/ +/*/*/staging *.ipr *~ *.swp @@ -52,97 +49,165 @@ captures/ # Android Patch gen-external-apklibs -# External native build folder generated in Android Studio 2.2 and later -.externalNativeBuild +# Android Studio Navigation editor temp files +.navigation/ -# NDK -obj/ +# Android Studio captures folder +captures/ -# IntelliJ IDEA +# IntelliJ *.iml *.iws -/out/ - -# User-specific or generated -.idea/libraries/ +.idea/artifacts +.idea/modules +.idea/modules.xml .idea/workspace.xml +.idea/navEditor.xml .idea/tasks.xml .idea/gradle.xml -.idea/usage.statistics.xml .idea/assetWizardSettings.xml +.idea/libraries +.idea/caches +.idea/shelf .idea/.name .idea/compiler.xml .idea/copyright/profiles_settings.xml .idea/encodings.xml .idea/misc.xml -.idea/caches -.idea/modules -.idea/modules.xml .idea/scopes/scope_settings.xml -.idea/dictionaries -.idea/shelf .idea/vcs.xml .idea/jsLibraryMappings.xml -.idea/datasources +.idea/dataSources .idea/datasources.xml +.idea/dataSources.local.xml .idea/dataSources.ids -.idea/datasources.local.xml .idea/sqlDataSources.xml +.idea/dbnavigator.xml .idea/dynamic.xml .idea/uiDesigner.xml -.idea/dbnavigator.xml +.idea/usage.statistics.xml .idea/contentModel.xml .idea/kotlinc.xml +# optional +.idea/dictionaries .idea/inspectionProfiles +.idea/runConfigurations +.idea/runConfigurations.xml # Keystore files *.jks +*.keystore -# OS-specific files -.DS_Store -.DS_Store? -._* -.Spotlight-V100 -.Trashes -ehthumbs.db -Thumbs.db +# External native build folder generated in Android Studio 2.2 and later +.externalNativeBuild -# Legacy Eclipse project files -.classpath -.project +# NDK +obj/ -# Mobile Tools for Java (J2ME) -.mtj.tmp/ +# CMake +cmake-build-*/ + +# Google Services (e.g. APIs or Firebase) +google-services.json -# Package Files # -*.jar -*.war -*.ear +# Freeline +freeline.py +freeline/ +freeline_project_description.json -# virtual machine crash logs (Reference: http://www.java.com/en/download/help/error_hotspot.xml) -hs_err_pid* +# fastlane +fastlane/report.xml +fastlane/Preview.html +fastlane/screenshots +fastlane/test_output +fastlane/readme.md + +#Crashlytics +crashlytics-build.properties +com_crashlytics_export_strings.xml +crashlytics.properties +fabric.properties ## Plugin-specific files: # mpeltonen/sbt-idea plugin .idea_modules/ +# Mongo Explorer plugin +.idea/mongoSettings.xml + # JIRA plugin atlassian-ide-plugin.xml -# Mongo Explorer plugin -.idea/mongoSettings.xml +# Cursive Clojure plugin +.idea/replstate.xml -# Crashlytics plugin (for Android Studio and IntelliJ) -com_crashlytics_export_strings.xml -crashlytics.properties -crashlytics-build.properties -fabric.properties +# Editor-based Rest Client +.idea/httpRequests -### AndroidStudio Patch ### -# Google Services plugin -google-services.json +## OS specific files: + +# General +.DS_Store +.DS_Store? +.AppleDouble +.LSOverride + +# Icon must end with two \r +Icon + + +# Thumbnails +._* + +# Files that might appear in the root of a volume +.DocumentRevisions-V100 +.fseventsd +.Spotlight-V100 +.TemporaryItems +.Trashes +.VolumeIcon.icns +.com.apple.timemachine.donotpresent + +# Directories potentially created on remote AFP share +.AppleDB +.AppleDesktop +Network Trash Folder +Temporary Items +.apdisk + +# Windows thumbnail cache files +Thumbs.db +ehthumbs.db +ehthumbs_vista.db + +# Dump file +*.stackdump + +# Folder config file +[Dd]esktop.ini + +# Recycle Bin used on file shares +$RECYCLE.BIN/ + +# Windows Installer files +*.cab +*.msi +*.msix +*.msm +*.msp + +# Windows shortcuts +*.lnk + +# temporary files which can be created if a process still has a handle open of a deleted file +.fuse_hidden* + +# KDE directory preferences +.directory -!/gradle/wrapper/gradle-wrapper.jar +# Linux trash folder which might appear on any partition or disk +.Trash-* -# End of https://www.gitignore.io/api/androidstudio \ No newline at end of file +# .nfs files are created when an open file is removed but is still being accessed +.nfs* \ No newline at end of file diff --git a/.idea/runConfigurations.xml b/.idea/runConfigurations.xml deleted file mode 100644 index 7f68460d..00000000 --- a/.idea/runConfigurations.xml +++ /dev/null @@ -1,12 +0,0 @@ - - - - - - \ No newline at end of file diff --git a/.idea/runConfigurations/app.xml b/.idea/runConfigurations/app.xml deleted file mode 100644 index 70375627..00000000 --- a/.idea/runConfigurations/app.xml +++ /dev/null @@ -1,55 +0,0 @@ - - - - - \ No newline at end of file diff --git a/.travis.yml b/.travis.yml index 9f62ec83..c02ebbb6 100644 --- a/.travis.yml +++ b/.travis.yml @@ -1,8 +1,8 @@ -language: minimal +language: java os: linux -dist: xenial +dist: bionic group: edge -sudo: required +jdk: openjdk10 git: depth: false env: @@ -27,16 +27,11 @@ stages: android_phases: - phase: &before_install - # check if OpenJDK8 is installed and install if missing - - if ! dpkg -s openjdk-8-jdk >/dev/null 2>&1; then sudo apt-get update; sudo apt-get install openjdk-8-jdk; fi - - java -version - # print available Java versions with their path (must contain java-8-openjdk-amd64) - - sudo update-alternatives --config java - # set JAVA_HOME path - - export JAVA_HOME=/usr/lib/jvm/java-8-openjdk-amd64 # download and unzip Android SDK command line tools - wget -nv https://dl.google.com/android/repository/$ANDROID_SDK_TOOLS - unzip -q $ANDROID_SDK_TOOLS -d $HOME/sdk + # add deprecated java ee module to jdk10 to run the sdkmanager + - export JAVA_OPTS="-XX:+IgnoreUnrecognizedVMOptions --add-modules java.se.ee" # set SDK tools path variable and ANDROID_HOME - export PATH=$PATH:$HOME/sdk/tools/bin - export ANDROID_HOME=$HOME/sdk diff --git a/app/build.gradle b/app/build.gradle index bed0f805..40749323 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -60,6 +60,12 @@ android { kotlinOptions { jvmTarget = '1.8' } + kapt { + javacOptions { + option("-source", "8") + option("-target", "8") + } + } } dependencies { @@ -73,10 +79,10 @@ dependencies { implementation "androidx.activity:activity:$activityVersion" implementation "androidx.recyclerview:recyclerview:$recyclerviewVersion" implementation "androidx.constraintlayout:constraintlayout:$constraintlayoutVersion" + implementation "androidx.vectordrawable:vectordrawable:$vectorDrawableVersion" // UI implementation "com.google.android.material:material:$materialVersion" - implementation "androidx.vectordrawable:vectordrawable:$vectorDrawableVersion" // Misc implementation "com.jakewharton.timber:timber:$timberVersion" diff --git a/app/src/main/kotlin/com/g00fy2/developerwidget/activities/about/AboutActivity.kt b/app/src/main/kotlin/com/g00fy2/developerwidget/activities/about/AboutActivity.kt index e8a2551e..2dbef055 100644 --- a/app/src/main/kotlin/com/g00fy2/developerwidget/activities/about/AboutActivity.kt +++ b/app/src/main/kotlin/com/g00fy2/developerwidget/activities/about/AboutActivity.kt @@ -13,15 +13,6 @@ import com.g00fy2.developerwidget.R import com.g00fy2.developerwidget.activities.widgetconfig.ConfigLauncherActivity import com.g00fy2.developerwidget.base.BaseActivity import com.g00fy2.developerwidget.base.BaseContract.BasePresenter -import com.g00fy2.developerwidget.utils.CHANGES -import com.g00fy2.developerwidget.utils.GITHUB_ISSUE -import com.g00fy2.developerwidget.utils.GITHUB_PROJECT -import com.g00fy2.developerwidget.utils.GITHUB_USER -import com.g00fy2.developerwidget.utils.ICON_CREDITS -import com.g00fy2.developerwidget.utils.MIT_LICENSE -import com.g00fy2.developerwidget.utils.OSS_LICENSES -import com.g00fy2.developerwidget.utils.PRIVACY_POLICY -import com.g00fy2.developerwidget.utils.TWITTER_USER import kotlinx.android.synthetic.main.activity_about.* import javax.inject.Inject diff --git a/app/src/main/kotlin/com/g00fy2/developerwidget/activities/about/AboutPresenterImpl.kt b/app/src/main/kotlin/com/g00fy2/developerwidget/activities/about/AboutPresenterImpl.kt index 0cd2d467..abef8a49 100644 --- a/app/src/main/kotlin/com/g00fy2/developerwidget/activities/about/AboutPresenterImpl.kt +++ b/app/src/main/kotlin/com/g00fy2/developerwidget/activities/about/AboutPresenterImpl.kt @@ -5,7 +5,6 @@ import com.g00fy2.developerwidget.base.BasePresenterImpl import com.g00fy2.developerwidget.controllers.DayNightController import com.g00fy2.developerwidget.controllers.IntentController import com.g00fy2.developerwidget.controllers.ToastController -import com.g00fy2.developerwidget.utils.GITHUB_PROJECT_IO import javax.inject.Inject class AboutPresenterImpl @Inject constructor() : BasePresenterImpl(), AboutContract.AboutPresenter { diff --git a/app/src/main/kotlin/com/g00fy2/developerwidget/utils/Constants.kt b/app/src/main/kotlin/com/g00fy2/developerwidget/activities/about/UrlConstants.kt similarity index 69% rename from app/src/main/kotlin/com/g00fy2/developerwidget/utils/Constants.kt rename to app/src/main/kotlin/com/g00fy2/developerwidget/activities/about/UrlConstants.kt index 617ca09a..060533c5 100644 --- a/app/src/main/kotlin/com/g00fy2/developerwidget/utils/Constants.kt +++ b/app/src/main/kotlin/com/g00fy2/developerwidget/activities/about/UrlConstants.kt @@ -1,15 +1,5 @@ -package com.g00fy2.developerwidget.utils +package com.g00fy2.developerwidget.activities.about -// Dagger scopes -const val ACTIVITY = "activity" -const val APPLICATION = "application" -const val WIDGET_ID = "widgetId" - -// Activity window layout -const val DIALOG_ACTIVITY_WIDTH_FACTOR = 0.95 -const val DIALOG_ACTIVITY_HEIGHT_FACTOR = 0.80 - -// Urls const val GITHUB_PROJECT = "https://github.com/G00fY2/DeveloperWidget" const val CHANGES = "$GITHUB_PROJECT/releases" const val MIT_LICENSE = "$GITHUB_PROJECT/blob/master/LICENSE" diff --git a/app/src/main/kotlin/com/g00fy2/developerwidget/activities/apkinstall/ApkAdapter.kt b/app/src/main/kotlin/com/g00fy2/developerwidget/activities/apkinstall/ApkAdapter.kt index 7051623a..5f219120 100644 --- a/app/src/main/kotlin/com/g00fy2/developerwidget/activities/apkinstall/ApkAdapter.kt +++ b/app/src/main/kotlin/com/g00fy2/developerwidget/activities/apkinstall/ApkAdapter.kt @@ -1,5 +1,8 @@ package com.g00fy2.developerwidget.activities.apkinstall +import android.graphics.drawable.InsetDrawable +import android.os.Build.VERSION +import android.os.Build.VERSION_CODES import android.view.LayoutInflater import android.view.View import android.view.ViewGroup @@ -72,6 +75,9 @@ class ApkAdapter : BaseAdapter(ApksDiffUtilsCallback()) app_debug_imageview.visibility = if (apkFile.debuggable) View.VISIBLE else View.INVISIBLE file_date_textview.text = apkFile.lastModified app_icon_imageview.setImageDrawable(apkFile.appIcon) + if (VERSION.SDK_INT >= VERSION_CODES.O) { + app_icon_imageview.setBackgroundResource(if (apkFile.appIcon is InsetDrawable) R.drawable.bg_adaptive_launcher_icon else 0) + } setSelected(position) } } diff --git a/app/src/main/kotlin/com/g00fy2/developerwidget/activities/apkinstall/ApkFile.kt b/app/src/main/kotlin/com/g00fy2/developerwidget/activities/apkinstall/ApkFile.kt index 2e5341fd..66e74cf4 100644 --- a/app/src/main/kotlin/com/g00fy2/developerwidget/activities/apkinstall/ApkFile.kt +++ b/app/src/main/kotlin/com/g00fy2/developerwidget/activities/apkinstall/ApkFile.kt @@ -2,14 +2,16 @@ package com.g00fy2.developerwidget.activities.apkinstall import android.content.Context import android.content.pm.ApplicationInfo +import android.graphics.drawable.AdaptiveIconDrawable import android.graphics.drawable.Drawable +import android.graphics.drawable.InsetDrawable import android.net.Uri import android.os.Build.VERSION import android.os.Build.VERSION_CODES import android.text.format.DateFormat import androidx.core.content.FileProvider import androidx.core.content.pm.PackageInfoCompat -import com.g00fy2.developerwidget.utils.ACTIVITY +import com.g00fy2.developerwidget.di.annotations.ACTIVITY import timber.log.Timber import java.io.File import java.text.NumberFormat @@ -74,8 +76,14 @@ class ApkFile private constructor() : Comparable { appInfo.sourceDir = filePath appInfo.publicSourceDir = filePath packageManager.getApplicationLabel(appInfo).let { appName = it.toString() } - appIcon = packageManager.getApplicationIcon(appInfo) debuggable = appInfo.flags.and(ApplicationInfo.FLAG_DEBUGGABLE) != 0 + packageManager.getApplicationIcon(appInfo).let { + if (VERSION.SDK_INT >= VERSION_CODES.O && it is AdaptiveIconDrawable) { + appIcon = InsetDrawable(it, 0.025f, 0.01f, 0.025f, 0.04f) + } else { + appIcon = it + } + } } } diff --git a/app/src/main/kotlin/com/g00fy2/developerwidget/activities/appmanager/AppInfo.kt b/app/src/main/kotlin/com/g00fy2/developerwidget/activities/appmanager/AppInfo.kt index 16574bcb..537442e3 100644 --- a/app/src/main/kotlin/com/g00fy2/developerwidget/activities/appmanager/AppInfo.kt +++ b/app/src/main/kotlin/com/g00fy2/developerwidget/activities/appmanager/AppInfo.kt @@ -2,9 +2,13 @@ package com.g00fy2.developerwidget.activities.appmanager import android.content.Context import android.content.pm.PackageInfo +import android.graphics.drawable.AdaptiveIconDrawable import android.graphics.drawable.Drawable +import android.graphics.drawable.InsetDrawable +import android.os.Build.VERSION +import android.os.Build.VERSION_CODES import androidx.core.content.pm.PackageInfoCompat -import com.g00fy2.developerwidget.utils.ACTIVITY +import com.g00fy2.developerwidget.di.annotations.ACTIVITY import javax.inject.Inject import javax.inject.Named @@ -46,7 +50,13 @@ class AppInfo private constructor() : Comparable { packageInfo.applicationInfo }?.let { appInfo -> appName = packageManager.getApplicationLabel(appInfo).toString() - appIcon = packageManager.getApplicationIcon(appInfo.packageName) + packageManager.getApplicationIcon(appInfo.packageName).let { + if (VERSION.SDK_INT >= VERSION_CODES.O && it is AdaptiveIconDrawable) { + appIcon = InsetDrawable(it, 0.025f, 0.01f, 0.025f, 0.04f) + } else { + appIcon = it + } + } } } } diff --git a/app/src/main/kotlin/com/g00fy2/developerwidget/activities/appmanager/AppsActivity.kt b/app/src/main/kotlin/com/g00fy2/developerwidget/activities/appmanager/AppsActivity.kt index 63ac0805..8b45a17b 100644 --- a/app/src/main/kotlin/com/g00fy2/developerwidget/activities/appmanager/AppsActivity.kt +++ b/app/src/main/kotlin/com/g00fy2/developerwidget/activities/appmanager/AppsActivity.kt @@ -27,11 +27,11 @@ import androidx.recyclerview.widget.LinearLayoutManager import com.g00fy2.developerwidget.R import com.g00fy2.developerwidget.base.BaseActivity import com.g00fy2.developerwidget.base.BaseContract.BasePresenter -import com.g00fy2.developerwidget.utils.AnimationUtils -import com.g00fy2.developerwidget.utils.hideKeyboard +import com.g00fy2.developerwidget.ktx.collapse +import com.g00fy2.developerwidget.ktx.expand +import com.g00fy2.developerwidget.ktx.hideKeyboard import com.google.android.material.chip.Chip import kotlinx.android.synthetic.main.activity_apps.* -import kotlinx.android.synthetic.main.app_filter_info.* import javax.inject.Inject class AppsActivity : BaseActivity(R.layout.activity_apps, true), AppsContract.AppsView { @@ -74,7 +74,7 @@ class AppsActivity : BaseActivity(R.layout.activity_apps, true), AppsContract.Ap app_filter_info.setOnClickListener { scrollToTopAfterCommit = true presenter.disableFilter() - AnimationUtils.collapseView(app_filter_info, true, LinearOutSlowInInterpolator()) + app_filter_info.collapse(true, LinearOutSlowInInterpolator()) } TooltipCompat.setTooltipText(filter_imageview, filter_imageview.contentDescription) filter_imageview.setOnClickListener { @@ -161,15 +161,14 @@ class AppsActivity : BaseActivity(R.layout.activity_apps, true), AppsContract.Ap private fun toggleFilterView() { if (filter_linearlayout.isVisible) { - if (presenter.getCurrentFilter().isNotEmpty()) AnimationUtils.expandView(app_filter_info, true, - FastOutLinearInInterpolator()) - AnimationUtils.collapseView(filter_linearlayout, easing = FastOutLinearInInterpolator()) + if (presenter.getCurrentFilter().isNotEmpty()) app_filter_info.expand(true, FastOutLinearInInterpolator()) + filter_linearlayout.collapse(easing = FastOutLinearInInterpolator()) filter_edittext.hideKeyboard() } else { - if (app_filter_info.isVisible) AnimationUtils.collapseView(app_filter_info, true, LinearOutSlowInInterpolator()) + if (app_filter_info.isVisible) app_filter_info.collapse(true, LinearOutSlowInInterpolator()) filter_edittext.text.clear() setFilterChips(presenter.getCurrentFilter()) - AnimationUtils.expandView(filter_linearlayout, easing = LinearOutSlowInInterpolator()) + filter_linearlayout.expand(easing = LinearOutSlowInInterpolator()) } } diff --git a/app/src/main/kotlin/com/g00fy2/developerwidget/activities/appmanager/AppsActivityModule.kt b/app/src/main/kotlin/com/g00fy2/developerwidget/activities/appmanager/AppsActivityModule.kt index e89ef7ec..d0a46fd8 100644 --- a/app/src/main/kotlin/com/g00fy2/developerwidget/activities/appmanager/AppsActivityModule.kt +++ b/app/src/main/kotlin/com/g00fy2/developerwidget/activities/appmanager/AppsActivityModule.kt @@ -4,7 +4,7 @@ import android.appwidget.AppWidgetManager import com.g00fy2.developerwidget.base.BaseActivity import com.g00fy2.developerwidget.di.ActivityModule import com.g00fy2.developerwidget.di.annotations.ActivityScope -import com.g00fy2.developerwidget.utils.WIDGET_ID +import com.g00fy2.developerwidget.di.annotations.WIDGET_ID import dagger.Binds import dagger.Module import dagger.Provides diff --git a/app/src/main/kotlin/com/g00fy2/developerwidget/activities/appmanager/AppsAdapter.kt b/app/src/main/kotlin/com/g00fy2/developerwidget/activities/appmanager/AppsAdapter.kt index 9d3297be..b5893a14 100644 --- a/app/src/main/kotlin/com/g00fy2/developerwidget/activities/appmanager/AppsAdapter.kt +++ b/app/src/main/kotlin/com/g00fy2/developerwidget/activities/appmanager/AppsAdapter.kt @@ -1,12 +1,15 @@ package com.g00fy2.developerwidget.activities.appmanager +import android.graphics.drawable.InsetDrawable +import android.os.Build.VERSION +import android.os.Build.VERSION_CODES import android.view.LayoutInflater import android.view.ViewGroup import androidx.recyclerview.widget.RecyclerView import com.g00fy2.developerwidget.R import com.g00fy2.developerwidget.base.BaseAdapter import com.g00fy2.developerwidget.base.BaseViewHolder -import com.g00fy2.developerwidget.utils.FilterUtils +import com.g00fy2.developerwidget.ktx.filterPackageName import kotlinx.android.synthetic.main.app_item.* class AppsAdapter : BaseAdapter(AppsDiffUtilsCallback()) { @@ -31,6 +34,9 @@ class AppsAdapter : BaseAdapter(AppsDiffUtilsCallback() app_version_textview.text = String.format(itemView.context.getString(R.string.apk_version), appInfo.versionName, appInfo.versionCode) app_icon_imageview.setImageDrawable(appInfo.appIcon) + if (VERSION.SDK_INT >= VERSION_CODES.O) { + app_icon_imageview.setBackgroundResource(if (appInfo.appIcon is InsetDrawable) R.drawable.bg_adaptive_launcher_icon else 0) + } } } @@ -48,11 +54,7 @@ class AppsAdapter : BaseAdapter(AppsDiffUtilsCallback() if (filter.isEmpty()) { resetAppFilter() } else { - val filteredItems = ArrayList() - for (i in itemsCopy) { - if (FilterUtils.filterValue(i.packageName, filter)) filteredItems.add(i) - } - submitList(filteredItems) + submitList(itemsCopy.filter { it.filterPackageName(filter) }) } } @@ -60,11 +62,7 @@ class AppsAdapter : BaseAdapter(AppsDiffUtilsCallback() if (filters.isEmpty()) { resetAppFilter() } else { - val filteredItems = ArrayList() - for (i in itemsCopy) { - if (FilterUtils.filterValueByCollection(i.packageName, filters)) filteredItems.add(i) - } - submitList(filteredItems) + submitList(itemsCopy.filter { it.filterPackageName(filters) }) } } diff --git a/app/src/main/kotlin/com/g00fy2/developerwidget/activities/widgetconfig/WidgetConfigActivity.kt b/app/src/main/kotlin/com/g00fy2/developerwidget/activities/widgetconfig/WidgetConfigActivity.kt index ccd1a93e..3e63e9f6 100644 --- a/app/src/main/kotlin/com/g00fy2/developerwidget/activities/widgetconfig/WidgetConfigActivity.kt +++ b/app/src/main/kotlin/com/g00fy2/developerwidget/activities/widgetconfig/WidgetConfigActivity.kt @@ -33,9 +33,9 @@ import com.g00fy2.developerwidget.activities.about.AboutActivity import com.g00fy2.developerwidget.base.BaseActivity import com.g00fy2.developerwidget.base.BaseContract.BasePresenter import com.g00fy2.developerwidget.data.DeviceDataItem +import com.g00fy2.developerwidget.ktx.hideKeyboard +import com.g00fy2.developerwidget.ktx.showKeyboard import com.g00fy2.developerwidget.receiver.widget.WidgetProviderImpl -import com.g00fy2.developerwidget.utils.hideKeyboard -import com.g00fy2.developerwidget.utils.showKeyboard import kotlinx.android.synthetic.main.activity_widget_config.* import javax.inject.Inject diff --git a/app/src/main/kotlin/com/g00fy2/developerwidget/activities/widgetconfig/WidgetConfigActivityModule.kt b/app/src/main/kotlin/com/g00fy2/developerwidget/activities/widgetconfig/WidgetConfigActivityModule.kt index 67d17f09..082a7339 100644 --- a/app/src/main/kotlin/com/g00fy2/developerwidget/activities/widgetconfig/WidgetConfigActivityModule.kt +++ b/app/src/main/kotlin/com/g00fy2/developerwidget/activities/widgetconfig/WidgetConfigActivityModule.kt @@ -4,7 +4,7 @@ import android.appwidget.AppWidgetManager import com.g00fy2.developerwidget.base.BaseActivity import com.g00fy2.developerwidget.di.ActivityModule import com.g00fy2.developerwidget.di.annotations.ActivityScope -import com.g00fy2.developerwidget.utils.WIDGET_ID +import com.g00fy2.developerwidget.di.annotations.WIDGET_ID import dagger.Binds import dagger.Module import dagger.Provides diff --git a/app/src/main/kotlin/com/g00fy2/developerwidget/activities/widgetconfig/WidgetConfigPresenterImpl.kt b/app/src/main/kotlin/com/g00fy2/developerwidget/activities/widgetconfig/WidgetConfigPresenterImpl.kt index f4f0c9b0..e0a1a97e 100644 --- a/app/src/main/kotlin/com/g00fy2/developerwidget/activities/widgetconfig/WidgetConfigPresenterImpl.kt +++ b/app/src/main/kotlin/com/g00fy2/developerwidget/activities/widgetconfig/WidgetConfigPresenterImpl.kt @@ -13,7 +13,6 @@ import com.g00fy2.developerwidget.data.DeviceDataSource import kotlinx.coroutines.Dispatchers import kotlinx.coroutines.launch import kotlinx.coroutines.withContext -import timber.log.Timber import javax.inject.Inject class WidgetConfigPresenterImpl @Inject constructor() : BasePresenterImpl(), diff --git a/app/src/main/kotlin/com/g00fy2/developerwidget/base/BaseActivity.kt b/app/src/main/kotlin/com/g00fy2/developerwidget/base/BaseActivity.kt index 83e7b710..5fa4d5af 100644 --- a/app/src/main/kotlin/com/g00fy2/developerwidget/base/BaseActivity.kt +++ b/app/src/main/kotlin/com/g00fy2/developerwidget/base/BaseActivity.kt @@ -7,13 +7,9 @@ import android.os.Bundle import android.view.View import android.view.ViewGroup import android.view.Window -import android.view.inputmethod.InputMethodManager import androidx.annotation.LayoutRes import androidx.appcompat.app.AppCompatActivity -import androidx.core.content.getSystemService import com.g00fy2.developerwidget.controllers.DayNightController -import com.g00fy2.developerwidget.utils.DIALOG_ACTIVITY_HEIGHT_FACTOR -import com.g00fy2.developerwidget.utils.DIALOG_ACTIVITY_WIDTH_FACTOR import dagger.android.AndroidInjection import timber.log.Timber import javax.inject.Inject @@ -32,8 +28,8 @@ abstract class BaseActivity(@LayoutRes contentLayoutId: Int, private val isDialo requestWindowFeature(Window.FEATURE_NO_TITLE) super.onCreate(savedInstanceState) - val width = (resources.displayMetrics.widthPixels * DIALOG_ACTIVITY_WIDTH_FACTOR).toInt() - val height = (resources.displayMetrics.heightPixels * DIALOG_ACTIVITY_HEIGHT_FACTOR).toInt() + val width = (resources.displayMetrics.widthPixels * 0.95).toInt() + val height = (resources.displayMetrics.heightPixels * 0.80).toInt() window.setLayout(width, height) } else { super.onCreate(savedInstanceState) diff --git a/app/src/main/kotlin/com/g00fy2/developerwidget/controllers/DayNightControllerImpl.kt b/app/src/main/kotlin/com/g00fy2/developerwidget/controllers/DayNightControllerImpl.kt index c5ac5749..5691a5dd 100644 --- a/app/src/main/kotlin/com/g00fy2/developerwidget/controllers/DayNightControllerImpl.kt +++ b/app/src/main/kotlin/com/g00fy2/developerwidget/controllers/DayNightControllerImpl.kt @@ -7,8 +7,8 @@ import android.os.Build.VERSION_CODES import androidx.appcompat.app.AppCompatDelegate import androidx.core.content.edit import com.g00fy2.developerwidget.R +import com.g00fy2.developerwidget.di.annotations.APPLICATION import com.g00fy2.developerwidget.receiver.widget.WidgetProviderImpl -import com.g00fy2.developerwidget.utils.APPLICATION import javax.inject.Inject import javax.inject.Named diff --git a/app/src/main/kotlin/com/g00fy2/developerwidget/controllers/IntentControllerImpl.kt b/app/src/main/kotlin/com/g00fy2/developerwidget/controllers/IntentControllerImpl.kt index 50f12af2..69181dab 100644 --- a/app/src/main/kotlin/com/g00fy2/developerwidget/controllers/IntentControllerImpl.kt +++ b/app/src/main/kotlin/com/g00fy2/developerwidget/controllers/IntentControllerImpl.kt @@ -10,9 +10,9 @@ import android.provider.Settings import androidx.core.net.toUri import com.g00fy2.developerwidget.BuildConfig import com.g00fy2.developerwidget.R +import com.g00fy2.developerwidget.activities.about.DEVELOPER_EMAIL import com.g00fy2.developerwidget.activities.apkinstall.ApkFile -import com.g00fy2.developerwidget.utils.ACTIVITY -import com.g00fy2.developerwidget.utils.DEVELOPER_EMAIL +import com.g00fy2.developerwidget.di.annotations.ACTIVITY import timber.log.Timber import javax.inject.Inject import javax.inject.Named diff --git a/app/src/main/kotlin/com/g00fy2/developerwidget/controllers/PermissionControllerImpl.kt b/app/src/main/kotlin/com/g00fy2/developerwidget/controllers/PermissionControllerImpl.kt index 861a5914..bb9d8386 100644 --- a/app/src/main/kotlin/com/g00fy2/developerwidget/controllers/PermissionControllerImpl.kt +++ b/app/src/main/kotlin/com/g00fy2/developerwidget/controllers/PermissionControllerImpl.kt @@ -7,7 +7,7 @@ import android.content.pm.PackageManager import android.os.Build.VERSION import android.os.Build.VERSION_CODES import androidx.core.content.ContextCompat -import com.g00fy2.developerwidget.utils.ACTIVITY +import com.g00fy2.developerwidget.di.annotations.ACTIVITY import javax.inject.Inject import javax.inject.Named diff --git a/app/src/main/kotlin/com/g00fy2/developerwidget/controllers/StorageDirsControllerImpl.kt b/app/src/main/kotlin/com/g00fy2/developerwidget/controllers/StorageDirsControllerImpl.kt index 36781156..0ede7c88 100644 --- a/app/src/main/kotlin/com/g00fy2/developerwidget/controllers/StorageDirsControllerImpl.kt +++ b/app/src/main/kotlin/com/g00fy2/developerwidget/controllers/StorageDirsControllerImpl.kt @@ -5,7 +5,7 @@ import android.content.Context import android.os.Build.VERSION import android.os.Build.VERSION_CODES import android.os.Environment -import com.g00fy2.developerwidget.utils.ACTIVITY +import com.g00fy2.developerwidget.di.annotations.ACTIVITY import timber.log.Timber import java.io.File import java.io.File.pathSeparator diff --git a/app/src/main/kotlin/com/g00fy2/developerwidget/controllers/StringControllerImpl.kt b/app/src/main/kotlin/com/g00fy2/developerwidget/controllers/StringControllerImpl.kt index 44d94898..aa2df2f8 100644 --- a/app/src/main/kotlin/com/g00fy2/developerwidget/controllers/StringControllerImpl.kt +++ b/app/src/main/kotlin/com/g00fy2/developerwidget/controllers/StringControllerImpl.kt @@ -1,7 +1,7 @@ package com.g00fy2.developerwidget.controllers import android.content.Context -import com.g00fy2.developerwidget.utils.ACTIVITY +import com.g00fy2.developerwidget.di.annotations.ACTIVITY import javax.inject.Inject import javax.inject.Named diff --git a/app/src/main/kotlin/com/g00fy2/developerwidget/controllers/ToastControllerImpl.kt b/app/src/main/kotlin/com/g00fy2/developerwidget/controllers/ToastControllerImpl.kt index bb554a44..e345a95e 100644 --- a/app/src/main/kotlin/com/g00fy2/developerwidget/controllers/ToastControllerImpl.kt +++ b/app/src/main/kotlin/com/g00fy2/developerwidget/controllers/ToastControllerImpl.kt @@ -2,7 +2,7 @@ package com.g00fy2.developerwidget.controllers import android.content.Context import android.widget.Toast -import com.g00fy2.developerwidget.utils.APPLICATION +import com.g00fy2.developerwidget.di.annotations.APPLICATION import javax.inject.Inject import javax.inject.Named diff --git a/app/src/main/kotlin/com/g00fy2/developerwidget/controllers/WidgetPreferenceControllerImpl.kt b/app/src/main/kotlin/com/g00fy2/developerwidget/controllers/WidgetPreferenceControllerImpl.kt index 44ee6daa..dc566074 100644 --- a/app/src/main/kotlin/com/g00fy2/developerwidget/controllers/WidgetPreferenceControllerImpl.kt +++ b/app/src/main/kotlin/com/g00fy2/developerwidget/controllers/WidgetPreferenceControllerImpl.kt @@ -2,8 +2,8 @@ package com.g00fy2.developerwidget.controllers import android.content.Context import androidx.core.content.edit -import com.g00fy2.developerwidget.utils.ACTIVITY -import com.g00fy2.developerwidget.utils.WIDGET_ID +import com.g00fy2.developerwidget.di.annotations.ACTIVITY +import com.g00fy2.developerwidget.di.annotations.WIDGET_ID import javax.inject.Inject import javax.inject.Named diff --git a/app/src/main/kotlin/com/g00fy2/developerwidget/data/DeviceDataSourceImpl.kt b/app/src/main/kotlin/com/g00fy2/developerwidget/data/DeviceDataSourceImpl.kt index fcecc6e9..a11b1462 100644 --- a/app/src/main/kotlin/com/g00fy2/developerwidget/data/DeviceDataSourceImpl.kt +++ b/app/src/main/kotlin/com/g00fy2/developerwidget/data/DeviceDataSourceImpl.kt @@ -10,7 +10,7 @@ import com.g00fy2.developerwidget.data.device.hardwarefeature.HardwareFeaturePro import com.g00fy2.developerwidget.data.device.ram.RamDataProvider import com.g00fy2.developerwidget.data.device.system.SystemDataProvider import com.g00fy2.developerwidget.data.device.systemapps.SystemAppsDataProvider -import com.g00fy2.developerwidget.utils.APPLICATION +import com.g00fy2.developerwidget.di.annotations.APPLICATION import javax.inject.Inject import javax.inject.Named diff --git a/app/src/main/kotlin/com/g00fy2/developerwidget/data/WidgetsPreferencesDataSourceImpl.kt b/app/src/main/kotlin/com/g00fy2/developerwidget/data/WidgetsPreferencesDataSourceImpl.kt index 939c8725..2641f032 100644 --- a/app/src/main/kotlin/com/g00fy2/developerwidget/data/WidgetsPreferencesDataSourceImpl.kt +++ b/app/src/main/kotlin/com/g00fy2/developerwidget/data/WidgetsPreferencesDataSourceImpl.kt @@ -3,7 +3,7 @@ package com.g00fy2.developerwidget.data import android.content.Context import android.util.SparseArray import com.g00fy2.developerwidget.controllers.WidgetPreferenceControllerImpl -import com.g00fy2.developerwidget.utils.APPLICATION +import com.g00fy2.developerwidget.di.annotations.APPLICATION import kotlinx.coroutines.CoroutineScope import kotlinx.coroutines.Dispatchers import kotlinx.coroutines.Job diff --git a/app/src/main/kotlin/com/g00fy2/developerwidget/data/device/display/DisplayDataProvider.kt b/app/src/main/kotlin/com/g00fy2/developerwidget/data/device/display/DisplayDataProvider.kt index c71fd151..5223e3f0 100644 --- a/app/src/main/kotlin/com/g00fy2/developerwidget/data/device/display/DisplayDataProvider.kt +++ b/app/src/main/kotlin/com/g00fy2/developerwidget/data/device/display/DisplayDataProvider.kt @@ -7,8 +7,6 @@ import android.util.DisplayMetrics import android.view.WindowManager import androidx.core.content.getSystemService import java.text.NumberFormat -import kotlin.math.max -import kotlin.math.min import kotlin.math.roundToInt class DisplayDataProvider { diff --git a/app/src/main/kotlin/com/g00fy2/developerwidget/di/ActivityModule.kt b/app/src/main/kotlin/com/g00fy2/developerwidget/di/ActivityModule.kt index 2e48419c..3231410b 100644 --- a/app/src/main/kotlin/com/g00fy2/developerwidget/di/ActivityModule.kt +++ b/app/src/main/kotlin/com/g00fy2/developerwidget/di/ActivityModule.kt @@ -2,8 +2,8 @@ package com.g00fy2.developerwidget.di import android.content.Context import com.g00fy2.developerwidget.base.BaseActivity +import com.g00fy2.developerwidget.di.annotations.ACTIVITY import com.g00fy2.developerwidget.di.annotations.ActivityScope -import com.g00fy2.developerwidget.utils.ACTIVITY import dagger.Binds import dagger.Module import javax.inject.Named diff --git a/app/src/main/kotlin/com/g00fy2/developerwidget/di/AppModule.kt b/app/src/main/kotlin/com/g00fy2/developerwidget/di/AppModule.kt index d7c865fa..5e4c9683 100644 --- a/app/src/main/kotlin/com/g00fy2/developerwidget/di/AppModule.kt +++ b/app/src/main/kotlin/com/g00fy2/developerwidget/di/AppModule.kt @@ -2,7 +2,7 @@ package com.g00fy2.developerwidget.di import android.content.Context import com.g00fy2.developerwidget.DevWidgetApp -import com.g00fy2.developerwidget.utils.APPLICATION +import com.g00fy2.developerwidget.di.annotations.APPLICATION import dagger.Binds import dagger.Module import javax.inject.Named diff --git a/app/src/main/kotlin/com/g00fy2/developerwidget/di/annotations/ScopeNames.kt b/app/src/main/kotlin/com/g00fy2/developerwidget/di/annotations/ScopeNames.kt new file mode 100644 index 00000000..91afaa44 --- /dev/null +++ b/app/src/main/kotlin/com/g00fy2/developerwidget/di/annotations/ScopeNames.kt @@ -0,0 +1,5 @@ +package com.g00fy2.developerwidget.di.annotations + +const val ACTIVITY = "activity" +const val APPLICATION = "application" +const val WIDGET_ID = "widgetId" \ No newline at end of file diff --git a/app/src/main/kotlin/com/g00fy2/developerwidget/ktx/AppInfoExtensions.kt b/app/src/main/kotlin/com/g00fy2/developerwidget/ktx/AppInfoExtensions.kt new file mode 100644 index 00000000..05538688 --- /dev/null +++ b/app/src/main/kotlin/com/g00fy2/developerwidget/ktx/AppInfoExtensions.kt @@ -0,0 +1,25 @@ +package com.g00fy2.developerwidget.ktx + +import com.g00fy2.developerwidget.activities.appmanager.AppInfo + +fun AppInfo.filterPackageName(filter: String): Boolean { + var result = false + val filterInputs = filter.split("*") + var tempValue = packageName + for (i in filterInputs) { + if (tempValue.contains(i, true)) { + tempValue = tempValue.substringAfter(i) + result = true + } else { + return false + } + } + return result +} + +fun AppInfo.filterPackageName(filterEntries: Collection): Boolean { + for (i in filterEntries) { + if (filterPackageName(i)) return true + } + return false +} diff --git a/app/src/main/kotlin/com/g00fy2/developerwidget/utils/EditTextExtensions.kt b/app/src/main/kotlin/com/g00fy2/developerwidget/ktx/EditTextExtensions.kt similarity index 90% rename from app/src/main/kotlin/com/g00fy2/developerwidget/utils/EditTextExtensions.kt rename to app/src/main/kotlin/com/g00fy2/developerwidget/ktx/EditTextExtensions.kt index 4622cc30..7c451df2 100644 --- a/app/src/main/kotlin/com/g00fy2/developerwidget/utils/EditTextExtensions.kt +++ b/app/src/main/kotlin/com/g00fy2/developerwidget/ktx/EditTextExtensions.kt @@ -1,4 +1,4 @@ -package com.g00fy2.developerwidget.utils +package com.g00fy2.developerwidget.ktx import android.view.inputmethod.InputMethodManager import android.widget.EditText diff --git a/app/src/main/kotlin/com/g00fy2/developerwidget/ktx/ViewGroupExtensions.kt b/app/src/main/kotlin/com/g00fy2/developerwidget/ktx/ViewGroupExtensions.kt new file mode 100644 index 00000000..f3e054ff --- /dev/null +++ b/app/src/main/kotlin/com/g00fy2/developerwidget/ktx/ViewGroupExtensions.kt @@ -0,0 +1,51 @@ +package com.g00fy2.developerwidget.ktx + +import android.animation.TimeInterpolator +import android.animation.ValueAnimator +import android.view.View +import android.view.ViewGroup +import androidx.core.animation.doOnEnd +import com.g00fy2.developerwidget.R + +fun ViewGroup.expand(fade: Boolean = false, easing: TimeInterpolator? = null) = this.apply { + val params = layoutParams as ViewGroup.MarginLayoutParams + params.topMargin = -height + requestLayout() + if (fade) alpha = 0f + visibility = View.VISIBLE + + val viewHeight = height + ValueAnimator.ofInt(-viewHeight, 0).apply { + addUpdateListener { + (it.animatedValue as Int).let { value -> + params.topMargin = value + if (fade) alpha = (viewHeight + value) / viewHeight.toFloat() + } + requestLayout() + } + easing?.let { easing -> interpolator = easing } + duration = resources.getInteger(R.integer.animation_duration).toLong() + }.start() +} + +fun ViewGroup.collapse(fade: Boolean = false, easing: TimeInterpolator? = null) = this.apply { + val params = layoutParams as ViewGroup.MarginLayoutParams + params.topMargin = 0 + requestLayout() + if (fade) alpha = 1f + visibility = View.VISIBLE + + val viewHeight = height + ValueAnimator.ofInt(0, -viewHeight).apply { + addUpdateListener { + (it.animatedValue as Int).let { value -> + params.topMargin = value + if (fade) alpha = (viewHeight + value) / viewHeight.toFloat() + } + requestLayout() + } + easing?.let { easing -> interpolator = easing } + duration = resources.getInteger(R.integer.animation_duration).toLong() + doOnEnd { visibility = View.GONE } + }.start() +} \ No newline at end of file diff --git a/app/src/main/kotlin/com/g00fy2/developerwidget/utils/AnimationUtils.kt b/app/src/main/kotlin/com/g00fy2/developerwidget/utils/AnimationUtils.kt deleted file mode 100644 index 227bc87b..00000000 --- a/app/src/main/kotlin/com/g00fy2/developerwidget/utils/AnimationUtils.kt +++ /dev/null @@ -1,61 +0,0 @@ -package com.g00fy2.developerwidget.utils - -import android.animation.TimeInterpolator -import android.animation.ValueAnimator -import android.view.View -import android.widget.LinearLayout -import androidx.core.animation.doOnEnd -import com.g00fy2.developerwidget.R - -class AnimationUtils { - - companion object { - - fun expandView(v: View, fade: Boolean = false, easing: TimeInterpolator? = null) { - v.apply { - val params = layoutParams as LinearLayout.LayoutParams - params.topMargin = -height - requestLayout() - if (fade) alpha = 0f - visibility = View.VISIBLE - - val viewHeight = height - ValueAnimator.ofInt(-viewHeight, 0).apply { - addUpdateListener { - (it.animatedValue as Int).let { value -> - params.topMargin = value - if (fade) alpha = (viewHeight + value) / viewHeight.toFloat() - } - requestLayout() - } - easing?.let { easing -> interpolator = easing } - duration = resources.getInteger(R.integer.animation_duration).toLong() - }.start() - } - } - - fun collapseView(v: View, fade: Boolean = false, easing: TimeInterpolator? = null) { - v.apply { - val params = layoutParams as LinearLayout.LayoutParams - params.topMargin = 0 - requestLayout() - if (fade) alpha = 1f - visibility = View.VISIBLE - - val viewHeight = height - ValueAnimator.ofInt(0, -viewHeight).apply { - addUpdateListener { - (it.animatedValue as Int).let { value -> - params.topMargin = value - if (fade) alpha = (viewHeight + value) / viewHeight.toFloat() - } - requestLayout() - } - easing?.let { easing -> interpolator = easing } - duration = resources.getInteger(R.integer.animation_duration).toLong() - doOnEnd { visibility = View.GONE } - }.start() - } - } - } -} \ No newline at end of file diff --git a/app/src/main/kotlin/com/g00fy2/developerwidget/utils/FilterUtils.kt b/app/src/main/kotlin/com/g00fy2/developerwidget/utils/FilterUtils.kt deleted file mode 100644 index 8bf6898a..00000000 --- a/app/src/main/kotlin/com/g00fy2/developerwidget/utils/FilterUtils.kt +++ /dev/null @@ -1,29 +0,0 @@ -package com.g00fy2.developerwidget.utils - -class FilterUtils { - - companion object { - - fun filterValue(value: String, filter: String): Boolean { - var result = false - val filterInputs = filter.split("*") - var tempValue = value - for (i in filterInputs) { - if (tempValue.contains(i, true)) { - tempValue = tempValue.substringAfter(i) - result = true - } else { - return false - } - } - return result - } - - fun filterValueByCollection(value: String, filterEntries: Collection): Boolean { - for (i in filterEntries) { - if (filterValue(value, i)) return true - } - return false - } - } -} \ No newline at end of file diff --git a/app/src/main/res/drawable-night/filter_edittext_background.xml b/app/src/main/res/drawable-night/bg_filter_edittext.xml similarity index 100% rename from app/src/main/res/drawable-night/filter_edittext_background.xml rename to app/src/main/res/drawable-night/bg_filter_edittext.xml diff --git a/app/src/main/res/drawable-v26/bg_adaptive_launcher_icon.xml b/app/src/main/res/drawable-v26/bg_adaptive_launcher_icon.xml new file mode 100644 index 00000000..0198e9ef --- /dev/null +++ b/app/src/main/res/drawable-v26/bg_adaptive_launcher_icon.xml @@ -0,0 +1,5 @@ + + + + + \ No newline at end of file diff --git a/app/src/main/res/drawable/filter_edittext_background.xml b/app/src/main/res/drawable/bg_filter_edittext.xml similarity index 100% rename from app/src/main/res/drawable/filter_edittext_background.xml rename to app/src/main/res/drawable/bg_filter_edittext.xml diff --git a/app/src/main/res/layout/activity_apps.xml b/app/src/main/res/layout/activity_apps.xml index c5b0b1eb..2d19e604 100644 --- a/app/src/main/res/layout/activity_apps.xml +++ b/app/src/main/res/layout/activity_apps.xml @@ -4,6 +4,7 @@ android:layout_width="match_parent" android:layout_height="match_parent" xmlns:app="http://schemas.android.com/apk/res-auto" + xmlns:tools="http://schemas.android.com/tools" android:orientation="vertical" > @@ -68,7 +69,7 @@ android:layout_marginBottom="2dp" android:layout_marginLeft="@dimen/filter_input_inset" android:layout_marginRight="@dimen/filter_input_inset" - android:background="@drawable/filter_edittext_background" + android:background="@drawable/bg_filter_edittext" android:clickable="true" android:drawablePadding="8dp" android:focusable="true" @@ -97,10 +98,34 @@ - + android:layout_width="wrap_content" + android:layout_height="40dp" + android:orientation="horizontal" + android:paddingLeft="@dimen/action_bar_inset" + android:paddingRight="@dimen/action_bar_inset" + tools:ignore="UseCompoundDrawables" + > + + + - - - - \ No newline at end of file diff --git a/app/src/main/res/values-night-v29/colors.xml b/app/src/main/res/values-night-v29/colors.xml index 7229c0b3..b602b262 100644 --- a/app/src/main/res/values-night-v29/colors.xml +++ b/app/src/main/res/values-night-v29/colors.xml @@ -4,6 +4,7 @@ @color/black #1f1f1f + @color/black @color/white diff --git a/app/src/main/res/values-night/colors.xml b/app/src/main/res/values-night/colors.xml index 4681e521..33170474 100644 --- a/app/src/main/res/values-night/colors.xml +++ b/app/src/main/res/values-night/colors.xml @@ -19,4 +19,5 @@ @color/nightGrey #e4e4e5 + #33000000 diff --git a/app/src/main/res/values/colors.xml b/app/src/main/res/values/colors.xml index b48eec83..c66038b4 100644 --- a/app/src/main/res/values/colors.xml +++ b/app/src/main/res/values/colors.xml @@ -33,6 +33,7 @@ @color/black @color/lighterGrey + #33808080 #212121 #262728 diff --git a/build.gradle b/build.gradle index 68d5263f..1f530fc3 100644 --- a/build.gradle +++ b/build.gradle @@ -1,10 +1,10 @@ buildscript { ext { - // SDK and tools + // SDK and plugins compileSdkVersion = 29 minSdkVersion = 14 targetSdkVersion = 29 - androidGradleVersion = '3.5.0-rc01' + androidGradleVersion = '3.5.0-rc03' gradleScanVersion = '2.3' versioningPluginVersion = '1.0.0' @@ -12,10 +12,10 @@ buildscript { kotlinVersion = '1.3.41' coroutinesVersion = '1.2.2' appcompatVersion = '1.1.0-rc01' - coreKtxVersion = '1.2.0-alpha02' - activityVersion = '1.1.0-alpha01' - materialVersion = '1.1.0-alpha08' - recyclerviewVersion = '1.1.0-beta01' + coreKtxVersion = '1.2.0-alpha03' + activityVersion = '1.1.0-alpha02' + materialVersion = '1.1.0-alpha09' + recyclerviewVersion = '1.1.0-beta02' vectorDrawableVersion = '1.1.0-rc01' constraintlayoutVersion = '2.0.0-beta2' timberVersion = '4.7.1'