diff --git a/.gitignore b/.gitignore index 81de63c889360ec55f4d0a168c5f0cb248f86678..5c038db904d1d3762e5118f8b5b1acd460340646 100755 --- a/.gitignore +++ b/.gitignore @@ -1,17 +1,64 @@ -.gradle -/.i -/local.properties -.DS_Store -/captures -.externalNativeBuild -.idea/ -*iml +# Built application files +*.apk +*.aar +*.ap_ +*.aab + +# Files for the ART/Dalvik VM +*.dex + +# Java class files +*.class + +# Generated files bin/ gen/ out/ + +# Gradle files +.gradle/ build/ + +# Local configuration file (sdk path, etc) +/local.properties + +# Log Files +*.log + +# General +.DS_Store + +# Android Studio captures folder +/captures + +# Android Studio Navigation editor temp files +.navigation/ + +# IntelliJ +*iml +.idea/workspace.xml +.idea/libraries +.idea/caches +.idea/navEditor.xml +.idea/tasks.xml +.idea/modules.xml +.idea/assetWizardSettings.xml +gradle.xml + .classpath .project -lint.xml -/dist +ktlint + +# External native build folder generated in Android Studio 2.2 and later +.externalNativeBuild +.cxx/ + +# lint +lint/intermediates/ +lint/generated/ +lint/outputs/ +lint/tmp/ + +#ktlint +ktlint diff --git a/.idea/codeStyles/Project.xml b/.idea/codeStyles/Project.xml new file mode 100644 index 0000000000000000000000000000000000000000..41d41678a275c37553153aad7340a2144155f639 --- /dev/null +++ b/.idea/codeStyles/Project.xml @@ -0,0 +1,157 @@ + + + + + + + + + + + + + + + + + + +
+ + + + xmlns:android + + ^$ + + + +
+
+ + + + xmlns:.* + + ^$ + + + BY_NAME + +
+
+ + + + .*:id + + http://schemas.android.com/apk/res/android + + + +
+
+ + + + .*:name + + http://schemas.android.com/apk/res/android + + + +
+
+ + + + name + + ^$ + + + +
+
+ + + + style + + ^$ + + + +
+
+ + + + .* + + ^$ + + + BY_NAME + +
+
+ + + + .* + + http://schemas.android.com/apk/res/android + + + ANDROID_ATTRIBUTE_ORDER + +
+
+ + + + .* + + .* + + + BY_NAME + +
+
+
+
+ + + + +
+
\ No newline at end of file diff --git a/.idea/codeStyles/codeStyleConfig.xml b/.idea/codeStyles/codeStyleConfig.xml new file mode 100644 index 0000000000000000000000000000000000000000..79ee123c2b23e069e35ed634d687e17f731cc702 --- /dev/null +++ b/.idea/codeStyles/codeStyleConfig.xml @@ -0,0 +1,5 @@ + + + + \ No newline at end of file diff --git a/.idea/encodings.xml b/.idea/encodings.xml new file mode 100644 index 0000000000000000000000000000000000000000..97626ba45445dc9f3afa66e6a149914dc39e3df6 --- /dev/null +++ b/.idea/encodings.xml @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/.idea/inspectionProfiles/ktlint.xml b/.idea/inspectionProfiles/ktlint.xml new file mode 100644 index 0000000000000000000000000000000000000000..ff4779898c68934d6303d2e318c7812f59ee7712 --- /dev/null +++ b/.idea/inspectionProfiles/ktlint.xml @@ -0,0 +1,7 @@ + + + + \ No newline at end of file diff --git a/.idea/inspectionProfiles/profiles_settings.xml b/.idea/inspectionProfiles/profiles_settings.xml new file mode 100644 index 0000000000000000000000000000000000000000..30d5fbc6c8ee164806c145f816d74d0b565a96a9 --- /dev/null +++ b/.idea/inspectionProfiles/profiles_settings.xml @@ -0,0 +1,6 @@ + + + + \ No newline at end of file diff --git a/.idea/kotlinc.xml b/.idea/kotlinc.xml new file mode 100644 index 0000000000000000000000000000000000000000..78eb99429f19440fa82e98be13fc4cefebdedd2e --- /dev/null +++ b/.idea/kotlinc.xml @@ -0,0 +1,8 @@ + + + + + \ No newline at end of file diff --git a/.idea/misc.xml b/.idea/misc.xml new file mode 100644 index 0000000000000000000000000000000000000000..f5c6d9eb6a991d73b50e99d55a1a22a208ef247d --- /dev/null +++ b/.idea/misc.xml @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/.idea/runConfigurations.xml b/.idea/runConfigurations.xml new file mode 100644 index 0000000000000000000000000000000000000000..7f68460d8b38ac04e3a3224d7c79ef719b1991a9 --- /dev/null +++ b/.idea/runConfigurations.xml @@ -0,0 +1,12 @@ + + + + + + \ No newline at end of file diff --git a/.idea/vcs.xml b/.idea/vcs.xml new file mode 100644 index 0000000000000000000000000000000000000000..35eb1ddfbbc029bcab630581847471d7f238ec53 --- /dev/null +++ b/.idea/vcs.xml @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/app/build.gradle b/app/build.gradle index 244d89366314d2c9a1b5825ff0eebaf5412d9129..bd0fba222bdb666414e4225243824130d216d75a 100755 --- a/app/build.gradle +++ b/app/build.gradle @@ -1,17 +1,22 @@ +import foundation.e.blisslauncher.buildsrc.Libs +import foundation.e.blisslauncher.buildsrc.Versions + apply plugin: 'com.android.application' apply plugin: 'kotlin-android' +apply plugin: 'kotlin-kapt' +apply plugin: 'kotlin-android-extensions' // Manifest version information! def versionMajor = 1 def versionMinor = 3 -def versionPatch = 1 +def versionPatch = 2 android { - compileSdkVersion rootProject.ext.compileSdkVersion + compileSdkVersion Versions.compile_sdk defaultConfig { applicationId "foundation.e.blisslauncher" - minSdkVersion rootProject.ext.minSdkVersion - targetSdkVersion rootProject.ext.targetSdkVersion + minSdkVersion Versions.min_sdk + targetSdkVersion Versions.target_sdk versionCode versionMajor * 10000 + versionMinor * 1000 + versionPatch * 100 versionName "${versionMajor}.${versionMinor}.${versionPatch}" testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner" @@ -76,9 +81,7 @@ android { } dependencies { - implementation 'me.relex:circleindicator:1.2.2@aar' - implementation 'io.github.inflationx:calligraphy3:3.1.1' - implementation 'io.github.inflationx:viewpump:1.0.0' + implementation 'me.relex:circleindicator:2.1.4' apiNougatImplementation 'org.cyanogenmod:platform.sdk:6.0' apiOreoImplementation files('libs/lineage-sdk.jar') @@ -88,59 +91,47 @@ dependencies { implementation 'org.greenrobot:eventbus:3.1.1' // Support Libs - implementation "com.android.support:appcompat-v7:${rootProject.ext.supportLibraryVersion}" - implementation "com.android.support:support-media-compat:${rootProject.ext.supportLibraryVersion}" - implementation "com.android.support:support-v4:${rootProject.ext.supportLibraryVersion}" - implementation "com.android.support:recyclerview-v7:${rootProject.ext.supportLibraryVersion}" + implementation Libs.AndroidX.appcompat + implementation Libs.AndroidX.recyclerview // Rx Java and Android - implementation "io.reactivex.rxjava2:rxandroid:${rootProject.ext.rxAndroidVersion}" - implementation "io.reactivex.rxjava2:rxjava:${rootProject.ext.rxJavaVersion}" - implementation 'com.jakewharton.rxbinding2:rxbinding:2.1.1' + implementation Libs.RxJava.rxAndroid + implementation Libs.RxJava.rxJava + implementation 'com.jakewharton.rxbinding3:rxbinding:3.0.0' // Retrofit - implementation 'com.squareup.retrofit2:retrofit:2.4.0' - implementation 'com.squareup.retrofit2:converter-gson:2.4.0' - implementation 'com.squareup.retrofit2:adapter-rxjava2:2.4.0' + implementation Libs.Retrofit.retrofit + implementation Libs.Retrofit.gsonConverter + implementation Libs.Retrofit.retrofit_rxjava_adapter // Okhttp - implementation 'com.squareup.okhttp3:logging-interceptor:3.11.0' + implementation Libs.OkHttp.okhttp + implementation Libs.OkHttp.loggingInterceptor // Rx Relay - implementation "com.jakewharton.rxrelay2:rxrelay:${rootProject.ext.rxRelayVersion}" + implementation "com.jakewharton.rxrelay2:rxrelay:2.1.1" implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk7:$kotlin_version" // Blur Library - implementation project(':hoko-blur') + implementation 'com.hoko:hoko-blur:1.3.4' // Room - implementation "android.arch.persistence.room:runtime:1.1.1" - annotationProcessor "android.arch.persistence.room:compiler:1.1.1" - implementation "com.android.support:support-annotations:${rootProject.ext.supportLibraryVersion}" + implementation Libs.AndroidX.Room.runtime + kapt Libs.AndroidX.Room.compiler // Unit test dependencies - testImplementation "junit:junit:${rootProject.ext.junitVersion}" - testImplementation "org.robolectric:robolectric:${rootProject.ext.robolectricVersion}" - testImplementation "org.mockito:mockito-core:${rootProject.ext.mockitoVersion}" - testImplementation "org.hamcrest:hamcrest-core:${rootProject.ext.hamcrestVersion}" - testImplementation "org.hamcrest:hamcrest-library:${rootProject.ext.hamcrestVersion}" - testImplementation "org.hamcrest:hamcrest-integration:${rootProject.ext.hamcrestVersion}" + testImplementation Libs.junit + testImplementation Libs.robolectric + testImplementation "org.mockito:mockito-core:2.19.0" + testImplementation Libs.AndroidX.Test.archCoreTesting // Instrumentation tests dependencies - androidTestImplementation "junit:junit:${rootProject.ext.junitVersion}" - androidTestImplementation "org.mockito:mockito-core:${rootProject.ext.mockitoVersion}" - androidTestImplementation "org.mockito:mockito-android:${rootProject.ext.mockitoVersion}" - androidTestImplementation "com.android.support:support-annotations:${rootProject.ext.supportLibraryVersion}" - androidTestImplementation("com.android.support.test.espresso:espresso-contrib:${rootProject.ext.espressoVersion}", { - exclude group: 'com.android.support', module: 'appcompat-v7' - exclude group: 'com.android.support', module: 'support-v4' - exclude group: 'com.android.support', module: 'recyclerview-v7' - exclude group: 'com.android.support', module: 'design' - }) - androidTestImplementation "com.android.support.test.espresso:espresso-core:${rootProject.ext.espressoVersion}" - androidTestImplementation "com.android.support.test:runner:${rootProject.ext.runnerRulesVersion}" - androidTestImplementation "com.android.support.test:rules:${rootProject.ext.runnerRulesVersion}" + androidTestImplementation Libs.junit + androidTestImplementation Libs.AndroidX.Test.espressoCore + androidTestImplementation Libs.AndroidX.Test.runner + androidTestImplementation Libs.AndroidX.Test.rules + implementation 'androidx.localbroadcastmanager:localbroadcastmanager:1.0.0' } apply plugin: 'com.getkeepsafe.dexcount' diff --git a/app/google-services.json b/app/google-services.json deleted file mode 100644 index 75816a23d3607234060e0213cb33cd05f3f0454c..0000000000000000000000000000000000000000 --- a/app/google-services.json +++ /dev/null @@ -1,73 +0,0 @@ -{ - "project_info": { - "project_number": "191380968379", - "firebase_url": "https://bliauncher-1aee3.firebaseio.com", - "project_id": "bliauncher-1aee3", - "storage_bucket": "bliauncher-1aee3.appspot.com" - }, - "client": [ - { - "client_info": { - "mobilesdk_app_id": "1:191380968379:android:176663723927e694", - "android_client_info": { - "package_name": "foundation.e.blisslauncher" - } - }, - "oauth_client": [ - { - "client_id": "191380968379-qor00svlni9fh3gur1tsp72a39rpscpt.apps.googleusercontent.com", - "client_type": 3 - } - ], - "api_key": [ - { - "current_key": "AIzaSyCF8GkM4BXi6m640PPY6PN7EQHn3CGjyJQ" - } - ], - "services": { - "analytics_service": { - "status": 1 - }, - "appinvite_service": { - "status": 1, - "other_platform_oauth_client": [] - }, - "ads_service": { - "status": 2 - } - } - }, - { - "client_info": { - "mobilesdk_app_id": "1:191380968379:android:49f659378ae2bd2c", - "android_client_info": { - "package_name": "foundation.e.blisslauncher.debug" - } - }, - "oauth_client": [ - { - "client_id": "191380968379-qor00svlni9fh3gur1tsp72a39rpscpt.apps.googleusercontent.com", - "client_type": 3 - } - ], - "api_key": [ - { - "current_key": "AIzaSyCF8GkM4BXi6m640PPY6PN7EQHn3CGjyJQ" - } - ], - "services": { - "analytics_service": { - "status": 1 - }, - "appinvite_service": { - "status": 1, - "other_platform_oauth_client": [] - }, - "ads_service": { - "status": 2 - } - } - } - ], - "configuration_version": "1" -} \ No newline at end of file diff --git a/app/src/apiNougat/java/foundation/e/blisslauncher/features/weather/IconSelectionPreference.java b/app/src/apiNougat/java/foundation/e/blisslauncher/features/weather/IconSelectionPreference.java index cf1120accbe75e3cdc306e7fffa4bb15696ee86d..57b4e882da15b8cacc64c9557aa4bab3d5362f13 100644 --- a/app/src/apiNougat/java/foundation/e/blisslauncher/features/weather/IconSelectionPreference.java +++ b/app/src/apiNougat/java/foundation/e/blisslauncher/features/weather/IconSelectionPreference.java @@ -16,7 +16,6 @@ import android.graphics.drawable.Drawable; import android.net.Uri; import android.os.Bundle; import android.preference.DialogPreference; -import android.support.annotation.NonNull; import android.util.AttributeSet; import android.view.LayoutInflater; import android.view.View; @@ -27,6 +26,8 @@ import android.widget.GridView; import android.widget.ImageView; import android.widget.TextView; +import androidx.annotation.NonNull; + import java.util.ArrayList; import java.util.Arrays; import java.util.Locale; diff --git a/app/src/apiNougat/java/foundation/e/blisslauncher/features/weather/PermissionRequestActivity.java b/app/src/apiNougat/java/foundation/e/blisslauncher/features/weather/PermissionRequestActivity.java index 0be8d19e880276974d65e8a73dcb59c5061dccb3..9b4637a9a7e222dd4de16d7b3c9ec75e8da4fced 100644 --- a/app/src/apiNougat/java/foundation/e/blisslauncher/features/weather/PermissionRequestActivity.java +++ b/app/src/apiNougat/java/foundation/e/blisslauncher/features/weather/PermissionRequestActivity.java @@ -6,7 +6,8 @@ import android.content.pm.PackageManager; import android.os.Build; import android.os.Bundle; import android.os.ResultReceiver; -import android.support.annotation.NonNull; + +import androidx.annotation.NonNull; public class PermissionRequestActivity extends Activity { diff --git a/app/src/apiNougat/java/foundation/e/blisslauncher/features/weather/WeatherPreferences.java b/app/src/apiNougat/java/foundation/e/blisslauncher/features/weather/WeatherPreferences.java index eaab34c8c3d318cf2b1bf5b33e40b74bc89757cc..460e32a5838e70b32775a10996dfca3d5d9b9c87 100644 --- a/app/src/apiNougat/java/foundation/e/blisslauncher/features/weather/WeatherPreferences.java +++ b/app/src/apiNougat/java/foundation/e/blisslauncher/features/weather/WeatherPreferences.java @@ -16,11 +16,12 @@ import android.preference.PreferenceActivity; import android.preference.PreferenceScreen; import android.preference.SwitchPreference; import android.provider.Settings; -import android.support.annotation.NonNull; import android.text.TextUtils; import android.util.Log; import android.widget.Toast; +import androidx.annotation.NonNull; + import cyanogenmod.weather.CMWeatherManager; import foundation.e.blisslauncher.R; import foundation.e.blisslauncher.core.Preferences; diff --git a/app/src/apiNougat/java/foundation/e/blisslauncher/features/weather/WeatherUpdateService.java b/app/src/apiNougat/java/foundation/e/blisslauncher/features/weather/WeatherUpdateService.java index a6a6b7bbcf7f28141a31d821b0587381739575cf..92445be07d5ecb1f9e667fbbf64bdcb73e349352 100644 --- a/app/src/apiNougat/java/foundation/e/blisslauncher/features/weather/WeatherUpdateService.java +++ b/app/src/apiNougat/java/foundation/e/blisslauncher/features/weather/WeatherUpdateService.java @@ -22,11 +22,12 @@ import android.os.Message; import android.os.PowerManager; import android.os.PowerManager.WakeLock; import android.os.SystemClock; -import android.support.v4.content.LocalBroadcastManager; import android.text.TextUtils; import android.util.Log; import android.widget.Toast; +import androidx.localbroadcastmanager.content.LocalBroadcastManager; + import java.lang.ref.WeakReference; import java.util.Date; diff --git a/app/src/apiOreo/java/foundation/e/blisslauncher/features/weather/IconSelectionPreference.java b/app/src/apiOreo/java/foundation/e/blisslauncher/features/weather/IconSelectionPreference.java index cf1120accbe75e3cdc306e7fffa4bb15696ee86d..57b4e882da15b8cacc64c9557aa4bab3d5362f13 100644 --- a/app/src/apiOreo/java/foundation/e/blisslauncher/features/weather/IconSelectionPreference.java +++ b/app/src/apiOreo/java/foundation/e/blisslauncher/features/weather/IconSelectionPreference.java @@ -16,7 +16,6 @@ import android.graphics.drawable.Drawable; import android.net.Uri; import android.os.Bundle; import android.preference.DialogPreference; -import android.support.annotation.NonNull; import android.util.AttributeSet; import android.view.LayoutInflater; import android.view.View; @@ -27,6 +26,8 @@ import android.widget.GridView; import android.widget.ImageView; import android.widget.TextView; +import androidx.annotation.NonNull; + import java.util.ArrayList; import java.util.Arrays; import java.util.Locale; diff --git a/app/src/apiOreo/java/foundation/e/blisslauncher/features/weather/PermissionRequestActivity.java b/app/src/apiOreo/java/foundation/e/blisslauncher/features/weather/PermissionRequestActivity.java index 0be8d19e880276974d65e8a73dcb59c5061dccb3..9b4637a9a7e222dd4de16d7b3c9ec75e8da4fced 100644 --- a/app/src/apiOreo/java/foundation/e/blisslauncher/features/weather/PermissionRequestActivity.java +++ b/app/src/apiOreo/java/foundation/e/blisslauncher/features/weather/PermissionRequestActivity.java @@ -6,7 +6,8 @@ import android.content.pm.PackageManager; import android.os.Build; import android.os.Bundle; import android.os.ResultReceiver; -import android.support.annotation.NonNull; + +import androidx.annotation.NonNull; public class PermissionRequestActivity extends Activity { diff --git a/app/src/apiOreo/java/foundation/e/blisslauncher/features/weather/WeatherPreferences.java b/app/src/apiOreo/java/foundation/e/blisslauncher/features/weather/WeatherPreferences.java index 75a2192c91fab4b1efb8b307235200bf4044261b..4b11985e79acf330a98b260b375c441fb4cd23f2 100644 --- a/app/src/apiOreo/java/foundation/e/blisslauncher/features/weather/WeatherPreferences.java +++ b/app/src/apiOreo/java/foundation/e/blisslauncher/features/weather/WeatherPreferences.java @@ -16,11 +16,12 @@ import android.preference.PreferenceActivity; import android.preference.PreferenceScreen; import android.preference.SwitchPreference; import android.provider.Settings; -import android.support.annotation.NonNull; import android.text.TextUtils; import android.util.Log; import android.widget.Toast; +import androidx.annotation.NonNull; + import foundation.e.blisslauncher.R; import foundation.e.blisslauncher.core.Preferences; import foundation.e.blisslauncher.core.utils.Constants; diff --git a/app/src/apiOreo/java/foundation/e/blisslauncher/features/weather/WeatherUpdateService.java b/app/src/apiOreo/java/foundation/e/blisslauncher/features/weather/WeatherUpdateService.java index c940d0606be61fdc70ea7cb5d555a97a3391bcf9..02af6ea1a7ac6759cffbaa1d20f5e052d0007941 100644 --- a/app/src/apiOreo/java/foundation/e/blisslauncher/features/weather/WeatherUpdateService.java +++ b/app/src/apiOreo/java/foundation/e/blisslauncher/features/weather/WeatherUpdateService.java @@ -22,11 +22,12 @@ import android.os.Message; import android.os.PowerManager; import android.os.PowerManager.WakeLock; import android.os.SystemClock; -import android.support.v4.content.LocalBroadcastManager; import android.text.TextUtils; import android.util.Log; import android.widget.Toast; +import androidx.localbroadcastmanager.content.LocalBroadcastManager; + import java.lang.ref.WeakReference; import java.util.Date; diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index 4b28a9c9af7ac05eda2f977d2a21752a27648222..d0185de9553f34b85b096f7013a5b93460da606e 100755 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -9,46 +9,61 @@ android:label="@string/permlab_install_shortcut" android:permissionGroup="android.permission-group.SYSTEM_TOOLS" android:protectionLevel="dangerous" /> + + android:protectionLevel="dangerous" /> + + - + + + + + + - - + + + + - - + + @@ -56,20 +71,25 @@ + - + - + - + + android:theme="@style/AppTheme" /> + + + + + + + + + + + - + + - + + + - + + + + + + + \ No newline at end of file diff --git a/app/src/main/java/foundation/e/blisslauncher/BlissLauncher.java b/app/src/main/java/foundation/e/blisslauncher/BlissLauncher.java index 9e6af38e7c15687bc8a98c2be311204469dc7271..4270b6b8a90bd8ca121f4bf7dd4b7d406d97fc01 100755 --- a/app/src/main/java/foundation/e/blisslauncher/BlissLauncher.java +++ b/app/src/main/java/foundation/e/blisslauncher/BlissLauncher.java @@ -9,9 +9,6 @@ import foundation.e.blisslauncher.core.IconsHandler; import foundation.e.blisslauncher.core.blur.BlurWallpaperProvider; import foundation.e.blisslauncher.core.customviews.WidgetHost; import foundation.e.blisslauncher.features.launcher.AppProvider; -import io.github.inflationx.calligraphy3.CalligraphyConfig; -import io.github.inflationx.calligraphy3.CalligraphyInterceptor; -import io.github.inflationx.viewpump.ViewPump; public class BlissLauncher extends Application { private IconsHandler iconsPackHandler; @@ -25,15 +22,6 @@ public class BlissLauncher extends Application { @Override public void onCreate() { super.onCreate(); - - ViewPump.init(ViewPump.builder() - .addInterceptor(new CalligraphyInterceptor( - new CalligraphyConfig.Builder() - .setDefaultFontPath("Roboto-Regular.ttf") - .setFontAttrId(R.attr.fontPath) - .build())) - .build()); - sAppWidgetManager = AppWidgetManager.getInstance(getApplicationContext()); sAppWidgetHost = new WidgetHost(getApplicationContext(), R.id.APPWIDGET_HOST_ID); diff --git a/app/src/main/java/foundation/e/blisslauncher/core/AdaptiveIconProvider.java b/app/src/main/java/foundation/e/blisslauncher/core/AdaptiveIconProvider.java index f8bc43535c8ecf6fa9ba0e8de8855109f468634f..573887f2e6240d96018de3a00d7c1709c3b96356 100755 --- a/app/src/main/java/foundation/e/blisslauncher/core/AdaptiveIconProvider.java +++ b/app/src/main/java/foundation/e/blisslauncher/core/AdaptiveIconProvider.java @@ -6,9 +6,10 @@ import android.content.res.AssetManager; import android.content.res.Resources; import android.content.res.XmlResourceParser; import android.graphics.drawable.Drawable; -import android.support.v4.content.res.ResourcesCompat; import android.util.Log; +import androidx.core.content.res.ResourcesCompat; + import org.xmlpull.v1.XmlPullParser; import foundation.e.blisslauncher.core.customviews.AdaptiveIconDrawableCompat; diff --git a/app/src/main/java/foundation/e/blisslauncher/core/KotlinUtils.kt b/app/src/main/java/foundation/e/blisslauncher/core/KotlinUtils.kt index e45d2b68824c1cfd0143ccc6e74441211f690a44..ea369873f2c276e49bf4b29523b9c3c868e6157b 100644 --- a/app/src/main/java/foundation/e/blisslauncher/core/KotlinUtils.kt +++ b/app/src/main/java/foundation/e/blisslauncher/core/KotlinUtils.kt @@ -5,7 +5,6 @@ import android.os.Looper val mainHandler by lazy { Handler(Looper.getMainLooper()) } - fun runOnMainThread(r: () -> Unit) { runOnThread(mainHandler, r) } diff --git a/app/src/main/java/foundation/e/blisslauncher/core/blur/BlurWallpaperProvider.kt b/app/src/main/java/foundation/e/blisslauncher/core/blur/BlurWallpaperProvider.kt index 765c27f398efbba063e64d10bf02de05c1e1b766..68b5f1ccc7e5d46855911e7265998eb53274b678 100644 --- a/app/src/main/java/foundation/e/blisslauncher/core/blur/BlurWallpaperProvider.kt +++ b/app/src/main/java/foundation/e/blisslauncher/core/blur/BlurWallpaperProvider.kt @@ -9,18 +9,18 @@ import android.graphics.Canvas import android.graphics.ColorMatrix import android.graphics.ColorMatrixColorFilter import android.graphics.Paint -import android.support.v4.app.ActivityCompat import android.util.DisplayMetrics import android.util.Log import android.view.WindowManager import android.widget.Toast +import androidx.core.app.ActivityCompat import foundation.e.blisslauncher.core.Utilities import foundation.e.blisslauncher.core.runOnMainThread import foundation.e.blisslauncher.core.safeForEach import foundation.e.blisslauncher.core.utils.SingletonHolder import foundation.e.blisslauncher.core.utils.ensureOnMainThread import foundation.e.blisslauncher.core.utils.useApplicationContext -import java.util.* +import java.util.ArrayList import kotlin.math.max class BlurWallpaperProvider(val context: Context) { @@ -115,12 +115,12 @@ class BlurWallpaperProvider(val context: Context) { } wallpaper = scaleAndCropToScreenSize(wallpaper) wallpaper = applyVibrancy(wallpaper) - applyTask = wallpaperFilter.apply(wallpaper).setCallback {result, error -> - if(error == null) { + applyTask = wallpaperFilter.apply(wallpaper).setCallback { result, error -> + if (error == null) { this@BlurWallpaperProvider.wallpaper = result runOnMainThread(::notifyWallpaperChanged) wallpaper.recycle() - }else { + } else { if (error is OutOfMemoryError) { runOnMainThread { Toast.makeText(context, "Failed", Toast.LENGTH_LONG).show() @@ -137,7 +137,6 @@ class BlurWallpaperProvider(val context: Context) { } } - private fun notifyWallpaperChanged() { listeners.forEach(Listener::onWallpaperChanged) } diff --git a/app/src/main/java/foundation/e/blisslauncher/core/blur/ShaderBlurDrawable.kt b/app/src/main/java/foundation/e/blisslauncher/core/blur/ShaderBlurDrawable.kt index e74a2792536bc877b2cb66975b6f30543b1af8d8..2578758dfd24c0536ee15261dba21208794ab95e 100644 --- a/app/src/main/java/foundation/e/blisslauncher/core/blur/ShaderBlurDrawable.kt +++ b/app/src/main/java/foundation/e/blisslauncher/core/blur/ShaderBlurDrawable.kt @@ -40,14 +40,13 @@ class ShaderBlurDrawable internal constructor(private val blurWallpaperProvider: var noRadius = true - override fun draw(canvas: Canvas) = draw(canvas, noRadius) fun draw(canvas: Canvas, noRadius: Boolean = false) { if (blurAlpha == 0) return blurBitmap = blurWallpaperProvider.wallpaper - if(blurBitmap == null) { + if (blurBitmap == null) { blurBitmap = blurWallpaperProvider.placeholder } blurBitmap = diff --git a/app/src/main/java/foundation/e/blisslauncher/core/customviews/AdaptiveIconDrawableCompat.java b/app/src/main/java/foundation/e/blisslauncher/core/customviews/AdaptiveIconDrawableCompat.java index 95601914a2c068d0e93dbbaad183c1cbfb059c2f..f3f6603c7cf42d950391874f9080042a2c819f53 100755 --- a/app/src/main/java/foundation/e/blisslauncher/core/customviews/AdaptiveIconDrawableCompat.java +++ b/app/src/main/java/foundation/e/blisslauncher/core/customviews/AdaptiveIconDrawableCompat.java @@ -21,12 +21,13 @@ import android.graphics.Region; import android.graphics.Shader; import android.graphics.Shader.TileMode; import android.graphics.drawable.Drawable; -import android.support.annotation.NonNull; -import android.support.annotation.Nullable; import android.util.AttributeSet; import android.util.DisplayMetrics; import android.util.TypedValue; +import androidx.annotation.NonNull; +import androidx.annotation.Nullable; + import org.xmlpull.v1.XmlPullParser; import org.xmlpull.v1.XmlPullParserException; diff --git a/app/src/main/java/foundation/e/blisslauncher/core/customviews/AppWidgetResizeFrame.java b/app/src/main/java/foundation/e/blisslauncher/core/customviews/AppWidgetResizeFrame.java index f4cfb39baa1e1fe6e55702a2e9cd8ee22697e2a6..7f34e229e027986cc72538a284feb4d23e0a63b2 100644 --- a/app/src/main/java/foundation/e/blisslauncher/core/customviews/AppWidgetResizeFrame.java +++ b/app/src/main/java/foundation/e/blisslauncher/core/customviews/AppWidgetResizeFrame.java @@ -4,10 +4,11 @@ import android.appwidget.AppWidgetHostView; import android.appwidget.AppWidgetProviderInfo; import android.content.Context; import android.graphics.Rect; -import android.support.annotation.NonNull; import android.widget.FrameLayout; import android.widget.ImageView; +import androidx.annotation.NonNull; + import foundation.e.blisslauncher.R; public class AppWidgetResizeFrame extends FrameLayout { diff --git a/app/src/main/java/foundation/e/blisslauncher/core/customviews/BlissInput.java b/app/src/main/java/foundation/e/blisslauncher/core/customviews/BlissInput.java index fe7368df99ff6b3d7c2f7713e194afe5f4590cde..659c9e593ae74ac2ce3009e8f663b29ad3fbe36c 100755 --- a/app/src/main/java/foundation/e/blisslauncher/core/customviews/BlissInput.java +++ b/app/src/main/java/foundation/e/blisslauncher/core/customviews/BlissInput.java @@ -4,7 +4,9 @@ import android.content.Context; import android.util.AttributeSet; import android.view.DragEvent; -public class BlissInput extends android.support.v7.widget.AppCompatEditText { +import androidx.appcompat.widget.AppCompatEditText; + +public class BlissInput extends AppCompatEditText { public BlissInput(Context context) { super(context); } diff --git a/app/src/main/java/foundation/e/blisslauncher/core/customviews/CustomAnalogClock.java b/app/src/main/java/foundation/e/blisslauncher/core/customviews/CustomAnalogClock.java index 21baa13ebdf9197d7191cfe2a516ef0861067db1..1cb819d9d5fb5b9f84fedbcc84bcfe5e27dfea4f 100755 --- a/app/src/main/java/foundation/e/blisslauncher/core/customviews/CustomAnalogClock.java +++ b/app/src/main/java/foundation/e/blisslauncher/core/customviews/CustomAnalogClock.java @@ -5,10 +5,11 @@ import android.content.res.Resources; import android.graphics.Canvas; import android.graphics.drawable.Drawable; import android.os.Handler; -import android.support.v4.content.ContextCompat; import android.util.AttributeSet; import android.view.View; +import androidx.core.content.ContextCompat; + import java.util.Calendar; import foundation.e.blisslauncher.BlissLauncher; diff --git a/app/src/main/java/foundation/e/blisslauncher/core/customviews/DockGridLayout.java b/app/src/main/java/foundation/e/blisslauncher/core/customviews/DockGridLayout.java deleted file mode 100755 index 126079e484c7e274e09b0592e7127dba2a904375..0000000000000000000000000000000000000000 --- a/app/src/main/java/foundation/e/blisslauncher/core/customviews/DockGridLayout.java +++ /dev/null @@ -1,120 +0,0 @@ -package foundation.e.blisslauncher.core.customviews; - -import android.content.Context; -import android.graphics.Canvas; -import android.graphics.drawable.Drawable; -import android.support.annotation.NonNull; -import android.util.AttributeSet; -import android.view.WindowInsets; -import android.widget.GridLayout; - -import foundation.e.blisslauncher.BlissLauncher; -import foundation.e.blisslauncher.core.DeviceProfile; -import foundation.e.blisslauncher.core.KotlinUtilsKt; -import foundation.e.blisslauncher.core.blur.BlurWallpaperProvider; -import foundation.e.blisslauncher.core.blur.ShaderBlurDrawable; - -public class DockGridLayout extends GridLayout implements Insettable, BlurWallpaperProvider.Listener { - - private Context mContext; - - private final BlurWallpaperProvider blurWallpaperProvider; - private ShaderBlurDrawable fullBlurDrawable = null; - private int blurAlpha = 255; - - private final Drawable.Callback blurDrawableCallback = new Drawable.Callback() { - @Override - public void invalidateDrawable(@NonNull Drawable who) { - KotlinUtilsKt.runOnMainThread(() -> { - invalidate(); - return null; - }); - } - - @Override - public void scheduleDrawable(@NonNull Drawable who, @NonNull Runnable what, long when) { - - } - - @Override - public void unscheduleDrawable(@NonNull Drawable who, @NonNull Runnable what) { - - } - }; - - public DockGridLayout(Context context) { - this(context, null); - } - - public DockGridLayout(Context context, AttributeSet attrs) { - this(context, attrs, 0); - } - - public DockGridLayout(Context context, AttributeSet attrs, int defStyleAttr) { - super(context, attrs, defStyleAttr); - this.mContext = context; - setWillNotDraw(false); - blurWallpaperProvider = BlurWallpaperProvider.Companion.getInstance(context); - createBlurDrawable(); - } - - @Override - protected void onAttachedToWindow() { - super.onAttachedToWindow(); - - BlurWallpaperProvider.Companion.getInstance(mContext).addListener(this); - fullBlurDrawable.startListening(); - } - - @Override - protected void onDetachedFromWindow() { - super.onDetachedFromWindow(); - - BlurWallpaperProvider.Companion.getInstance(mContext).removeListener(this); - fullBlurDrawable.stopListening(); - } - - @Override - protected void onDraw(Canvas canvas) { - fullBlurDrawable.setAlpha(blurAlpha); - fullBlurDrawable.draw(canvas); - super.onDraw(canvas); - } - - @Override - protected void onLayout(boolean changed, int left, int top, int right, int bottom) { - super.onLayout(changed, left, top, right, bottom); - if (changed) { - fullBlurDrawable.setBounds(left, top, right, bottom); - } - } - - @Override - public void setInsets(WindowInsets insets) { - DeviceProfile deviceProfile = BlissLauncher.getApplication(mContext).getDeviceProfile(); - InsettableRelativeLayout.LayoutParams lp = (InsettableRelativeLayout.LayoutParams) getLayoutParams(); - lp.height = deviceProfile.hotseatCellHeightPx + insets.getSystemWindowInsetBottom(); - setPadding(deviceProfile.iconDrawablePaddingPx / 2, 0, - deviceProfile.iconDrawablePaddingPx / 2, insets.getSystemWindowInsetBottom()); - setLayoutParams(lp); - } - - private void createBlurDrawable() { - if (isAttachedToWindow()) { - fullBlurDrawable.stopListening(); - } - fullBlurDrawable = blurWallpaperProvider.createDrawable(); - fullBlurDrawable.setCallback(blurDrawableCallback); - fullBlurDrawable.setBounds(getLeft(), getTop(), getRight(), getBottom()); - if (isAttachedToWindow()) fullBlurDrawable.startListening(); - } - - @Override - public void onEnabledChanged() { - createBlurDrawable(); - } - - @Override - public void onWallpaperChanged() { - } -} \ No newline at end of file diff --git a/app/src/main/java/foundation/e/blisslauncher/core/customviews/DockGridLayout.kt b/app/src/main/java/foundation/e/blisslauncher/core/customviews/DockGridLayout.kt new file mode 100755 index 0000000000000000000000000000000000000000..35d42e2109643960c8106593770d4e0d3640cc49 --- /dev/null +++ b/app/src/main/java/foundation/e/blisslauncher/core/customviews/DockGridLayout.kt @@ -0,0 +1,109 @@ +package foundation.e.blisslauncher.core.customviews + +import android.content.Context +import android.graphics.Canvas +import android.graphics.drawable.Drawable +import android.util.AttributeSet +import android.view.WindowInsets +import android.widget.GridLayout +import foundation.e.blisslauncher.BlissLauncher +import foundation.e.blisslauncher.core.blur.BlurWallpaperProvider +import foundation.e.blisslauncher.core.blur.ShaderBlurDrawable +import foundation.e.blisslauncher.core.runOnMainThread + +class DockGridLayout @JvmOverloads constructor( + private val mContext: Context, + attrs: AttributeSet? = null, + defStyleAttr: Int = 0 +) : GridLayout(mContext, attrs, defStyleAttr), Insettable, + BlurWallpaperProvider.Listener { + private val blurWallpaperProvider: BlurWallpaperProvider + private var fullBlurDrawable: ShaderBlurDrawable? = null + private val blurAlpha = 255 + private val blurDrawableCallback: Drawable.Callback = object : Drawable.Callback { + override fun invalidateDrawable(who: Drawable) { + runOnMainThread { + invalidate() + null + } + } + + override fun scheduleDrawable( + who: Drawable, + what: Runnable, + `when`: Long + ) { + } + + override fun unscheduleDrawable( + who: Drawable, + what: Runnable + ) { + } + } + + override fun onAttachedToWindow() { + super.onAttachedToWindow() + BlurWallpaperProvider.getInstance(mContext).addListener(this) + fullBlurDrawable!!.startListening() + } + + override fun onDetachedFromWindow() { + super.onDetachedFromWindow() + BlurWallpaperProvider.getInstance(mContext).removeListener(this) + fullBlurDrawable!!.stopListening() + } + + override fun onDraw(canvas: Canvas) { + fullBlurDrawable!!.alpha = blurAlpha + fullBlurDrawable!!.draw(canvas) + super.onDraw(canvas) + } + + override fun onLayout( + changed: Boolean, + left: Int, + top: Int, + right: Int, + bottom: Int + ) { + super.onLayout(changed, left, top, right, bottom) + if (changed) { + fullBlurDrawable!!.setBounds(left, top, right, bottom) + } + } + + override fun setInsets(insets: WindowInsets) { + val deviceProfile = BlissLauncher.getApplication(mContext).deviceProfile + val lp = + layoutParams as InsettableRelativeLayout.LayoutParams + lp.height = deviceProfile.hotseatCellHeightPx + insets.systemWindowInsetBottom + setPadding( + deviceProfile.iconDrawablePaddingPx / 2, 0, + deviceProfile.iconDrawablePaddingPx / 2, insets.systemWindowInsetBottom + ) + layoutParams = lp + } + + private fun createBlurDrawable() { + if (isAttachedToWindow) { + fullBlurDrawable!!.stopListening() + } + fullBlurDrawable = blurWallpaperProvider.createDrawable() + fullBlurDrawable!!.callback = blurDrawableCallback + fullBlurDrawable!!.setBounds(left, top, right, bottom) + if (isAttachedToWindow) fullBlurDrawable!!.startListening() + } + + override fun onEnabledChanged() { + createBlurDrawable() + } + + override fun onWallpaperChanged() {} + + init { + setWillNotDraw(false) + blurWallpaperProvider = BlurWallpaperProvider.getInstance(mContext) + createBlurDrawable() + } +} \ No newline at end of file diff --git a/app/src/main/java/foundation/e/blisslauncher/core/customviews/HorizontalPager.java b/app/src/main/java/foundation/e/blisslauncher/core/customviews/HorizontalPager.java index e6f800ecfe2db46b26263bf443b6930f9a11d35f..e475ead2d51615fea51d630981047e487430f3a5 100755 --- a/app/src/main/java/foundation/e/blisslauncher/core/customviews/HorizontalPager.java +++ b/app/src/main/java/foundation/e/blisslauncher/core/customviews/HorizontalPager.java @@ -7,7 +7,6 @@ import android.graphics.Canvas; import android.graphics.Rect; import android.os.Parcel; import android.os.Parcelable; -import android.support.v4.view.GestureDetectorCompat; import android.util.AttributeSet; import android.util.Log; import android.view.MotionEvent; @@ -19,6 +18,8 @@ import android.view.ViewParent; import android.view.WindowInsets; import android.widget.Scroller; +import androidx.core.view.GestureDetectorCompat; + import java.util.ArrayList; import java.util.HashSet; import java.util.Set; diff --git a/app/src/main/java/foundation/e/blisslauncher/core/customviews/InsettableScrollLayout.java b/app/src/main/java/foundation/e/blisslauncher/core/customviews/InsettableScrollLayout.java index 438e4b29c9027a5a6fd99321a553e6023896f545..b052001cd3c12c8f75fff0ca5892177481f4af8f 100644 --- a/app/src/main/java/foundation/e/blisslauncher/core/customviews/InsettableScrollLayout.java +++ b/app/src/main/java/foundation/e/blisslauncher/core/customviews/InsettableScrollLayout.java @@ -1,12 +1,13 @@ package foundation.e.blisslauncher.core.customviews; import android.content.Context; -import android.support.annotation.NonNull; -import android.support.annotation.Nullable; import android.util.AttributeSet; import android.view.WindowInsets; import android.widget.ScrollView; +import androidx.annotation.NonNull; +import androidx.annotation.Nullable; + public class InsettableScrollLayout extends ScrollView implements Insettable { public InsettableScrollLayout(@NonNull Context context) { diff --git a/app/src/main/java/foundation/e/blisslauncher/core/customviews/PageIndicatorLinearLayout.java b/app/src/main/java/foundation/e/blisslauncher/core/customviews/PageIndicatorLinearLayout.java index 72f7baaf82810ea3afa893f0ddc2ef675d7c4101..25514bcb9348c7a33aee3f7fb4067c075472b0f1 100755 --- a/app/src/main/java/foundation/e/blisslauncher/core/customviews/PageIndicatorLinearLayout.java +++ b/app/src/main/java/foundation/e/blisslauncher/core/customviews/PageIndicatorLinearLayout.java @@ -1,10 +1,11 @@ package foundation.e.blisslauncher.core.customviews; import android.content.Context; -import android.support.annotation.Nullable; import android.util.AttributeSet; import android.widget.LinearLayout; +import androidx.annotation.Nullable; + import foundation.e.blisslauncher.BlissLauncher; import foundation.e.blisslauncher.core.DeviceProfile; diff --git a/app/src/main/java/foundation/e/blisslauncher/core/customviews/RoundedWidgetView.java b/app/src/main/java/foundation/e/blisslauncher/core/customviews/RoundedWidgetView.java index dcb15a6c10bb5fa72affe833e6e54ada56dc18be..101be1547f41d321ba33ab3e55ef9a9392586976 100644 --- a/app/src/main/java/foundation/e/blisslauncher/core/customviews/RoundedWidgetView.java +++ b/app/src/main/java/foundation/e/blisslauncher/core/customviews/RoundedWidgetView.java @@ -5,7 +5,6 @@ import android.content.Context; import android.graphics.Canvas; import android.graphics.Path; import android.graphics.Rect; -import android.support.annotation.Nullable; import android.util.Log; import android.view.MotionEvent; import android.view.View; @@ -13,6 +12,8 @@ import android.view.ViewGroup; import android.widget.FrameLayout; import android.widget.ImageView; +import androidx.annotation.Nullable; + import foundation.e.blisslauncher.R; import foundation.e.blisslauncher.features.widgets.CheckLongPressHelper; diff --git a/app/src/main/java/foundation/e/blisslauncher/core/customviews/SquareFrameLayout.java b/app/src/main/java/foundation/e/blisslauncher/core/customviews/SquareFrameLayout.java index 6d6ac74198d6275a8013f0824aaed6ccd200749f..67e4b0c262805ecafdc0f3be37bf21f38049cfe3 100755 --- a/app/src/main/java/foundation/e/blisslauncher/core/customviews/SquareFrameLayout.java +++ b/app/src/main/java/foundation/e/blisslauncher/core/customviews/SquareFrameLayout.java @@ -1,11 +1,12 @@ package foundation.e.blisslauncher.core.customviews; import android.content.Context; -import android.support.annotation.NonNull; -import android.support.annotation.Nullable; import android.util.AttributeSet; import android.widget.FrameLayout; +import androidx.annotation.NonNull; +import androidx.annotation.Nullable; + /** * Created by falcon on 9/3/18. */ diff --git a/app/src/main/java/foundation/e/blisslauncher/core/customviews/SquareImageView.java b/app/src/main/java/foundation/e/blisslauncher/core/customviews/SquareImageView.java index a13a834178b5f8fcae38fbad9eb90d72d38adaac..ce90e78fbcb879ab16e06dd74f0b2267e818a0d1 100755 --- a/app/src/main/java/foundation/e/blisslauncher/core/customviews/SquareImageView.java +++ b/app/src/main/java/foundation/e/blisslauncher/core/customviews/SquareImageView.java @@ -3,11 +3,13 @@ package foundation.e.blisslauncher.core.customviews; import android.content.Context; import android.util.AttributeSet; +import androidx.appcompat.widget.AppCompatImageView; + /** * Created by falcon on 16/2/18. */ -public class SquareImageView extends android.support.v7.widget.AppCompatImageView { +public class SquareImageView extends AppCompatImageView { public SquareImageView(Context context) { this(context, null); diff --git a/app/src/main/java/foundation/e/blisslauncher/core/database/LauncherDB.java b/app/src/main/java/foundation/e/blisslauncher/core/database/LauncherDB.java index 8201de4cfa5000d8c56ce48f3a2228f54e336ed9..477e022ca28d44ef933fba4bac41e7178b1c86d6 100644 --- a/app/src/main/java/foundation/e/blisslauncher/core/database/LauncherDB.java +++ b/app/src/main/java/foundation/e/blisslauncher/core/database/LauncherDB.java @@ -1,13 +1,15 @@ package foundation.e.blisslauncher.core.database; -import android.arch.persistence.db.SupportSQLiteDatabase; -import android.arch.persistence.room.Database; -import android.arch.persistence.room.Room; -import android.arch.persistence.room.RoomDatabase; -import android.arch.persistence.room.TypeConverters; -import android.arch.persistence.room.migration.Migration; + import android.content.Context; -import android.support.annotation.NonNull; + +import androidx.annotation.NonNull; +import androidx.room.Database; +import androidx.room.Room; +import androidx.room.RoomDatabase; +import androidx.room.TypeConverters; +import androidx.room.migration.Migration; +import androidx.sqlite.db.SupportSQLiteDatabase; import foundation.e.blisslauncher.core.database.converters.CharSequenceConverter; import foundation.e.blisslauncher.core.database.daos.LauncherDao; diff --git a/app/src/main/java/foundation/e/blisslauncher/core/database/converters/CharSequenceConverter.java b/app/src/main/java/foundation/e/blisslauncher/core/database/converters/CharSequenceConverter.java index 7deffa335a032ee53ba8f6881a7f39a85c030d8d..6ab349367f9d41a3d46108b7cef41061fa360b94 100644 --- a/app/src/main/java/foundation/e/blisslauncher/core/database/converters/CharSequenceConverter.java +++ b/app/src/main/java/foundation/e/blisslauncher/core/database/converters/CharSequenceConverter.java @@ -1,6 +1,6 @@ package foundation.e.blisslauncher.core.database.converters; -import android.arch.persistence.room.TypeConverter; +import androidx.room.TypeConverter; public class CharSequenceConverter { @@ -10,7 +10,7 @@ public class CharSequenceConverter { } @TypeConverter - public static CharSequence toCharSequence(String value){ + public static CharSequence toCharSequence(String value) { return value; } } diff --git a/app/src/main/java/foundation/e/blisslauncher/core/database/daos/LauncherDao.java b/app/src/main/java/foundation/e/blisslauncher/core/database/daos/LauncherDao.java index dbc42ae2921ae060995616b7123d452f37b878ce..68a3ea571465429f411588a0e2a9308ad73f93e7 100644 --- a/app/src/main/java/foundation/e/blisslauncher/core/database/daos/LauncherDao.java +++ b/app/src/main/java/foundation/e/blisslauncher/core/database/daos/LauncherDao.java @@ -1,9 +1,10 @@ package foundation.e.blisslauncher.core.database.daos; -import android.arch.persistence.room.Dao; -import android.arch.persistence.room.Insert; -import android.arch.persistence.room.OnConflictStrategy; -import android.arch.persistence.room.Query; + +import androidx.room.Dao; +import androidx.room.Insert; +import androidx.room.OnConflictStrategy; +import androidx.room.Query; import java.util.List; diff --git a/app/src/main/java/foundation/e/blisslauncher/core/database/daos/WidgetDao.java b/app/src/main/java/foundation/e/blisslauncher/core/database/daos/WidgetDao.java index 171267fffa5d19a64880fcaf9d0e396e61b1e7fe..e23172c2e47e09d0544da1d0c76999f3a7d68dbe 100644 --- a/app/src/main/java/foundation/e/blisslauncher/core/database/daos/WidgetDao.java +++ b/app/src/main/java/foundation/e/blisslauncher/core/database/daos/WidgetDao.java @@ -1,9 +1,9 @@ package foundation.e.blisslauncher.core.database.daos; -import android.arch.persistence.room.Dao; -import android.arch.persistence.room.Insert; -import android.arch.persistence.room.OnConflictStrategy; -import android.arch.persistence.room.Query; +import androidx.room.Dao; +import androidx.room.Insert; +import androidx.room.OnConflictStrategy; +import androidx.room.Query; import java.util.List; diff --git a/app/src/main/java/foundation/e/blisslauncher/core/database/model/LauncherItem.java b/app/src/main/java/foundation/e/blisslauncher/core/database/model/LauncherItem.java index 6c0ad6159d77ab937ba91944537b2eeb8c98c0ff..15860ca805d8ae3a9bb98f2d47fa9cda0652cf68 100644 --- a/app/src/main/java/foundation/e/blisslauncher/core/database/model/LauncherItem.java +++ b/app/src/main/java/foundation/e/blisslauncher/core/database/model/LauncherItem.java @@ -1,14 +1,15 @@ package foundation.e.blisslauncher.core.database.model; -import android.arch.persistence.room.ColumnInfo; -import android.arch.persistence.room.Entity; -import android.arch.persistence.room.Ignore; -import android.arch.persistence.room.Index; -import android.arch.persistence.room.PrimaryKey; import android.content.ComponentName; import android.content.Intent; import android.graphics.drawable.Drawable; -import android.support.annotation.NonNull; + +import androidx.annotation.NonNull; +import androidx.room.ColumnInfo; +import androidx.room.Entity; +import androidx.room.Ignore; +import androidx.room.Index; +import androidx.room.PrimaryKey; import java.net.URISyntaxException; diff --git a/app/src/main/java/foundation/e/blisslauncher/core/database/model/WidgetItem.java b/app/src/main/java/foundation/e/blisslauncher/core/database/model/WidgetItem.java index dbea107dec9944417c194f4a77da57973a879826..28de71e054c76f08a3147360554bad7f50e00bfb 100644 --- a/app/src/main/java/foundation/e/blisslauncher/core/database/model/WidgetItem.java +++ b/app/src/main/java/foundation/e/blisslauncher/core/database/model/WidgetItem.java @@ -1,7 +1,8 @@ package foundation.e.blisslauncher.core.database.model; -import android.arch.persistence.room.Entity; -import android.arch.persistence.room.PrimaryKey; + +import androidx.room.Entity; +import androidx.room.PrimaryKey; @Entity(tableName = "widget_items") public class WidgetItem { diff --git a/app/src/main/java/foundation/e/blisslauncher/core/dragndrop/DragSource.kt b/app/src/main/java/foundation/e/blisslauncher/core/dragndrop/DragSource.kt index 4bed240f3941ed666f521d31d5e4f9ae739c29ce..ce6a6feaa7d42dc20c717016d5320acd375bf1f6 100644 --- a/app/src/main/java/foundation/e/blisslauncher/core/dragndrop/DragSource.kt +++ b/app/src/main/java/foundation/e/blisslauncher/core/dragndrop/DragSource.kt @@ -1,2 +1 @@ package foundation.e.blisslauncher.core.dragndrop - diff --git a/app/src/main/java/foundation/e/blisslauncher/core/dragndrop/DropTarget.kt b/app/src/main/java/foundation/e/blisslauncher/core/dragndrop/DropTarget.kt index 4bed240f3941ed666f521d31d5e4f9ae739c29ce..ce6a6feaa7d42dc20c717016d5320acd375bf1f6 100644 --- a/app/src/main/java/foundation/e/blisslauncher/core/dragndrop/DropTarget.kt +++ b/app/src/main/java/foundation/e/blisslauncher/core/dragndrop/DropTarget.kt @@ -1,2 +1 @@ package foundation.e.blisslauncher.core.dragndrop - diff --git a/app/src/main/java/foundation/e/blisslauncher/core/executors/MainThreadExecutor.java b/app/src/main/java/foundation/e/blisslauncher/core/executors/MainThreadExecutor.java index 367db09fb02ce557b50b68bc88a760fb47a77a07..1088b1c02d725227458563cee90d926b7f171cdd 100644 --- a/app/src/main/java/foundation/e/blisslauncher/core/executors/MainThreadExecutor.java +++ b/app/src/main/java/foundation/e/blisslauncher/core/executors/MainThreadExecutor.java @@ -2,7 +2,8 @@ package foundation.e.blisslauncher.core.executors; import android.os.Handler; import android.os.Looper; -import android.support.annotation.NonNull; + +import androidx.annotation.NonNull; import java.util.List; import java.util.concurrent.AbstractExecutorService; diff --git a/app/src/main/java/foundation/e/blisslauncher/core/utils/AppUtils.java b/app/src/main/java/foundation/e/blisslauncher/core/utils/AppUtils.java index c7e410846e7f4f904751cdcb15e8804f064b7036..a8b2808c9dd8cd14088ecfef2b2a9541f00c3a6b 100755 --- a/app/src/main/java/foundation/e/blisslauncher/core/utils/AppUtils.java +++ b/app/src/main/java/foundation/e/blisslauncher/core/utils/AppUtils.java @@ -25,9 +25,10 @@ import android.content.pm.LauncherApps; import android.content.pm.PackageManager; import android.content.pm.ResolveInfo; import android.os.UserManager; -import android.support.annotation.Nullable; import android.util.Log; +import androidx.annotation.Nullable; + import java.util.LinkedHashMap; import java.util.List; import java.util.Map; diff --git a/app/src/main/java/foundation/e/blisslauncher/core/utils/LongArrayMap.java b/app/src/main/java/foundation/e/blisslauncher/core/utils/LongArrayMap.java index 63e623369b96b9012b2668fde2a596b52617a406..415f07892f73b09ef4ebbb755e6fb1087cb6c259 100755 --- a/app/src/main/java/foundation/e/blisslauncher/core/utils/LongArrayMap.java +++ b/app/src/main/java/foundation/e/blisslauncher/core/utils/LongArrayMap.java @@ -15,9 +15,10 @@ */ package foundation.e.blisslauncher.core.utils; -import android.support.annotation.NonNull; import android.util.LongSparseArray; +import androidx.annotation.NonNull; + import java.util.Iterator; /** diff --git a/app/src/main/java/foundation/e/blisslauncher/core/utils/SingletonHolder.kt b/app/src/main/java/foundation/e/blisslauncher/core/utils/SingletonHolder.kt index 7a9b470ab958b1997e25e6a3023453a048388749..7e58554df7dc5e03e016c7f1dd0b0ba383a50607 100644 --- a/app/src/main/java/foundation/e/blisslauncher/core/utils/SingletonHolder.kt +++ b/app/src/main/java/foundation/e/blisslauncher/core/utils/SingletonHolder.kt @@ -33,8 +33,7 @@ open class SingletonHolder(creator: (A) -> T) { protected fun dangerousGetInstance() = instance } - -fun ensureOnMainThread(creator: (A) -> T): (A) -> T { +fun ensureOnMainThread(creator: (A) -> T): (A) -> T { return { it -> if (Looper.myLooper() == Looper.getMainLooper()) { creator(it) @@ -46,10 +45,9 @@ fun ensureOnMainThread(creator: (A) -> T): (A) -> T { } catch (e: ExecutionException) { throw RuntimeException(e) } - } } } -fun useApplicationContext(creator: (Context) -> T): (Context) -> T { +fun useApplicationContext(creator: (Context) -> T): (Context) -> T { return { it -> creator(it.applicationContext) } } \ No newline at end of file diff --git a/app/src/main/java/foundation/e/blisslauncher/features/launcher/AppProvider.java b/app/src/main/java/foundation/e/blisslauncher/features/launcher/AppProvider.java index fe221fcab4628c7a6dda0201d2e680856a205236..71f1ee4c5fc2de46e25d45119efb6241e2b83162 100644 --- a/app/src/main/java/foundation/e/blisslauncher/features/launcher/AppProvider.java +++ b/app/src/main/java/foundation/e/blisslauncher/features/launcher/AppProvider.java @@ -80,6 +80,7 @@ public class AppProvider { private static final String MICROG_PACKAGE = "com.google.android.gms"; private static final String MUPDF_PACKAGE = "com.artifex.mupdf.mini.app"; + private static final String PDF_VIEWER_PACKAGE = "com.gsnathan.pdfviewer"; private static final String OPENKEYCHAIN_PACKAGE = "org.sufficientlysecure.keychain"; private static final String LIBREOFFICE_PACKAGE = "org.documentfoundation.libreoffice"; @@ -90,6 +91,7 @@ public class AppProvider { static { DISABLED_PACKAGES.add(MICROG_PACKAGE); DISABLED_PACKAGES.add(MUPDF_PACKAGE); + DISABLED_PACKAGES.add(PDF_VIEWER_PACKAGE); DISABLED_PACKAGES.add(OPENKEYCHAIN_PACKAGE); DISABLED_PACKAGES.add(LIBREOFFICE_PACKAGE); } @@ -162,11 +164,12 @@ public class AppProvider { public void onPackagesAvailable(String[] packageNames, android.os.UserHandle user, boolean replacing) { Log.d(TAG, "onPackagesAvailable() called with: packageNames = [" + packageNames + "], user = [" + user + "], replacing = [" + replacing + "]"); - PackageAddedRemovedHandler.handleEvent(mContext, - "android.intent.action.MEDIA_MOUNTED", - null, new UserHandle(manager.getSerialNumberForUser(user), user), false - ); - + for (String packageName : packageNames) { + PackageAddedRemovedHandler.handleEvent(mContext, + "android.intent.action.MEDIA_MOUNTED", + packageName, new UserHandle(manager.getSerialNumberForUser(user), user), false + ); + } } @Override @@ -298,9 +301,10 @@ public class AppProvider { ApplicationItem applicationItem = mApplicationItems.get(databaseItem.id); if (applicationItem == null) { UserHandle userHandle = new UserHandle(); - if (isAppOnSdcard(databaseItem.packageName, userHandle) || !isSdCardReady) { + if ((isAppOnSdcard(databaseItem.packageName, userHandle) || !isSdCardReady + ) && !DISABLED_PACKAGES.contains(databaseItem.packageName)) { Log.d(TAG, "Missing package: " + databaseItem.packageName); - Log.d(TAG, "Is App on Sdcard " + isAppOnSdcard(databaseItem.packageName, databaseItem.user)); + Log.d(TAG, "Is App on Sdcard " + isAppOnSdcard(databaseItem.packageName, userHandle)); Log.d(TAG, "Is Sdcard ready " + isSdCardReady); pendingPackages.addToList(userHandle, databaseItem.packageName); diff --git a/app/src/main/java/foundation/e/blisslauncher/features/launcher/LauncherActivity.java b/app/src/main/java/foundation/e/blisslauncher/features/launcher/LauncherActivity.java index 2e90a097a3e4e284b82cc15f4c5ebf64f8381f54..cfe9cd778a42c1efddfccfc159b9ffa15e2e9cad 100755 --- a/app/src/main/java/foundation/e/blisslauncher/features/launcher/LauncherActivity.java +++ b/app/src/main/java/foundation/e/blisslauncher/features/launcher/LauncherActivity.java @@ -38,15 +38,6 @@ import android.os.Process; import android.os.StrictMode; import android.os.UserManager; import android.provider.Settings; -import android.support.annotation.NonNull; -import android.support.v4.app.ActivityCompat; -import android.support.v4.content.LocalBroadcastManager; -import android.support.v4.view.PagerAdapter; -import android.support.v4.view.ViewPager; -import android.support.v7.app.AppCompatActivity; -import android.support.v7.widget.DividerItemDecoration; -import android.support.v7.widget.LinearLayoutManager; -import android.support.v7.widget.RecyclerView; import android.text.Editable; import android.text.TextWatcher; import android.util.Log; @@ -70,7 +61,17 @@ import android.widget.SeekBar; import android.widget.TextView; import android.widget.Toast; -import com.jakewharton.rxbinding2.widget.RxTextView; +import androidx.annotation.NonNull; +import androidx.appcompat.app.AppCompatActivity; +import androidx.core.app.ActivityCompat; +import androidx.localbroadcastmanager.content.LocalBroadcastManager; +import androidx.recyclerview.widget.DividerItemDecoration; +import androidx.recyclerview.widget.LinearLayoutManager; +import androidx.recyclerview.widget.RecyclerView; +import androidx.viewpager.widget.PagerAdapter; +import androidx.viewpager.widget.ViewPager; + +import com.jakewharton.rxbinding3.widget.RxTextView; import java.util.ArrayList; import java.util.Arrays; @@ -139,7 +140,6 @@ import foundation.e.blisslauncher.features.weather.WeatherUtils; import foundation.e.blisslauncher.features.widgets.WidgetManager; import foundation.e.blisslauncher.features.widgets.WidgetViewBuilder; import foundation.e.blisslauncher.features.widgets.WidgetsActivity; -import io.github.inflationx.viewpump.ViewPumpContextWrapper; import io.reactivex.Observable; import io.reactivex.ObservableSource; import io.reactivex.android.schedulers.AndroidSchedulers; @@ -383,10 +383,6 @@ public class LauncherActivity extends AppCompatActivity implements managedProfileReceiver = ManagedProfileBroadcastReceiver.register(this); } - protected void attachBaseContext(Context context) { - super.attachBaseContext(ViewPumpContextWrapper.wrap(context)); - } - public CompositeDisposable getCompositeDisposable() { if (mCompositeDisposable == null || mCompositeDisposable.isDisposed()) { mCompositeDisposable = new CompositeDisposable(); @@ -3402,4 +3398,4 @@ public class LauncherActivity extends AppCompatActivity implements } } -} +} \ No newline at end of file diff --git a/app/src/main/java/foundation/e/blisslauncher/features/launcher/SearchInputDisposableObserver.java b/app/src/main/java/foundation/e/blisslauncher/features/launcher/SearchInputDisposableObserver.java index b3a0249def15b316872c6e8708f744672be18e2b..0da9bf53dd1d3d27a9a3e95ae5cb1edb01af2c42 100644 --- a/app/src/main/java/foundation/e/blisslauncher/features/launcher/SearchInputDisposableObserver.java +++ b/app/src/main/java/foundation/e/blisslauncher/features/launcher/SearchInputDisposableObserver.java @@ -1,9 +1,10 @@ package foundation.e.blisslauncher.features.launcher; -import android.support.v7.widget.RecyclerView; import android.view.View; import android.view.ViewGroup; +import androidx.recyclerview.widget.RecyclerView; + import java.util.ArrayList; import foundation.e.blisslauncher.R; diff --git a/app/src/main/java/foundation/e/blisslauncher/features/shortcuts/AddItemActivity.java b/app/src/main/java/foundation/e/blisslauncher/features/shortcuts/AddItemActivity.java index 4ce1da14addbc460ee063bca65f20d55ed1dd132..391237bbfa6f08b58db3f4b10632169fcf419b11 100644 --- a/app/src/main/java/foundation/e/blisslauncher/features/shortcuts/AddItemActivity.java +++ b/app/src/main/java/foundation/e/blisslauncher/features/shortcuts/AddItemActivity.java @@ -5,7 +5,8 @@ import android.content.Context; import android.content.pm.LauncherApps; import android.os.Build; import android.os.Bundle; -import android.support.v7.app.AppCompatActivity; + +import androidx.appcompat.app.AppCompatActivity; @TargetApi(Build.VERSION_CODES.O) public class AddItemActivity extends AppCompatActivity { diff --git a/app/src/main/java/foundation/e/blisslauncher/features/suggestions/AutoCompleteAdapter.java b/app/src/main/java/foundation/e/blisslauncher/features/suggestions/AutoCompleteAdapter.java index cfd7a7eb4949cc9af2040b5a90340fba62130dd6..69d80421091f4052d532d2d576a4cade5e5f3050 100755 --- a/app/src/main/java/foundation/e/blisslauncher/features/suggestions/AutoCompleteAdapter.java +++ b/app/src/main/java/foundation/e/blisslauncher/features/suggestions/AutoCompleteAdapter.java @@ -3,8 +3,6 @@ package foundation.e.blisslauncher.features.suggestions; import android.content.Context; import android.graphics.Color; import android.graphics.Typeface; -import android.support.annotation.NonNull; -import android.support.v7.widget.RecyclerView; import android.text.SpannableStringBuilder; import android.text.Spanned; import android.text.style.ForegroundColorSpan; @@ -15,6 +13,9 @@ import android.view.ViewGroup; import android.view.animation.AlphaAnimation; import android.widget.TextView; +import androidx.annotation.NonNull; +import androidx.recyclerview.widget.RecyclerView; + import java.util.ArrayList; import java.util.List; import java.util.Locale; diff --git a/app/src/main/java/foundation/e/blisslauncher/features/widgets/AddedWidgetsAdapter.java b/app/src/main/java/foundation/e/blisslauncher/features/widgets/AddedWidgetsAdapter.java index 4849643fc5e711d164267cb9cbe76bbcf3bbac16..099b1c22c04fe1263a3012b0b6586b73a29ab5ce 100644 --- a/app/src/main/java/foundation/e/blisslauncher/features/widgets/AddedWidgetsAdapter.java +++ b/app/src/main/java/foundation/e/blisslauncher/features/widgets/AddedWidgetsAdapter.java @@ -2,14 +2,15 @@ package foundation.e.blisslauncher.features.widgets; import android.appwidget.AppWidgetProviderInfo; import android.content.Context; -import android.support.annotation.NonNull; -import android.support.v7.widget.RecyclerView; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; import android.widget.ImageView; import android.widget.TextView; +import androidx.annotation.NonNull; +import androidx.recyclerview.widget.RecyclerView; + import java.util.ArrayList; import java.util.List; diff --git a/app/src/main/java/foundation/e/blisslauncher/features/widgets/WidgetPicker.java b/app/src/main/java/foundation/e/blisslauncher/features/widgets/WidgetPicker.java index 9ec080d0dce276b8e943452a2f2f8d1b1a53ca61..6c99bc829fcdb325612b17deff78dde2c9e75f73 100644 --- a/app/src/main/java/foundation/e/blisslauncher/features/widgets/WidgetPicker.java +++ b/app/src/main/java/foundation/e/blisslauncher/features/widgets/WidgetPicker.java @@ -10,13 +10,14 @@ import android.content.res.Resources; import android.graphics.drawable.Drawable; import android.os.Bundle; import android.os.Parcelable; -import android.support.v7.widget.DividerItemDecoration; -import android.support.v7.widget.LinearLayoutManager; -import android.support.v7.widget.RecyclerView; import android.util.DisplayMetrics; import android.util.Log; import android.widget.Toast; +import androidx.recyclerview.widget.DividerItemDecoration; +import androidx.recyclerview.widget.LinearLayoutManager; +import androidx.recyclerview.widget.RecyclerView; + import java.text.Collator; import java.util.ArrayList; import java.util.Collections; diff --git a/app/src/main/java/foundation/e/blisslauncher/features/widgets/WidgetPickerAdapter.java b/app/src/main/java/foundation/e/blisslauncher/features/widgets/WidgetPickerAdapter.java index 64825076eb4522f579a7828bd8d354d4081dd4df..50b2b7fda764df06d4eda709fcd88677aa0c598e 100644 --- a/app/src/main/java/foundation/e/blisslauncher/features/widgets/WidgetPickerAdapter.java +++ b/app/src/main/java/foundation/e/blisslauncher/features/widgets/WidgetPickerAdapter.java @@ -7,14 +7,15 @@ import android.content.pm.ResolveInfo; import android.graphics.drawable.Drawable; import android.os.Bundle; import android.os.UserHandle; -import android.support.annotation.NonNull; -import android.support.v7.widget.RecyclerView; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; import android.widget.ImageView; import android.widget.TextView; +import androidx.annotation.NonNull; +import androidx.recyclerview.widget.RecyclerView; + import java.util.ArrayList; import java.util.List; diff --git a/app/src/main/java/foundation/e/blisslauncher/features/widgets/WidgetViewBuilder.java b/app/src/main/java/foundation/e/blisslauncher/features/widgets/WidgetViewBuilder.java index 4cfb5eb9d79752f7abb5e7f0ff68476618803426..d1829fa4d38c9bde552afa6751fb6fb692628f7a 100644 --- a/app/src/main/java/foundation/e/blisslauncher/features/widgets/WidgetViewBuilder.java +++ b/app/src/main/java/foundation/e/blisslauncher/features/widgets/WidgetViewBuilder.java @@ -4,10 +4,11 @@ import android.appwidget.AppWidgetManager; import android.appwidget.AppWidgetProviderInfo; import android.content.Context; import android.os.Bundle; -import android.support.annotation.NonNull; import android.widget.LinearLayout; import android.widget.Toast; +import androidx.annotation.NonNull; + import foundation.e.blisslauncher.BlissLauncher; import foundation.e.blisslauncher.R; import foundation.e.blisslauncher.core.customviews.RoundedWidgetView; diff --git a/app/src/main/java/foundation/e/blisslauncher/features/widgets/WidgetsActivity.java b/app/src/main/java/foundation/e/blisslauncher/features/widgets/WidgetsActivity.java index 4932285c547f7c74030ec5218ff9e075bbe50f6c..a0ea7d1c2d2ba73c2c1be3bb55e8d7c131644591 100644 --- a/app/src/main/java/foundation/e/blisslauncher/features/widgets/WidgetsActivity.java +++ b/app/src/main/java/foundation/e/blisslauncher/features/widgets/WidgetsActivity.java @@ -6,12 +6,13 @@ import android.appwidget.AppWidgetProviderInfo; import android.content.ActivityNotFoundException; import android.content.Intent; import android.os.Bundle; -import android.support.v7.widget.DividerItemDecoration; -import android.support.v7.widget.LinearLayoutManager; -import android.support.v7.widget.RecyclerView; import android.util.DisplayMetrics; import android.widget.Toast; +import androidx.recyclerview.widget.DividerItemDecoration; +import androidx.recyclerview.widget.LinearLayoutManager; +import androidx.recyclerview.widget.RecyclerView; + import java.util.ArrayList; import java.util.Arrays; import java.util.List; diff --git a/app/src/main/res/layout/activity_main.xml b/app/src/main/res/layout/activity_main.xml index fd86f7d15c44e02f176536bd88d0c0d46e925e99..52eca39bcf3b19abeaffdea4ce3b83e44a4715ac 100755 --- a/app/src/main/res/layout/activity_main.xml +++ b/app/src/main/res/layout/activity_main.xml @@ -4,8 +4,8 @@ android:id="@+id/workspace" android:layout_width="match_parent" android:layout_height="match_parent" - android:clipToPadding="false" android:clipChildren="false" + android:clipToPadding="false" tools:context="features.launcher.LauncherActivity"> + android:visibility="gone" + android:focusable="true"> - diff --git a/app/src/main/res/layout/activity_widget_picker.xml b/app/src/main/res/layout/activity_widget_picker.xml index fca9644f8a24088e42cf567aabd87c1a3b5668cc..ae816672f5e3beab21f7846eaa66b5b544d04dce 100644 --- a/app/src/main/res/layout/activity_widget_picker.xml +++ b/app/src/main/res/layout/activity_widget_picker.xml @@ -1,6 +1,5 @@ - \ No newline at end of file + android:layout_height="wrap_content" /> \ No newline at end of file diff --git a/app/src/main/res/layout/activity_widgets.xml b/app/src/main/res/layout/activity_widgets.xml index bd10873800b47a36fde9d86f3eb8403c0cebcb4e..e71e5dec5665b8fc4466befdfa5e6bc2a1cf051e 100644 --- a/app/src/main/res/layout/activity_widgets.xml +++ b/app/src/main/res/layout/activity_widgets.xml @@ -1,20 +1,23 @@ - - - + + + + - + android:orientation="vertical" /> +