Skip to content

Commit

Permalink
Merge pull request #103 from KieronQuinn/release/1.7
Browse files Browse the repository at this point in the history
1.7
  • Loading branch information
KieronQuinn committed Jun 8, 2023
2 parents 1de80e2 + d7da413 commit 3013425
Show file tree
Hide file tree
Showing 19 changed files with 96 additions and 59 deletions.
17 changes: 0 additions & 17 deletions .idea/deploymentTargetDropDown.xml

This file was deleted.

Original file line number Diff line number Diff line change
Expand Up @@ -124,7 +124,7 @@ class ControlsEditingActivity : LifecycleActivity() {
private fun bindViews() {
setContentView(R.layout.controls_management)

getLifecycle().addObserver(
lifecycle.addObserver(
ControlsAnimations.observerForAnimations(
requireViewById<ViewGroup>(R.id.controls_management_root),
window,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -239,7 +239,7 @@ class ControlsFavoritingActivity: LifecycleActivity() {
private fun bindViews() {
setContentView(R.layout.controls_management)

getLifecycle().addObserver(
lifecycle.addObserver(
ControlsAnimations.observerForAnimations(
requireViewById<ViewGroup>(R.id.controls_management_root),
window,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -76,7 +76,7 @@ class ControlsProviderSelectorActivity : LifecycleActivity() {

setContentView(R.layout.controls_management)

getLifecycle().addObserver(
lifecycle.addObserver(
ControlsAnimations.observerForAnimations(
requireViewById<ViewGroup>(R.id.controls_management_root),
window,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -20,21 +20,23 @@ import android.app.Activity
import android.graphics.drawable.ColorDrawable
import android.os.Bundle
import android.os.PersistableBundle
import androidx.lifecycle.Lifecycle.Event
import androidx.lifecycle.LifecycleOwner
import com.android.settingslib.core.lifecycle.Lifecycle
import org.koin.android.ext.android.inject

open class LifecycleActivity : Activity(), LifecycleOwner {

private val lifecycle = Lifecycle(this)
private val _lifecycle = Lifecycle(this)
private val monet by inject<MonetColorProvider>()

override fun getLifecycle() = lifecycle
override val lifecycle: Lifecycle
get() = _lifecycle

override fun onCreate(savedInstanceState: Bundle?) {
lifecycle.onAttach(this)
lifecycle.onCreate(savedInstanceState)
lifecycle.handleLifecycleEvent(androidx.lifecycle.Lifecycle.Event.ON_CREATE)
_lifecycle.onAttach(this)
_lifecycle.onCreate(savedInstanceState)
_lifecycle.handleLifecycleEvent(Event.ON_CREATE)
super.onCreate(savedInstanceState)
val backgroundColor = monet.getBackgroundColor(this, true)
window.setBackgroundDrawable(ColorDrawable(backgroundColor))
Expand All @@ -45,34 +47,35 @@ open class LifecycleActivity : Activity(), LifecycleOwner {
savedInstanceState: Bundle?,
persistentState: PersistableBundle?
) {
lifecycle.onAttach(this)
lifecycle.onCreate(savedInstanceState)
lifecycle.handleLifecycleEvent(androidx.lifecycle.Lifecycle.Event.ON_CREATE)
_lifecycle.onAttach(this)
_lifecycle.onCreate(savedInstanceState)
_lifecycle.handleLifecycleEvent(Event.ON_CREATE)
super.onCreate(savedInstanceState, persistentState)
}

override fun onStart() {
lifecycle.handleLifecycleEvent(androidx.lifecycle.Lifecycle.Event.ON_START)
_lifecycle.handleLifecycleEvent(Event.ON_START)
super.onStart()
}

override fun onResume() {
lifecycle.handleLifecycleEvent(androidx.lifecycle.Lifecycle.Event.ON_RESUME)
_lifecycle.handleLifecycleEvent(Event.ON_RESUME)
super.onResume()
}

override fun onPause() {
lifecycle.handleLifecycleEvent(androidx.lifecycle.Lifecycle.Event.ON_PAUSE)
_lifecycle.handleLifecycleEvent(Event.ON_PAUSE)
super.onPause()
}

override fun onStop() {
lifecycle.handleLifecycleEvent(androidx.lifecycle.Lifecycle.Event.ON_STOP)
_lifecycle.handleLifecycleEvent(Event.ON_STOP)
super.onStop()
}

override fun onDestroy() {
lifecycle.handleLifecycleEvent(androidx.lifecycle.Lifecycle.Event.ON_DESTROY)
_lifecycle.handleLifecycleEvent(Event.ON_DESTROY)
super.onDestroy()
}

}
14 changes: 7 additions & 7 deletions app/build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -7,16 +7,16 @@ plugins {
id 'com.google.android.gms.oss-licenses-plugin'
}

def version = '1.6.1'
def version = '1.7'

android {
compileSdk 33
compileSdk 34

defaultConfig {
applicationId "com.kieronquinn.app.classicpowermenu"
minSdk 30
targetSdk 33
versionCode 161
versionCode 170
versionName version

testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
Expand Down Expand Up @@ -67,7 +67,7 @@ protobuf {
dependencies {
//AndroidX
def lifecycle_version = "2.6.1"
implementation 'androidx.core:core-ktx:1.10.0'
implementation 'androidx.core:core-ktx:1.10.1'
implementation 'androidx.appcompat:appcompat:1.6.1'
implementation "androidx.lifecycle:lifecycle-runtime-ktx:$lifecycle_version"
implementation "androidx.lifecycle:lifecycle-viewmodel-ktx:$lifecycle_version"
Expand All @@ -76,12 +76,12 @@ dependencies {
implementation "androidx.lifecycle:lifecycle-service:$lifecycle_version"
implementation 'androidx.constraintlayout:constraintlayout:2.1.4'
implementation 'androidx.work:work-runtime-ktx:2.8.1'
implementation "androidx.core:core-splashscreen:1.0.0"
implementation "androidx.core:core-splashscreen:1.0.1"
implementation "androidx.navigation:navigation-fragment-ktx:$nav_version"
implementation "androidx.navigation:navigation-ui-ktx:$nav_version"

//Material
implementation 'com.google.android.material:material:1.8.0'
implementation 'com.google.android.material:material:1.9.0'

//Monet
implementation 'com.github.KieronQuinn:MonetCompat:0.4.1'
Expand Down Expand Up @@ -125,7 +125,7 @@ dependencies {
compileOnly 'de.robv.android.xposed:api:82'

//OSS libraries activity
implementation 'com.google.android.gms:play-services-oss-licenses:17.0.0'
implementation 'com.google.android.gms:play-services-oss-licenses:17.0.1'

//Retrofit for update checking
implementation 'com.squareup.retrofit2:retrofit:2.9.0'
Expand Down
4 changes: 2 additions & 2 deletions app/release/output-metadata.json
Original file line number Diff line number Diff line change
Expand Up @@ -11,8 +11,8 @@
"type": "SINGLE",
"filters": [],
"attributes": [],
"versionCode": 161,
"versionName": "1.6.1",
"versionCode": 170,
"versionName": "1.7",
"outputFile": "app-release.apk"
}
],
Expand Down
6 changes: 5 additions & 1 deletion app/src/main/AndroidManifest.xml
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,7 @@
android:label="@string/app_name"
android:roundIcon="@mipmap/ic_launcher"
android:supportsRtl="true"
android:enableOnBackInvokedCallback="true"
android:name="com.kieronquinn.app.classicpowermenu.ClassicPowerMenu"
android:theme="@style/Theme.ClassicPowerMenu.Splash">

Expand All @@ -39,7 +40,10 @@
<category android:name="android.intent.category.DEFAULT" />
<data android:scheme="classicpowermenu"/>
</intent-filter>

<intent-filter>
<action android:name="android.intent.action.ASSIST" />
<category android:name="android.intent.category.DEFAULT" />
</intent-filter>
</activity>

<service android:name=".service.accessibility.CPMAccessibilityService"
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -24,8 +24,6 @@ import java.io.InputStream

class CPMContext(private val originalContext: Context): Context() {



override fun getAssets(): AssetManager {
return originalContext.assets
}
Expand All @@ -39,7 +37,7 @@ class CPMContext(private val originalContext: Context): Context() {
}

override fun getContentResolver(): ContentResolver {
TODO("Not yet implemented")
return originalContext.contentResolver
}

override fun getMainLooper(): Looper {
Expand Down Expand Up @@ -404,7 +402,7 @@ class CPMContext(private val originalContext: Context): Context() {
return originalContext.stopService(p0)
}

override fun bindService(p0: Intent?, p1: ServiceConnection, p2: Int): Boolean {
override fun bindService(p0: Intent, p1: ServiceConnection, p2: Int): Boolean {
return originalContext.bindService(p0, p1, p2)
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -171,7 +171,7 @@ class CPMRootServiceImpl: IClassicPowerMenu.Stub() {
val hashedAccountId = Hashing.md5().hashUnencodedChars(googlePayAccountId)
googlePayContext.getDatabasePath("${hashedAccountId}_tapandpay.db")
}else{
val databaseName = context.databaseList().firstOrNull {
val databaseName = googlePayContext.databaseList().firstOrNull {
it.endsWith("_tapandpay.db")
} ?: return null
googlePayContext.getDatabasePath(databaseName)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,7 @@ import android.view.MenuInflater
import android.view.MenuItem

interface BackAvailable
interface Root
interface AutoExpandOnRotate

interface StandaloneFragment {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,7 @@ import android.util.TypedValue
import android.view.MenuInflater
import android.view.View
import androidx.activity.OnBackPressedCallback
import androidx.activity.addCallback
import androidx.core.content.ContextCompat
import androidx.core.content.res.ResourcesCompat
import androidx.core.view.ViewCompat
Expand All @@ -26,10 +27,14 @@ import com.kieronquinn.app.classicpowermenu.ui.base.AutoExpandOnRotate
import com.kieronquinn.app.classicpowermenu.ui.base.BackAvailable
import com.kieronquinn.app.classicpowermenu.ui.base.BoundFragment
import com.kieronquinn.app.classicpowermenu.ui.base.ProvidesOverflow
import com.kieronquinn.app.classicpowermenu.ui.base.Root
import com.kieronquinn.app.classicpowermenu.ui.base.StandaloneFragment
import com.kieronquinn.app.classicpowermenu.utils.extensions.awaitPost
import com.kieronquinn.app.classicpowermenu.utils.extensions.getTopFragment
import com.kieronquinn.app.classicpowermenu.utils.extensions.isLandscape
import com.kieronquinn.app.classicpowermenu.utils.extensions.navigateSafely
import com.kieronquinn.app.classicpowermenu.utils.extensions.onApplyInsets
import com.kieronquinn.app.classicpowermenu.utils.extensions.onDestinationChanged
import kotlinx.coroutines.flow.collect
import org.koin.android.ext.android.inject
import kotlin.math.roundToInt
Expand Down Expand Up @@ -119,12 +124,23 @@ class SettingsContainerFragment: BoundFragment<FragmentSettingsContainerBinding>
}
}

private fun shouldBackDispatcherBeEnabled(): Boolean {
val top = navHostFragment.getTopFragment()
return top is StandaloneFragment || top !is Root
}

private fun setupBack() {
requireActivity().onBackPressedDispatcher.addCallback(viewLifecycleOwner, object: OnBackPressedCallback(true) {
override fun handleOnBackPressed() {
if(!navController.navigateUp()) requireActivity().finish()
val callback = requireActivity().onBackPressedDispatcher.addCallback(
this,
shouldBackDispatcherBeEnabled()
) {
if(!navController.navigateUp()) requireActivity().finish()
}
viewLifecycleOwner.lifecycleScope.launchWhenResumed {
navController.onDestinationChanged().collect {
callback.isEnabled = shouldBackDispatcherBeEnabled()
}
})
}
}

private fun getTopFragment(): Fragment? {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -12,12 +12,13 @@ import com.kieronquinn.app.classicpowermenu.R
import com.kieronquinn.app.classicpowermenu.model.settings.SettingsItem
import com.kieronquinn.app.classicpowermenu.ui.base.AutoExpandOnRotate
import com.kieronquinn.app.classicpowermenu.ui.base.ProvidesOverflow
import com.kieronquinn.app.classicpowermenu.ui.base.Root
import com.kieronquinn.app.classicpowermenu.ui.screens.settings.switched.SettingsSwitchedFragment
import kotlinx.coroutines.flow.Flow
import kotlinx.coroutines.flow.collect
import org.koin.androidx.viewmodel.ext.android.viewModel

class SettingsMainFragment : SettingsSwitchedFragment(), AutoExpandOnRotate, ProvidesOverflow {
class SettingsMainFragment : SettingsSwitchedFragment(), AutoExpandOnRotate, ProvidesOverflow, Root {

private val viewModel by viewModel<SettingsMainViewModel>()

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -11,11 +11,12 @@ import androidx.core.view.updateMargins
import com.kieronquinn.app.classicpowermenu.R
import com.kieronquinn.app.classicpowermenu.databinding.FragmentSetupLandingBinding
import com.kieronquinn.app.classicpowermenu.ui.base.BoundFragment
import com.kieronquinn.app.classicpowermenu.ui.base.Root
import com.kieronquinn.app.classicpowermenu.utils.extensions.onApplyInsets
import com.kieronquinn.monetcompat.extensions.views.overrideRippleColor
import org.koin.androidx.viewmodel.ext.android.viewModel

class SetupLandingFragment: BoundFragment<FragmentSetupLandingBinding>(FragmentSetupLandingBinding::inflate) {
class SetupLandingFragment: BoundFragment<FragmentSetupLandingBinding>(FragmentSetupLandingBinding::inflate), Root {

private val viewModel by viewModel<SetupLandingViewModel>()

Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
package com.kieronquinn.app.classicpowermenu.utils.extensions

import android.os.Build

fun isAtLeastU(): Boolean {
return Build.VERSION.SDK_INT >= Build.VERSION_CODES.UPSIDE_DOWN_CAKE
}

fun isAtLeastT(): Boolean {
return Build.VERSION.SDK_INT >= Build.VERSION_CODES.TIRAMISU
}
Original file line number Diff line number Diff line change
Expand Up @@ -61,7 +61,7 @@ fun Context.getColorResCompat(@AttrRes id: Int): Int {

@SuppressLint("UnsafeOptInUsageError")
fun Context.getServiceDispatcher(serviceConnection: ServiceConnection, handler: Handler, flags: Int): IServiceConnection {
return if(BuildCompat.isAtLeastU()){
return if(isAtLeastU()){
Context::class.java.getMethod("getServiceDispatcher", ServiceConnection::class.java, Handler::class.java, Long::class.java)
.invoke(this, serviceConnection, handler, flags.toLong()) as IServiceConnection
}else{
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -143,7 +143,7 @@ fun IActivityManager.bindServiceInstanceCompat(
userId: Int
): Int {
return when {
BuildCompat.isAtLeastU() -> {
isAtLeastU() -> {
bindServiceInstance(
caller,
token,
Expand All @@ -156,7 +156,7 @@ fun IActivityManager.bindServiceInstanceCompat(
userId
)
}
BuildCompat.isAtLeastT() -> {
isAtLeastT() -> {
bindServiceInstance(
caller,
token,
Expand Down

0 comments on commit 3013425

Please sign in to comment.