mirror of
https://github.com/pppscn/SmsForwarder
synced 2025-08-03 01:17:41 +08:00
整理:Frpc相关代码
This commit is contained in:
parent
4a95770553
commit
ec7801a015
@ -205,7 +205,7 @@ class MainActivity : BaseActivity<ActivityMainBinding?>(),
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
R.id.nav_app_list -> openNewPage(AppListFragment::class.java)
|
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_help -> AgentWebActivity.goWeb(this, getString(R.string.url_help))
|
||||||
R.id.nav_about -> openNewPage(AboutFragment::class.java)
|
R.id.nav_about -> openNewPage(AboutFragment::class.java)
|
||||||
else -> XToastUtils.toast("Click:" + menuItem.title)
|
else -> XToastUtils.toast("Click:" + menuItem.title)
|
||||||
|
@ -14,25 +14,13 @@ import java.util.*
|
|||||||
@Entity(tableName = "Frpc")
|
@Entity(tableName = "Frpc")
|
||||||
data class Frpc(
|
data class Frpc(
|
||||||
@PrimaryKey
|
@PrimaryKey
|
||||||
@ColumnInfo(name = "uid") var uid: String,
|
@ColumnInfo(name = "uid") var uid: String = "",
|
||||||
@ColumnInfo(name = "name") var name: String,
|
@ColumnInfo(name = "name") var name: String = "",
|
||||||
@ColumnInfo(name = "config") var config: String,
|
@ColumnInfo(name = "config") var config: String = "",
|
||||||
@ColumnInfo(name = "autorun", defaultValue = "0") var autorun: Int = 0,
|
@ColumnInfo(name = "autorun", defaultValue = "0") var autorun: Int = 0,
|
||||||
@ColumnInfo(name = "time") var time: Date = Date(),
|
@ColumnInfo(name = "time") var time: Date = Date(),
|
||||||
@Ignore var connecting: Boolean = false,
|
@Ignore var connecting: Boolean = false,
|
||||||
) : Parcelable {
|
) : 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
|
val autorunImageId: Int
|
||||||
get() = when (autorun) {
|
get() = when (autorun) {
|
||||||
|
@ -38,7 +38,6 @@ import io.reactivex.schedulers.Schedulers
|
|||||||
import kotlinx.coroutines.flow.collectLatest
|
import kotlinx.coroutines.flow.collectLatest
|
||||||
import kotlinx.coroutines.launch
|
import kotlinx.coroutines.launch
|
||||||
|
|
||||||
@Suppress("DEPRECATION")
|
|
||||||
@Page(name = "Frp内网穿透")
|
@Page(name = "Frp内网穿透")
|
||||||
class FrpcFragment : BaseFragment<FragmentFrpcsBinding?>(), FrpcPagingAdapter.OnItemClickListener {
|
class FrpcFragment : BaseFragment<FragmentFrpcsBinding?>(), FrpcPagingAdapter.OnItemClickListener {
|
||||||
|
|
||||||
@ -57,13 +56,19 @@ class FrpcFragment : BaseFragment<FragmentFrpcsBinding?>(), FrpcPagingAdapter.On
|
|||||||
titleBar = super.initTitle()!!.setImmersive(false)
|
titleBar = super.initTitle()!!.setImmersive(false)
|
||||||
titleBar!!.setTitle(R.string.menu_frpc)
|
titleBar!!.setTitle(R.string.menu_frpc)
|
||||||
titleBar!!.setActionTextColor(ThemeUtils.resolveColor(context, R.attr.colorAccent))
|
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) {
|
titleBar!!.addAction(object : TitleBar.ImageAction(R.drawable.ic_add) {
|
||||||
@SingleClick
|
@SingleClick
|
||||||
override fun performAction(view: View) {
|
override fun performAction(view: View) {
|
||||||
FrpcUtils.getStringFromRaw(context!!, R.raw.frpc).subscribeOn(Schedulers.io()).observeOn(AndroidSchedulers.mainThread()).subscribe(object : Observer<String?> {
|
FrpcUtils.getStringFromRaw(context!!, R.raw.frpc).subscribeOn(Schedulers.io()).observeOn(AndroidSchedulers.mainThread()).subscribe(object : Observer<String?> {
|
||||||
override fun onSubscribe(d: Disposable) {}
|
override fun onSubscribe(d: Disposable) {}
|
||||||
override fun onNext(content: String) {
|
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?)!!)
|
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)
|
ClipboardUtils.copyText(item.uid)
|
||||||
XToastUtils.info(String.format(getString(R.string.copied_to_clipboard), item.uid))
|
XToastUtils.info(String.format(getString(R.string.copied_to_clipboard), item.uid))
|
||||||
}
|
}
|
||||||
|
|
||||||
R.id.iv_play -> {
|
R.id.iv_play -> {
|
||||||
if (!ForegroundService.isRunning) {
|
if (!ForegroundService.isRunning) {
|
||||||
Intent(requireContext(), ForegroundService::class.java).also {
|
Intent(requireContext(), ForegroundService::class.java).also {
|
||||||
@ -143,7 +149,7 @@ class FrpcFragment : BaseFragment<FragmentFrpcsBinding?>(), FrpcPagingAdapter.On
|
|||||||
|
|
||||||
if (Frpclib.isRunning(item.uid)) {
|
if (Frpclib.isRunning(item.uid)) {
|
||||||
Frpclib.close(item.uid)
|
Frpclib.close(item.uid)
|
||||||
item.setConnecting(false)
|
item.connecting = false
|
||||||
LiveEventBus.get<Frpc>(EVENT_FRPC_UPDATE_CONFIG).post(item)
|
LiveEventBus.get<Frpc>(EVENT_FRPC_UPDATE_CONFIG).post(item)
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
@ -161,7 +167,7 @@ class FrpcFragment : BaseFragment<FragmentFrpcsBinding?>(), FrpcPagingAdapter.On
|
|||||||
mLoadingDialog.dismiss()
|
mLoadingDialog.dismiss()
|
||||||
mLoadingDialog.recycle()
|
mLoadingDialog.recycle()
|
||||||
LiveEventBus.get<String>(INTENT_FRPC_APPLY_FILE).postAcrossProcess(item.uid)
|
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)
|
LiveEventBus.get<Frpc>(EVENT_FRPC_UPDATE_CONFIG).post(item)
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -169,11 +175,12 @@ class FrpcFragment : BaseFragment<FragmentFrpcsBinding?>(), FrpcPagingAdapter.On
|
|||||||
mLoadingDialog.dismiss()
|
mLoadingDialog.dismiss()
|
||||||
mLoadingDialog.recycle()
|
mLoadingDialog.recycle()
|
||||||
e.message?.let { XToastUtils.error(it) }
|
e.message?.let { XToastUtils.error(it) }
|
||||||
item.setConnecting(false)
|
item.connecting = false
|
||||||
LiveEventBus.get<Frpc>(EVENT_FRPC_UPDATE_CONFIG).post(item)
|
LiveEventBus.get<Frpc>(EVENT_FRPC_UPDATE_CONFIG).post(item)
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
else -> {
|
else -> {
|
||||||
//编辑或删除需要先停止客户端
|
//编辑或删除需要先停止客户端
|
||||||
if (Frpclib.isRunning(item.uid)) {
|
if (Frpclib.isRunning(item.uid)) {
|
||||||
@ -185,6 +192,7 @@ class FrpcFragment : BaseFragment<FragmentFrpcsBinding?>(), FrpcPagingAdapter.On
|
|||||||
LiveEventBus.get<Frpc>(INTENT_FRPC_EDIT_FILE).post(item)
|
LiveEventBus.get<Frpc>(INTENT_FRPC_EDIT_FILE).post(item)
|
||||||
openNewPage(FrpcEditFragment::class.java)
|
openNewPage(FrpcEditFragment::class.java)
|
||||||
}
|
}
|
||||||
|
|
||||||
R.id.iv_delete -> {
|
R.id.iv_delete -> {
|
||||||
try {
|
try {
|
||||||
viewModel.delete(item)
|
viewModel.delete(item)
|
||||||
|
13
app/src/main/res/drawable/ic_logcat.xml
Normal file
13
app/src/main/res/drawable/ic_logcat.xml
Normal file
@ -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:icon="@drawable/ic_menu_app"
|
||||||
android:title="@string/menu_apps" />
|
android:title="@string/menu_apps" />
|
||||||
|
|
||||||
<item
|
<!--<item
|
||||||
android:id="@+id/nav_logcat"
|
android:id="@+id/nav_logcat"
|
||||||
android:checkable="false"
|
android:checkable="false"
|
||||||
android:icon="@drawable/ic_menu_logcat"
|
android:icon="@drawable/ic_menu_logcat"
|
||||||
android:title="@string/menu_logcat" />
|
android:title="@string/menu_logcat" />-->
|
||||||
|
|
||||||
</group>
|
</group>
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user