整理:Frpc相关代码

pull/364/head
pppscn 9 months ago
parent 4a95770553
commit ec7801a015

@ -205,7 +205,7 @@ class MainActivity : BaseActivity<ActivityMainBinding?>(),
}
}
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)

@ -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) {

@ -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<FragmentFrpcsBinding?>(), FrpcPagingAdapter.OnItemClickListener {
@ -57,13 +56,19 @@ class FrpcFragment : BaseFragment<FragmentFrpcsBinding?>(), 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<String?> {
override fun onSubscribe(d: Disposable) {}
override fun onNext(content: String) {
LiveEventBus.get<Frpc>(INTENT_FRPC_EDIT_FILE).post(Frpc(content))
LiveEventBus.get<Frpc>(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<FragmentFrpcsBinding?>(), 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<FragmentFrpcsBinding?>(), FrpcPagingAdapter.On
if (Frpclib.isRunning(item.uid)) {
Frpclib.close(item.uid)
item.setConnecting(false)
item.connecting = false
LiveEventBus.get<Frpc>(EVENT_FRPC_UPDATE_CONFIG).post(item)
return
}
@ -161,7 +167,7 @@ class FrpcFragment : BaseFragment<FragmentFrpcsBinding?>(), FrpcPagingAdapter.On
mLoadingDialog.dismiss()
mLoadingDialog.recycle()
LiveEventBus.get<String>(INTENT_FRPC_APPLY_FILE).postAcrossProcess(item.uid)
item.setConnecting(true)
item.connecting = true
LiveEventBus.get<Frpc>(EVENT_FRPC_UPDATE_CONFIG).post(item)
}
@ -169,11 +175,12 @@ class FrpcFragment : BaseFragment<FragmentFrpcsBinding?>(), FrpcPagingAdapter.On
mLoadingDialog.dismiss()
mLoadingDialog.recycle()
e.message?.let { XToastUtils.error(it) }
item.setConnecting(false)
item.connecting = false
LiveEventBus.get<Frpc>(EVENT_FRPC_UPDATE_CONFIG).post(item)
}
})
}
else -> {
//编辑或删除需要先停止客户端
if (Frpclib.isRunning(item.uid)) {
@ -185,6 +192,7 @@ class FrpcFragment : BaseFragment<FragmentFrpcsBinding?>(), FrpcPagingAdapter.On
LiveEventBus.get<Frpc>(INTENT_FRPC_EDIT_FILE).post(item)
openNewPage(FrpcEditFragment::class.java)
}
R.id.iv_delete -> {
try {
viewModel.delete(item)

@ -0,0 +1,13 @@
<vector xmlns:android="http://schemas.android.com/apk/res/android"
android:width="24dp"
android:height="24dp"
android:tint="#FFFFFF"
android:viewportWidth="24"
android:viewportHeight="24">
<path
android:fillColor="?attr/colorAccent"
android:pathData="M19,3H5C3.9,3 3,3.9 3,5v14c0,1.1 0.9,2 2,2h14c1.1,0 2,-0.9 2,-2V5C21,3.9 20.1,3 19,3zM7.68,14.98H6V9h1.71c1.28,0 1.71,1.03 1.71,1.71l0,2.56C9.42,13.95 9,14.98 7.68,14.98zM12.38,11.46v1.07h-1.18v1.39h1.93v1.07h-2.25c-0.4,0.01 -0.74,-0.31 -0.75,-0.71V9.75c-0.01,-0.4 0.31,-0.74 0.71,-0.75h2.28l0,1.07h-1.92v1.39H12.38zM16.88,14.23c-0.48,1.11 -1.33,0.89 -1.71,0L13.77,9h1.18l1.07,4.11L17.09,9h1.18L16.88,14.23z" />
<path
android:fillColor="?attr/colorAccent"
android:pathData="M7.77,10.12H7.14v3.77h0.63c0.14,0 0.28,-0.05 0.42,-0.16c0.14,-0.1 0.21,-0.26 0.21,-0.47v-2.52c0,-0.21 -0.07,-0.37 -0.21,-0.47C8.05,10.17 7.91,10.12 7.77,10.12z" />
</vector>

@ -55,11 +55,11 @@
android:icon="@drawable/ic_menu_app"
android:title="@string/menu_apps" />
<item
<!--<item
android:id="@+id/nav_logcat"
android:checkable="false"
android:icon="@drawable/ic_menu_logcat"
android:title="@string/menu_logcat" />
android:title="@string/menu_logcat" />-->
</group>

Loading…
Cancel
Save