@file:Suppress("DEPRECATION") package com.lt2333.simplicitytools.activity import android.annotation.SuppressLint import android.content.Intent import android.net.Uri import android.os.Bundle import android.widget.Toast import cn.fkj233.ui.activity.MIUIActivity import cn.fkj233.ui.activity.view.* import cn.fkj233.ui.dialog.MIUIDialog import com.lt2333.simplicitytools.BuildConfig import com.lt2333.simplicitytools.R import com.lt2333.simplicitytools.util.ShellUtils import com.microsoft.appcenter.AppCenter import com.microsoft.appcenter.analytics.Analytics import com.microsoft.appcenter.crashes.Crashes import kotlin.system.exitProcess class SettingsActivity : MIUIActivity() { private val activity = this override fun onCreate(savedInstanceState: Bundle?) { AppCenter.start( application, "ae2037d3-9914-4e0c-b02b-f9b2bb2574e5", Analytics::class.java, Crashes::class.java ) checkLSPosed() super.onCreate(savedInstanceState) } @SuppressLint("WorldReadableFiles") private fun checkLSPosed() { try { setSP(getSharedPreferences("config", MODE_WORLD_READABLE)) } catch (exception: SecurityException) { isLoad = false MIUIDialog(this).apply { setTitle(R.string.Tips) setMessage("您似乎正在使用过时的 LSPosed 版本或 LSPosed 未激活,请更新 LSPosed 或者激活后再试。") setCancelable(false) setRButton("确定") { exitProcess(0) } show() } } } override fun mainName(): String { return getString(R.string.app_name) } override fun mainItems(): ArrayList { return arrayListOf().apply { add(TextWithSwitchV(TextV(resId = R.string.main_switch), SwitchV("main_switch"))) add(TitleTextV(resId = R.string.ui)) add(TextWithSwitchV(TextV(resId = R.string.delete_on_post_notification), SwitchV("delete_on_post_notification"))) add(LineV()) add(TitleTextV(resId = R.string.statusbar)) add(TextWithSwitchV(TextV(resId = R.string.status_bar_time_seconds), SwitchV("status_bar_time_seconds"))) add(TextWithSwitchV(TextV(resId = R.string.status_bar_network_speed_refresh_speed), SwitchV("status_bar_network_speed_refresh_speed"))) add(TextWithSwitchV(TextV(resId = R.string.hide_status_bar_network_speed_second), SwitchV("hide_status_bar_network_speed_second"))) add(TextWithSwitchV(TextV(resId = R.string.remove_the_maximum_number_of_notification_icons), SwitchV("remove_the_maximum_number_of_notification_icons"))) add(LineV()) add(TitleTextV(resId = R.string.status_bar_icon)) add(TextWithSwitchV(TextV(resId = R.string.hide_gps_icon), SwitchV("hide_gps_icon"))) add(TextWithSwitchV(TextV(resId = R.string.hide_bluetooth_icon), SwitchV("hide_bluetooth_icon"))) add(TextWithSwitchV(TextV(resId = R.string.hide_bluetooth_battery_icon), SwitchV("hide_bluetooth_battery_icon"))) add(TextWithSwitchV(TextV(resId = R.string.hide_small_hd_icon), SwitchV("hide_small_hd_icon"))) add(TextWithSwitchV(TextV(resId = R.string.hide_big_hd_icon), SwitchV("hide_big_hd_icon"))) add(TextWithSwitchV(TextV(resId = R.string.hide_hd_no_service_icon), SwitchV("hide_hd_no_service_icon"))) add(TextWithSwitchV(TextV(resId = R.string.hide_sim_one_icon), SwitchV("hide_sim_one_icon"))) add(TextWithSwitchV(TextV(resId = R.string.hide_sim_two_icon), SwitchV("hide_sim_two_icon"))) add(TextWithSwitchV(TextV(resId = R.string.hide_no_sim_icon), SwitchV("hide_no_sim_icon"))) add(TextWithSwitchV(TextV(resId = R.string.hide_wifi_icon), SwitchV("hide_wifi_icon"))) add(TextWithSwitchV(TextV(resId = R.string.hide_hotspot_icon), SwitchV("hide_hotspot_icon"))) add(TextWithSwitchV(TextV(resId = R.string.hide_vpn_icon), SwitchV("hide_vpn_icon"))) add(TextWithSwitchV(TextV(resId = R.string.hide_airplane_icon), SwitchV("hide_airplane_icon"))) add(TextWithSwitchV(TextV(resId = R.string.hide_alarm_icon), SwitchV("hide_alarm_icon"))) add(TextWithSwitchV(TextV(resId = R.string.hide_headset_icon), SwitchV("hide_headset_icon"))) add(TextWithSwitchV(TextV(resId = R.string.hide_volume_zen_icon), SwitchV("hide_volume_zen_icon"))) add(LineV()) add(TitleTextV(resId = R.string.home)) add(TextWithSwitchV(TextV(resId = R.string.home_time), SwitchV("home_time"))) add(LineV()) add(TitleTextV(resId = R.string.performance)) add(TextWithSwitchV(TextV(resId = R.string.lock_max_fps), SwitchV("lock_max_fps"))) add(LineV()) add(TitleTextV(resId = R.string.other)) add(TextWithSwitchV(TextV(resId = R.string.disable_flag_secure), SwitchV("disable_flag_secure"))) add(LineV()) add(TitleTextV(resId = R.string.about)) add(TextSummaryV(textId = R.string.opensource, tipsId = R.string.github_url, onClickListener = { try { val uri = Uri.parse("https://github.com/LittleTurtle2333/Simplicity_Tools_Xposed") val intent = Intent(Intent.ACTION_VIEW, uri) startActivity(intent) } catch (e: Exception) { Toast.makeText(activity, "访问失败", Toast.LENGTH_SHORT).show() } })) add(TextSummaryV(textId = R.string.issues, tipsId = R.string.issues_url, onClickListener = { try { val uri = Uri.parse("https://github.com/LittleTurtle2333/Simplicity_Tools_Xposed/issues") val intent = Intent(Intent.ACTION_VIEW, uri) startActivity(intent) } catch (e: Exception) { Toast.makeText(activity, "访问失败", Toast.LENGTH_SHORT).show() } })) add(TextSummaryV(textId = R.string.dev_coolapk, tipsId = R.string.dev_coolapk_name, onClickListener = { try { startActivity( Intent( Intent.ACTION_VIEW, Uri.parse("coolmarket://u/883441") ) ) Toast.makeText(activity, "乌堆小透明:靓仔,点个关注吧!", Toast.LENGTH_SHORT).show() } catch (e: Exception) { Toast.makeText(activity, "本机未安装酷安应用", Toast.LENGTH_SHORT).show() val uri = Uri.parse("http://www.coolapk.com/u/883441") val intent = Intent(Intent.ACTION_VIEW, uri) startActivity(intent) } })) add(TextSummaryV(textId = R.string.verison, tips = "${BuildConfig.VERSION_NAME}(${BuildConfig.BUILD_TYPE})")) } } override fun menuName(): String { return getString(R.string.menu) } override fun menuItems(): ArrayList { return ArrayList().apply { add(TextSummaryV(textId = R.string.reboot, onClickListener = { MIUIDialog(activity).apply { setTitle(R.string.Tips) setMessage("确定重启系统?") setLButton("取消") { dismiss() } setRButton("确定") { val command = arrayOf("reboot") ShellUtils.execCommand(command, true) dismiss() } show() } })) add(TextSummaryV(textId = R.string.reboot_ui, onClickListener = { MIUIDialog(activity).apply { setTitle(R.string.Tips) setMessage("确定重启系统界面?") setLButton("取消") { dismiss() } setRButton("确定") { val command = arrayOf("killall com.android.systemui") ShellUtils.execCommand(command, true) dismiss() } show() } })) } } override fun getItems(item: String): ArrayList { return when (item) { /** 必须写这两个 不然会出错 */ menuName() -> menuItems() else -> mainItems() } } }