Skip to content

Commit

Permalink
Merge pull request #111 from KieronQuinn/release/2.5
Browse files Browse the repository at this point in the history
Release/2.5
  • Loading branch information
KieronQuinn authored Jul 13, 2023
2 parents a96e426 + 92da1db commit 918fd4e
Show file tree
Hide file tree
Showing 69 changed files with 1,253 additions and 518 deletions.
81 changes: 52 additions & 29 deletions app/build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -2,21 +2,39 @@ plugins {
id 'com.android.application'
id 'org.jetbrains.kotlin.android'
id 'kotlin-parcelize'
id 'kotlin-kapt'
id 'com.google.devtools.ksp'
id 'androidx.navigation.safeargs.kotlin'
id 'com.google.android.gms.oss-licenses-plugin'
}

def tagName = '2.4'
def tagCode = 240
def tagName = '2.5'
def tagCode = 250

def getKeystoreProperties() {
def properties = new Properties()
properties.setProperty("keyAlias", "")
properties.setProperty("keyPassword", "")
properties.setProperty("storeFile", "")
properties.setProperty("storePassword", "")
try {
def propertiesFile = rootProject.file("local.properties")
if (propertiesFile.exists()) {
properties.load(new FileInputStream(propertiesFile))
}
} catch (Exception ignored) {
properties = null
println "Unable to read keystore"
}
return properties
}

android {
compileSdk 33
compileSdk 34

defaultConfig {
applicationId "com.kieronquinn.app.pixellaunchermods"
minSdk 31
targetSdk 33
targetSdk 34
versionCode tagCode
versionName tagName

Expand All @@ -30,76 +48,81 @@ android {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
}
debug {
minifyEnabled false
}
}
buildFeatures {
viewBinding true
aidl true
}
compileOptions {
sourceCompatibility JavaVersion.VERSION_1_8
targetCompatibility JavaVersion.VERSION_1_8
sourceCompatibility JavaVersion.VERSION_17
targetCompatibility JavaVersion.VERSION_17
}
kotlinOptions {
jvmTarget = '1.8'
jvmTarget = '17'
}
testOptions {
unitTests {
includeAndroidResources = true
}
}
namespace 'com.kieronquinn.app.pixellaunchermods'

//Automatically build module into app
project.tasks.preBuild.dependsOn(":createModule")
}

dependencies {
implementation 'androidx.core:core-ktx:1.9.0'
implementation 'androidx.appcompat:appcompat:1.5.1'
implementation 'com.google.android.material:material:1.6.1'
implementation 'androidx.core:core-ktx:1.10.1'
implementation 'androidx.appcompat:appcompat:1.6.1'
implementation 'com.google.android.material:material:1.9.0'
implementation 'androidx.constraintlayout:constraintlayout:2.1.4'
implementation "androidx.navigation:navigation-fragment-ktx:$nav_version"
implementation "androidx.navigation:navigation-ui-ktx:$nav_version"
implementation 'androidx.recyclerview:recyclerview:1.2.1'
implementation 'androidx.recyclerview:recyclerview:1.3.0'
implementation 'androidx.palette:palette-ktx:1.0.0'
implementation "androidx.lifecycle:lifecycle-runtime-ktx:2.5.1"
implementation "androidx.lifecycle:lifecycle-service:2.5.1"
implementation "androidx.fragment:fragment-ktx:1.5.3"
implementation "androidx.activity:activity-ktx:1.6.0"
implementation "androidx.lifecycle:lifecycle-runtime-ktx:2.6.1"
implementation "androidx.lifecycle:lifecycle-service:2.6.1"
implementation "androidx.fragment:fragment-ktx:1.6.0"
implementation "androidx.activity:activity-ktx:1.7.2"
implementation "com.simplecityapps:recyclerview-fastscroll:2.0.1"
implementation 'me.zhanghai.android.appiconloader:appiconloader:1.3.1'
implementation 'androidx.core:core-splashscreen:1.0.0'
implementation 'androidx.core:core-splashscreen:1.0.1'
implementation "io.noties.markwon:core:4.6.2"
implementation 'com.google.android.gms:play-services-oss-licenses:17.0.0'
implementation 'com.google.android.gms:play-services-oss-licenses:17.0.1'
implementation 'com.squareup.retrofit2:retrofit:2.9.0'
implementation 'com.squareup.retrofit2:converter-gson:2.9.0'

implementation "io.insert-koin:koin-android:3.2.0"
implementation "io.insert-koin:koin-android:3.4.0"
implementation files('libs/apksigner.jar')
implementation 'androidx.work:work-runtime-ktx:2.7.1'
implementation 'androidx.work:work-runtime-ktx:2.8.1'
compileOnly project(path: ':systemstubs')

implementation 'com.github.bumptech.glide:glide:4.13.2'
kapt 'com.github.bumptech.glide:compiler:4.13.2'
implementation 'com.github.bumptech.glide:glide:4.15.1'
ksp 'com.github.bumptech.glide:ksp:4.15.1'

implementation "dev.rikka.shizuku:api:12.1.0"
implementation 'org.jetbrains.kotlinx:kotlinx-coroutines-core:1.6.1'
implementation 'org.jetbrains.kotlinx:kotlinx-coroutines-core:1.7.2'

def libsuVersion = '5.0.2'
def libsuVersion = '5.0.3'
implementation "com.github.topjohnwu.libsu:core:${libsuVersion}"
implementation "com.github.topjohnwu.libsu:service:${libsuVersion}"

implementation 'com.github.graviton57:sqlite-android:1.0.1'
implementation 'com.google.code.gson:gson:2.9.1'
implementation 'com.google.code.gson:gson:2.10.1'

def room_version = "2.4.3"
def room_version = "2.5.2"
implementation "androidx.room:room-runtime:$room_version"
implementation "androidx.room:room-ktx:$room_version"
kapt "androidx.room:room-compiler:$room_version"
ksp "androidx.room:room-compiler:$room_version"

implementation 'org.lsposed.hiddenapibypass:hiddenapibypass:4.3'
implementation 'me.saket:better-link-movement-method:2.2.0'
implementation 'com.arasthel:spannedgridlayoutmanager:3.0.2'

testImplementation 'junit:junit:4.13.2'
androidTestImplementation 'androidx.test.ext:junit:1.1.3'
androidTestImplementation 'androidx.test.espresso:espresso-core:3.4.0'
androidTestImplementation 'androidx.test.ext:junit:1.1.5'
androidTestImplementation 'androidx.test.espresso:espresso-core:3.5.1'
}
16 changes: 13 additions & 3 deletions app/src/main/AndroidManifest.xml
Original file line number Diff line number Diff line change
@@ -1,7 +1,6 @@
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
package="com.kieronquinn.app.pixellaunchermods">
xmlns:tools="http://schemas.android.com/tools">

<uses-permission android:name="android.permission.INTERNET"/>
<uses-permission android:name="android.permission.QUERY_ALL_PACKAGES"
Expand All @@ -10,6 +9,7 @@
<uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED"/>
<uses-permission android:name="android.permission.REQUEST_INSTALL_PACKAGES"/>
<uses-permission android:name="android.permission.POST_NOTIFICATIONS"/>
<uses-permission android:name="android.permission.FOREGROUND_SERVICE_SPECIAL_USE"/>

<application
android:allowBackup="false"
Expand Down Expand Up @@ -52,13 +52,23 @@
<meta-data android:name="android.appwidget.provider"
android:resource="@xml/proxy_appwidget_info" />
</receiver>
<receiver android:name=".widget.BlankWidget"
android:exported="false"
android:label="@string/widget_blank_title">
<intent-filter>
<action android:name="android.appwidget.action.APPWIDGET_UPDATE" />
</intent-filter>
<meta-data android:name="android.appwidget.provider"
android:resource="@xml/blank_appwidget_info" />
</receiver>
<receiver android:name=".receivers.BootReceiver"
android:exported="true">
<intent-filter>
<action android:name="android.intent.action.BOOT_COMPLETED"/>
</intent-filter>
</receiver>
<service android:name=".service.PixelLauncherModsForegroundService"/>
<service android:name=".service.PixelLauncherModsForegroundService"
android:foregroundServiceType="specialUse"/>

<provider
android:name="androidx.core.content.FileProvider"
Expand Down
24 changes: 17 additions & 7 deletions app/src/main/assets/faq.md
Original file line number Diff line number Diff line change
Expand Up @@ -36,10 +36,19 @@ settings delete global SEARCH_PROVIDER_PACKAGE_NAME
On a device that has become unrooted (for example after an update), you **must** clear the data of
the Pixel Launcher. This will reset your home screen layout.

## After using the Hide Clock option, the clock does not re-appear, even when the option is disabled!

This is caused by the system not responding correctly to the settings change. To reset it, you must
run this command using either a root terminal, or using ADB from a computer, and reboot:

```bash
settings delete secure icon_blacklist
```

## After using Pixel Launcher Mods, I see a different search widget on a launcher that isn't the Pixel Launcher!

This is caused by the method used to replace the Search Box or At a Glance widgets. To reset it,
you must run this command using either a root terminal, or using ADB from a computer, and reboot:
This is caused by the method used to replace the Search Box. To reset it, you must run this command
using either a root terminal, or using ADB from a computer, and reboot:

```bash
settings delete global SEARCH_PROVIDER_PACKAGE_NAME
Expand All @@ -61,17 +70,18 @@ with the launcher, and therefore changes do not persist.
Dynamic icons are shown dynamically, loaded directly from the apps that use them. This makes it
impossible to change the icons.

## Why do not all widgets work in the At a Glance / Search Box replacement option?
## Why do not all widgets work in the Search Box replacement option?

This is a restriction of the method used to replace At a Glance / Search Box, it does support some
This is a restriction of the method used to replace Search Box, it does support some
features modern widgets use. As a result, some widgets will fail to load or show as blank spaces.

## Can I remove the search box or At a Glance widget entirely?
## Can I remove the search box or At a Glance entirely?

Unfortunately not. The space is always shown, regardless of the height of a widget, or the size
of the underlying layout. Removing this is not possible using overlays.
of the underlying layout. You can replace the Search Box with Pixel Launcher Mods' Blank Widget,
and hide At a Glance, but the space will remain.

## The widget I am using to replace At a Glance or Search Box is frozen
## The widget I am using to replace the Search Box is frozen

This occasionally happens when the connection between the replacement widget and the chosen app
widget is broken. Rebooting will fix it.
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,34 @@ import com.kieronquinn.app.pixellaunchermods.components.navigation.RootNavigatio
import com.kieronquinn.app.pixellaunchermods.components.navigation.RootNavigationImpl
import com.kieronquinn.app.pixellaunchermods.model.room.IconMetadata
import com.kieronquinn.app.pixellaunchermods.model.room.getRoomDatabase
import com.kieronquinn.app.pixellaunchermods.repositories.*
import com.kieronquinn.app.pixellaunchermods.repositories.AppStateRepository
import com.kieronquinn.app.pixellaunchermods.repositories.AppStateRepositoryImpl
import com.kieronquinn.app.pixellaunchermods.repositories.AppWidgetRepository
import com.kieronquinn.app.pixellaunchermods.repositories.AppWidgetRepositoryImpl
import com.kieronquinn.app.pixellaunchermods.repositories.AppsRepository
import com.kieronquinn.app.pixellaunchermods.repositories.AppsRepositoryImpl
import com.kieronquinn.app.pixellaunchermods.repositories.BackupRestoreRepository
import com.kieronquinn.app.pixellaunchermods.repositories.BackupRestoreRepositoryImpl
import com.kieronquinn.app.pixellaunchermods.repositories.DatabaseRepository
import com.kieronquinn.app.pixellaunchermods.repositories.DatabaseRepositoryImpl
import com.kieronquinn.app.pixellaunchermods.repositories.HideClockRepository
import com.kieronquinn.app.pixellaunchermods.repositories.HideClockRepositoryImpl
import com.kieronquinn.app.pixellaunchermods.repositories.IconLoaderRepository
import com.kieronquinn.app.pixellaunchermods.repositories.IconLoaderRepositoryImpl
import com.kieronquinn.app.pixellaunchermods.repositories.IconPackRepository
import com.kieronquinn.app.pixellaunchermods.repositories.IconPackRepositoryImpl
import com.kieronquinn.app.pixellaunchermods.repositories.OverlayRepository
import com.kieronquinn.app.pixellaunchermods.repositories.OverlayRepositoryImpl
import com.kieronquinn.app.pixellaunchermods.repositories.ProxyAppWidgetRepository
import com.kieronquinn.app.pixellaunchermods.repositories.ProxyAppWidgetRepositoryImpl
import com.kieronquinn.app.pixellaunchermods.repositories.RemoteAppsRepository
import com.kieronquinn.app.pixellaunchermods.repositories.RemoteAppsRepositoryImpl
import com.kieronquinn.app.pixellaunchermods.repositories.RootServiceRepository
import com.kieronquinn.app.pixellaunchermods.repositories.RootServiceRepositoryImpl
import com.kieronquinn.app.pixellaunchermods.repositories.SettingsRepository
import com.kieronquinn.app.pixellaunchermods.repositories.SettingsRepositoryImpl
import com.kieronquinn.app.pixellaunchermods.repositories.UpdateRepository
import com.kieronquinn.app.pixellaunchermods.repositories.UpdateRepositoryImpl
import com.kieronquinn.app.pixellaunchermods.ui.activities.MainActivityViewModel
import com.kieronquinn.app.pixellaunchermods.ui.activities.MainActivityViewModelImpl
import com.kieronquinn.app.pixellaunchermods.ui.screens.apps.AppsViewModel
Expand Down Expand Up @@ -60,10 +87,10 @@ import com.kieronquinn.app.pixellaunchermods.ui.screens.tweaks.deferredrestart.D
import com.kieronquinn.app.pixellaunchermods.ui.screens.tweaks.deferredrestart.DeferredRestartViewModelImpl
import com.kieronquinn.app.pixellaunchermods.ui.screens.tweaks.hideapps.HideAppsViewModel
import com.kieronquinn.app.pixellaunchermods.ui.screens.tweaks.hideapps.HideAppsViewModelImpl
import com.kieronquinn.app.pixellaunchermods.ui.screens.tweaks.overlay.OverlayTweaksViewModel
import com.kieronquinn.app.pixellaunchermods.ui.screens.tweaks.overlay.OverlayTweaksViewModelImpl
import com.kieronquinn.app.pixellaunchermods.ui.screens.tweaks.overlayapply.OverlayApplyViewModel
import com.kieronquinn.app.pixellaunchermods.ui.screens.tweaks.overlayapply.OverlayApplyViewModelImpl
import com.kieronquinn.app.pixellaunchermods.ui.screens.tweaks.recents.RecentsTweaksViewModel
import com.kieronquinn.app.pixellaunchermods.ui.screens.tweaks.recents.RecentsTweaksViewModelImpl
import com.kieronquinn.app.pixellaunchermods.ui.screens.tweaks.widgetreplacement.WidgetReplacementViewModel
import com.kieronquinn.app.pixellaunchermods.ui.screens.tweaks.widgetreplacement.WidgetReplacementViewModelImpl
import com.kieronquinn.app.pixellaunchermods.ui.screens.tweaks.widgetreplacement.widgetpicker.WidgetReplacementPickerViewModel
Expand Down Expand Up @@ -122,13 +149,13 @@ class PixelLauncherMods: Application() {
viewModel<ShortcutEditorViewModel> { ShortcutEditorViewModelImpl(get(), get(), get(), get()) }
viewModel<AutoIconPackViewModel> { AutoIconPackViewModelImpl(get(), get(), get()) }
viewModel<AutoIconPackApplyViewModel> { AutoIconPackApplyViewModelImpl(get(), get(), get()) }
viewModel<TweaksViewModel> { TweaksViewModelImpl(get(), get(), get()) }
viewModel<TweaksViewModel> { TweaksViewModelImpl(get(), get(), get(), get()) }
viewModel<WidgetResizeViewModel> { WidgetResizeViewModelImpl(get(), get(), get()) }
viewModel<HideAppsViewModel>{ HideAppsViewModelImpl(get(), get(), get()) }
viewModel<OverlayApplyViewModel> { OverlayApplyViewModelImpl(get(), get(), get(), get()) }
viewModel<WidgetReplacementViewModel> { WidgetReplacementViewModelImpl(get(), get(), get(), get()) }
viewModel<WidgetReplacementPickerViewModel> { WidgetReplacementPickerViewModelImpl(get(), get(), get(), get(), get()) }
viewModel<RecentsTweaksViewModel> { RecentsTweaksViewModelImpl(get(), get(), get()) }
viewModel<OverlayTweaksViewModel> { OverlayTweaksViewModelImpl(get(), get(), get()) }
viewModel<DeferredRestartViewModel> { DeferredRestartViewModelImpl(get()) }
viewModel<BackupRestoreBackupViewModel> { BackupRestoreBackupViewModelImpl(get(), get()) }
viewModel<OptionsViewModel> { OptionsViewModelImpl(get()) }
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -79,6 +79,15 @@ class Backup {

@SerializedName("recents_transparency")
var recentsTransparency: Float? = null

@SerializedName("tweaks_disable_wallpaper_scrim")
var disableWallpaperScrim: Boolean? = null

@SerializedName("tweaks_disable_wallpaper_region_colours")
var disableWallpaperRegionColours: Boolean? = null

@SerializedName("tweaks_disable_smartspace")
var disableSmartspace: Boolean? = null
}

}
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@ package com.kieronquinn.app.pixellaunchermods.model.room

import androidx.room.Dao
import androidx.room.Insert
import androidx.room.OnConflictStrategy.REPLACE
import androidx.room.OnConflictStrategy
import androidx.room.Query
import kotlinx.coroutines.flow.Flow

Expand All @@ -15,7 +15,7 @@ interface AppsDao {
@Query("select * from apps where componentName=:componentName")
fun getByComponentName(componentName: String): Flow<List<ModifiedApp>>

@Insert(onConflict = REPLACE)
@Insert(onConflict = OnConflictStrategy.REPLACE)
fun insert(vararg app: ModifiedApp)

@Query("delete from apps where componentName=:componentName")
Expand Down
Loading

0 comments on commit 918fd4e

Please sign in to comment.