diff --git a/app/src/main/java/com/idormy/sms/forwarder/activity/MainActivity.kt b/app/src/main/java/com/idormy/sms/forwarder/activity/MainActivity.kt index d92adfe6..7e3e0d9a 100644 --- a/app/src/main/java/com/idormy/sms/forwarder/activity/MainActivity.kt +++ b/app/src/main/java/com/idormy/sms/forwarder/activity/MainActivity.kt @@ -205,7 +205,7 @@ class MainActivity : BaseActivity(), } } R.id.nav_app_list -> openNewPage(AppListFragment::class.java) - R.id.nav_logcat -> openNewPage(LogcatFragment::class.java) + //R.id.nav_logcat -> openNewPage(LogcatFragment::class.java) R.id.nav_help -> AgentWebActivity.goWeb(this, getString(R.string.url_help)) R.id.nav_about -> openNewPage(AboutFragment::class.java) else -> XToastUtils.toast("Click:" + menuItem.title) diff --git a/app/src/main/java/com/idormy/sms/forwarder/database/entity/Frpc.kt b/app/src/main/java/com/idormy/sms/forwarder/database/entity/Frpc.kt index 30ab7837..434bff32 100644 --- a/app/src/main/java/com/idormy/sms/forwarder/database/entity/Frpc.kt +++ b/app/src/main/java/com/idormy/sms/forwarder/database/entity/Frpc.kt @@ -14,25 +14,13 @@ import java.util.* @Entity(tableName = "Frpc") data class Frpc( @PrimaryKey - @ColumnInfo(name = "uid") var uid: String, - @ColumnInfo(name = "name") var name: String, - @ColumnInfo(name = "config") var config: String, + @ColumnInfo(name = "uid") var uid: String = "", + @ColumnInfo(name = "name") var name: String = "", + @ColumnInfo(name = "config") var config: String = "", @ColumnInfo(name = "autorun", defaultValue = "0") var autorun: Int = 0, @ColumnInfo(name = "time") var time: Date = Date(), @Ignore var connecting: Boolean = false, ) : Parcelable { - constructor() : this("", "", "", 0, Date(), false) - - @Ignore - constructor(config: String) : this("", "", config, 0, Date(), false) - - @Ignore - constructor(uid: String, name: String, config: String) : this(uid, name, config, 0, Date(), false) - - fun setConnecting(connecting: Boolean): Frpc { - this.connecting = connecting - return this - } val autorunImageId: Int get() = when (autorun) { diff --git a/app/src/main/java/com/idormy/sms/forwarder/fragment/FrpcFragment.kt b/app/src/main/java/com/idormy/sms/forwarder/fragment/FrpcFragment.kt index 60d93c26..485eeb21 100644 --- a/app/src/main/java/com/idormy/sms/forwarder/fragment/FrpcFragment.kt +++ b/app/src/main/java/com/idormy/sms/forwarder/fragment/FrpcFragment.kt @@ -38,7 +38,6 @@ import io.reactivex.schedulers.Schedulers import kotlinx.coroutines.flow.collectLatest import kotlinx.coroutines.launch -@Suppress("DEPRECATION") @Page(name = "Frp内网穿透") class FrpcFragment : BaseFragment(), FrpcPagingAdapter.OnItemClickListener { @@ -57,13 +56,19 @@ class FrpcFragment : BaseFragment(), FrpcPagingAdapter.On titleBar = super.initTitle()!!.setImmersive(false) titleBar!!.setTitle(R.string.menu_frpc) titleBar!!.setActionTextColor(ThemeUtils.resolveColor(context, R.attr.colorAccent)) + titleBar!!.addAction(object : TitleBar.ImageAction(R.drawable.ic_logcat) { + @SingleClick + override fun performAction(view: View) { + openNewPage(LogcatFragment::class.java) + } + }) titleBar!!.addAction(object : TitleBar.ImageAction(R.drawable.ic_add) { @SingleClick override fun performAction(view: View) { FrpcUtils.getStringFromRaw(context!!, R.raw.frpc).subscribeOn(Schedulers.io()).observeOn(AndroidSchedulers.mainThread()).subscribe(object : Observer { override fun onSubscribe(d: Disposable) {} override fun onNext(content: String) { - LiveEventBus.get(INTENT_FRPC_EDIT_FILE).post(Frpc(content)) + LiveEventBus.get(INTENT_FRPC_EDIT_FILE).post(Frpc(config = content)) PageOption.to(FrpcEditFragment::class.java).setNewActivity(true).open((context as XPageActivity?)!!) } @@ -130,6 +135,7 @@ class FrpcFragment : BaseFragment(), FrpcPagingAdapter.On ClipboardUtils.copyText(item.uid) XToastUtils.info(String.format(getString(R.string.copied_to_clipboard), item.uid)) } + R.id.iv_play -> { if (!ForegroundService.isRunning) { Intent(requireContext(), ForegroundService::class.java).also { @@ -143,7 +149,7 @@ class FrpcFragment : BaseFragment(), FrpcPagingAdapter.On if (Frpclib.isRunning(item.uid)) { Frpclib.close(item.uid) - item.setConnecting(false) + item.connecting = false LiveEventBus.get(EVENT_FRPC_UPDATE_CONFIG).post(item) return } @@ -161,7 +167,7 @@ class FrpcFragment : BaseFragment(), FrpcPagingAdapter.On mLoadingDialog.dismiss() mLoadingDialog.recycle() LiveEventBus.get(INTENT_FRPC_APPLY_FILE).postAcrossProcess(item.uid) - item.setConnecting(true) + item.connecting = true LiveEventBus.get(EVENT_FRPC_UPDATE_CONFIG).post(item) } @@ -169,11 +175,12 @@ class FrpcFragment : BaseFragment(), FrpcPagingAdapter.On mLoadingDialog.dismiss() mLoadingDialog.recycle() e.message?.let { XToastUtils.error(it) } - item.setConnecting(false) + item.connecting = false LiveEventBus.get(EVENT_FRPC_UPDATE_CONFIG).post(item) } }) } + else -> { //编辑或删除需要先停止客户端 if (Frpclib.isRunning(item.uid)) { @@ -185,6 +192,7 @@ class FrpcFragment : BaseFragment(), FrpcPagingAdapter.On LiveEventBus.get(INTENT_FRPC_EDIT_FILE).post(item) openNewPage(FrpcEditFragment::class.java) } + R.id.iv_delete -> { try { viewModel.delete(item) diff --git a/app/src/main/res/drawable/ic_logcat.xml b/app/src/main/res/drawable/ic_logcat.xml new file mode 100644 index 00000000..10d05ca4 --- /dev/null +++ b/app/src/main/res/drawable/ic_logcat.xml @@ -0,0 +1,13 @@ + + + + diff --git a/app/src/main/res/menu/menu_drawer.xml b/app/src/main/res/menu/menu_drawer.xml index 7e1a33d9..ebf29a78 100644 --- a/app/src/main/res/menu/menu_drawer.xml +++ b/app/src/main/res/menu/menu_drawer.xml @@ -55,11 +55,11 @@ android:icon="@drawable/ic_menu_app" android:title="@string/menu_apps" /> - + android:title="@string/menu_logcat" />-->