OmniControl: Disable FingerprintSettingsFragment for now
Change-Id: Iab1e7fa135cac41fd7b70daa74adebb14e48e8b5
Signed-off-by: micky387 <mickaelsaibi@free.fr>
diff --git a/app/src/main/java/org/omnirom/control/FingerprintSettingsFragment.kt b/app/src/main/java/org/omnirom/control/FingerprintSettingsFragment.kt
deleted file mode 100644
index 8bf0e73..0000000
--- a/app/src/main/java/org/omnirom/control/FingerprintSettingsFragment.kt
+++ /dev/null
@@ -1,268 +0,0 @@
-/*
- * Copyright (C) 2023 The OmniROM Project
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- *
- */
-package org.omnirom.control
-
-import android.Manifest.permission.READ_MEDIA_IMAGES
-import android.Manifest.permission.READ_MEDIA_VISUAL_USER_SELECTED
-
-import android.Manifest
-import android.app.Activity
-import android.content.ComponentName
-import android.content.Context
-import android.content.Intent
-import android.content.ServiceConnection
-import android.graphics.Bitmap
-import android.graphics.BitmapFactory
-import android.graphics.drawable.BitmapDrawable
-import android.net.Uri
-import android.os.Build
-import android.os.Bundle
-import android.os.IBinder
-import android.provider.MediaStore
-import android.provider.Settings
-import android.util.Log
-import androidx.activity.result.contract.ActivityResultContract
-import androidx.activity.result.contract.ActivityResultContracts
-import androidx.annotation.DrawableRes
-import androidx.annotation.XmlRes
-import androidx.preference.Preference
-import androidx.preference.SwitchPreference
-import com.android.systemui.shared.omni.IOmniSystemUiProxy
-import org.omnirom.omnilib.utils.OmniSettings
-import java.io.File
-import java.io.FileOutputStream
-import java.io.IOException
-
-class FingerprintSettingsFragment : AbstractSettingsFragment() {
- private val TAG = "FingerprintSettingsFragment"
- private val FINGERPRINT_CUSTOM_ICON_SELECT = "custom_fingerprint_icon_select"
- private val FINGERPRINT_CUSTOM_ICON_ENABLE = "custom_fingerprint_icon_enable"
- private val UFPSIMAGE_FILE_NAME = "ufpsImage"
-
- companion object {
- @DrawableRes
- val ICON_RES = R.drawable.ic_settings_fingerprint
- @XmlRes
- val XML_RES = R.xml.fingerprint_preferences
-
- fun isEnabled(context: Context) : Boolean {
- return context.resources.getBoolean(R.bool.config_has_udfps)
- }
- }
-
- class PickSinglePhotoContract : ActivityResultContract<Void?, Uri?>() {
- override fun createIntent(context: Context, input: Void?): Intent {
- return Intent(Intent(MediaStore.ACTION_PICK_IMAGES)).apply { type = "image/*" }
- }
-
- override fun parseResult(resultCode: Int, intent: Intent?): Uri? {
- return intent.takeIf { resultCode == Activity.RESULT_OK }?.data
- }
- }
-
- var pickImage = registerForActivityResult<String, Uri>(
- ActivityResultContracts.GetContent()
- ) { uri: Uri? ->
- if (uri != null) {
- try {
- requireContext().contentResolver.openInputStream(uri).use { inputStream ->
- val bitmap = BitmapFactory.decodeStream(inputStream)
- systemUIProxy?.setUfpsImageBitmap(bitmap)
- savePickerIcon(bitmap)
- }
-
- Settings.System.putString(
- requireContext().contentResolver,
- OmniSettings.OMNI_CUSTOM_FP_ICON_UPDATE,
- System.currentTimeMillis().toString()
- )
- } catch (e: Exception) {
- Log.d(TAG, "pickImage", e);
- }
- }
- }
-
- private val mImagePermissions =
- registerForActivityResult(ActivityResultContracts.RequestMultiplePermissions()) {
- pickImage.launch("image/*")
- }
-
- private val mSystemUIProxyService: ServiceConnection = object : ServiceConnection {
- override fun onServiceConnected(name: ComponentName, service: IBinder) {
- Log.d(
- TAG,
- "onServiceConnected $name $service"
- )
- systemUIProxy = IOmniSystemUiProxy.Stub.asInterface(service)
- }
-
- override fun onServiceDisconnected(name: ComponentName) {
- Log.d(TAG, "onServiceDisconnected $name")
- }
- }
-
- private var mSystemUIProxyBound = false
- private var systemUIProxy: IOmniSystemUiProxy? = null
- private var mFilePicker: Preference? = null
- private var mEnableCustom: SwitchPreference? = null
-
-
- private fun bindSystemUIProxyService() {
- if (!mSystemUIProxyBound) {
- Log.d(TAG, "bindSystemUIProxyService")
- val serviceIntent = Intent("android.intent.action.OMNI_SYSTEMUI_SERVICE")
- .setPackage("com.android.systemui")
- try {
- mSystemUIProxyBound = requireActivity().bindService(
- serviceIntent,
- mSystemUIProxyService,
- Context.BIND_AUTO_CREATE
- )
- } catch (e: SecurityException) {
- Log.e(
- TAG,
- "Unable to bind because of security error",
- e
- )
- }
- }
- }
-
- private fun unbindSystemUIProxyService() {
- if (mSystemUIProxyBound) {
- Log.d(TAG, "unbindSystemUIProxyService")
- requireActivity().unbindService(mSystemUIProxyService)
- mSystemUIProxyBound = false
- }
- }
-
- override fun getFragmentTitle(): String {
- return getString(R.string.fprint_title)
- }
-
- override fun getFragmentSummary(): String {
- return getString(R.string.fprint_summary)
- }
-
- override fun getFragmentIcon(): Int {
- return ICON_RES
- }
-
- override fun onDestroy() {
- super.onDestroy()
- unbindSystemUIProxyService()
- }
-
- override fun onCreatePreferences(savedInstanceState: Bundle?, rootKey: String?) {
- setPreferencesFromResource(XML_RES, rootKey)
-
- mEnableCustom = findPreference<SwitchPreference>(FINGERPRINT_CUSTOM_ICON_ENABLE)
- mEnableCustom?.let {
- it.onPreferenceChangeListener = Preference.OnPreferenceChangeListener { _, newValue ->
- if (newValue as Boolean) {
- if (getCustomImagePath().exists()) {
- enablePickerIcon()
- }
- } else {
- systemUIProxy?.resetUfpsImage()
- }
- true
- }
- }
- mFilePicker = findPreference(FINGERPRINT_CUSTOM_ICON_SELECT)
- mFilePicker?.let {
- bindSystemUIProxyService()
-
- if (getCustomImagePath().exists()) {
- setPickerIcon()
- }
-
- it.onPreferenceClickListener = Preference.OnPreferenceClickListener {
- mImagePermissions.launch(arrayOf(READ_MEDIA_IMAGES, READ_MEDIA_VISUAL_USER_SELECTED))
- true
- }
- }
- }
-
- private fun getCustomImagePath(): File {
- return File(requireContext().filesDir, UFPSIMAGE_FILE_NAME)
- }
-
- private fun setPickerIcon() {
- try {
- val parcelFileDescriptor = requireContext().contentResolver.openFileDescriptor(
- Uri.fromFile(getCustomImagePath()),
- "r"
- )
- parcelFileDescriptor?.let { it ->
- val bitmap = BitmapFactory.decodeFileDescriptor(it.fileDescriptor)
- it.close()
- val d = BitmapDrawable(resources, bitmap)
- mFilePicker?.icon = d
- }
- } catch (e: Exception) {
- Log.e(
- TAG,
- "setPickerIcon",
- e
- )
- }
- }
-
- private fun enablePickerIcon() {
- try {
- val parcelFileDescriptor = requireContext().contentResolver.openFileDescriptor(
- Uri.fromFile(getCustomImagePath()),
- "r"
- )
- parcelFileDescriptor?.let { it ->
- val bitmap = BitmapFactory.decodeFileDescriptor(it.fileDescriptor)
- it.close()
- systemUIProxy?.setUfpsImageBitmap(bitmap)
- }
- } catch (e: Exception) {
- Log.e(
- TAG,
- "setPickerIcon",
- e
- )
- }
- }
-
- private fun savePickerIcon(bitmap: Bitmap) {
- try {
- val fos = FileOutputStream(getCustomImagePath())
- bitmap.compress(Bitmap.CompressFormat.PNG, 90, fos)
- fos.close()
- val d = BitmapDrawable(resources, bitmap)
- mFilePicker?.icon = d
- } catch (e: Exception) {
- Log.e(
- TAG,
- "savePickerIcon",
- e
- )
- }
- }
-
- private fun deletePickerIcon() {
- if (getCustomImagePath().exists()) {
- getCustomImagePath().delete()
- }
- }
-}
\ No newline at end of file
diff --git a/app/src/main/java/org/omnirom/control/GridViewFragment.kt b/app/src/main/java/org/omnirom/control/GridViewFragment.kt
index 909cbb2..7fe45c1 100644
--- a/app/src/main/java/org/omnirom/control/GridViewFragment.kt
+++ b/app/src/main/java/org/omnirom/control/GridViewFragment.kt
@@ -141,7 +141,7 @@
)
)
}
- if (resources.getBoolean(R.bool.config_has_udfps)) {
+ /*if (resources.getBoolean(R.bool.config_has_udfps)) {
gridItems.add(
FragmentGridItem(
R.string.fprint_title,
@@ -150,7 +150,7 @@
FingerprintSettingsFragment()
)
)
- }
+ }*/
gridItems.add(
FragmentGridItem(
R.string.lockscreen_item_title,
diff --git a/app/src/main/java/org/omnirom/control/search/SearchProvider.kt b/app/src/main/java/org/omnirom/control/search/SearchProvider.kt
index 09bfbad..3e641e0 100644
--- a/app/src/main/java/org/omnirom/control/search/SearchProvider.kt
+++ b/app/src/main/java/org/omnirom/control/search/SearchProvider.kt
@@ -26,7 +26,6 @@
import org.omnirom.control.BatteryLightSettingsFragment
import org.omnirom.control.ButtonSettingsFragment
import org.omnirom.control.DialerSettingsFragment
-import org.omnirom.control.FingerprintSettingsFragment
import org.omnirom.control.LockscreenSettingsFragment
import org.omnirom.control.MoreSettingsFragment
import org.omnirom.control.QSSettingsFragment
@@ -99,15 +98,6 @@
searchItemList.add(
SearchItem(
- FingerprintSettingsFragment.XML_RES,
- FingerprintSettingsFragment().javaClass.canonicalName!!,
- FingerprintSettingsFragment.ICON_RES,
- FingerprintSettingsFragment::isEnabled
- )
- )
-
- searchItemList.add(
- SearchItem(
DialerSettingsFragment.XML_RES,
DialerSettingsFragment().javaClass.canonicalName!!,
DialerSettingsFragment.ICON_RES,