From 57476290d3730a7bbabb4a52a2c058d1306ef74f Mon Sep 17 00:00:00 2001 From: yuhan6665 <1588741+yuhan6665@users.noreply.github.com> Date: Fri, 9 Jul 2021 20:44:38 -0400 Subject: [PATCH 1/2] Auto Migrate to AndroidX --- V2rayNG/app/build.gradle | 22 ++++++++--------- .../ang/helper/ItemTouchHelperAdapter.java | 4 ++-- .../ang/helper/ItemTouchHelperViewHolder.java | 2 +- .../v2ray/ang/helper/OnStartDragListener.java | 2 +- .../helper/SimpleItemTouchHelperCallback.java | 6 ++--- .../kotlin/com/v2ray/ang/AngApplication.kt | 4 ++-- .../kotlin/com/v2ray/ang/extension/_Dialog.kt | 4 ++-- .../v2ray/ang/service/V2RayServiceManager.kt | 4 ++-- .../com/v2ray/ang/service/V2RayVpnService.kt | 2 +- .../kotlin/com/v2ray/ang/ui/BaseActivity.kt | 4 ++-- .../com/v2ray/ang/ui/FragmentAdapter.kt | 8 +++---- .../kotlin/com/v2ray/ang/ui/MainActivity.kt | 12 +++++----- .../com/v2ray/ang/ui/MainRecyclerAdapter.kt | 6 ++--- .../com/v2ray/ang/ui/PerAppProxyActivity.kt | 8 +++---- .../com/v2ray/ang/ui/PerAppProxyAdapter.kt | 2 +- .../v2ray/ang/ui/RoutingSettingsActivity.kt | 2 +- .../v2ray/ang/ui/RoutingSettingsFragment.kt | 4 ++-- .../kotlin/com/v2ray/ang/ui/ServerActivity.kt | 2 +- .../ang/ui/ServerCustomConfigActivity.kt | 2 +- .../com/v2ray/ang/ui/SettingsActivity.kt | 4 ++-- .../com/v2ray/ang/ui/SubEditActivity.kt | 2 +- .../com/v2ray/ang/ui/SubSettingActivity.kt | 2 +- .../v2ray/ang/ui/SubSettingRecyclerAdapter.kt | 2 +- .../com/v2ray/ang/util/AngConfigManager.kt | 2 +- .../com/v2ray/ang/viewmodel/MainViewModel.kt | 4 ++-- .../v2ray/ang/viewmodel/SettingsViewModel.kt | 4 ++-- .../main/res/layout/activity_bypass_list.xml | 24 +++++++++---------- .../app/src/main/res/layout/activity_main.xml | 22 ++++++++--------- .../res/layout/activity_routing_settings.xml | 6 ++--- .../main/res/layout/activity_sub_setting.xml | 8 +++---- .../src/main/res/layout/activity_tasker.xml | 6 ++--- .../res/layout/item_recycler_bypass_list.xml | 10 ++++---- .../main/res/layout/item_recycler_main.xml | 6 ++--- .../res/layout/item_recycler_sub_setting.xml | 6 ++--- .../app/src/main/res/layout/nav_toolbar.xml | 6 ++--- V2rayNG/app/src/main/res/layout/nav_view.xml | 4 ++-- V2rayNG/gradle.properties | 4 +++- 37 files changed, 112 insertions(+), 110 deletions(-) diff --git a/V2rayNG/app/build.gradle b/V2rayNG/app/build.gradle index 1f5dbeb85..0faf5fb54 100644 --- a/V2rayNG/app/build.gradle +++ b/V2rayNG/app/build.gradle @@ -76,21 +76,21 @@ dependencies { implementation "org.jetbrains.kotlinx:kotlinx-coroutines-android:1.3.9" // Androidx ktx - implementation 'android.arch.lifecycle:extensions:1.1.1' - implementation 'android.arch.lifecycle:livedata:1.1.1' + implementation 'androidx.lifecycle:lifecycle-extensions:2.0.0' + implementation 'androidx.lifecycle:lifecycle-livedata:2.0.0' // Android support library - implementation "com.android.support:support-v4:$supportLibVersion" - implementation "com.android.support:appcompat-v7:$supportLibVersion" - implementation "com.android.support:design:$supportLibVersion" - implementation "com.android.support:cardview-v7:$supportLibVersion" - implementation "com.android.support:preference-v7:$supportLibVersion" - implementation "com.android.support:recyclerview-v7:$supportLibVersion" - implementation "com.android.support:multidex:1.0.3" - implementation 'com.android.support.constraint:constraint-layout:2.0.1' + implementation "androidx.legacy:legacy-support-v4:$supportLibVersion" + implementation "androidx.appcompat:appcompat:$supportLibVersion" + implementation "com.google.android.material:material:$supportLibVersion" + implementation "androidx.cardview:cardview:$supportLibVersion" + implementation "androidx.preference:preference:$supportLibVersion" + implementation "androidx.recyclerview:recyclerview:$supportLibVersion" + implementation 'androidx.multidex:multidex:2.0.0' + implementation 'androidx.constraintlayout:constraintlayout:1.1.3' // DSL - implementation 'com.tencent:mmkv-static:1.0.19' + implementation 'com.tencent:mmkv-static:1.2.7' implementation 'com.google.code.gson:gson:2.8.6' implementation 'io.reactivex:rxjava:1.3.4' implementation 'io.reactivex:rxandroid:1.2.1' diff --git a/V2rayNG/app/src/main/java/com/v2ray/ang/helper/ItemTouchHelperAdapter.java b/V2rayNG/app/src/main/java/com/v2ray/ang/helper/ItemTouchHelperAdapter.java index 6b0ae1f82..2de0c74ac 100644 --- a/V2rayNG/app/src/main/java/com/v2ray/ang/helper/ItemTouchHelperAdapter.java +++ b/V2rayNG/app/src/main/java/com/v2ray/ang/helper/ItemTouchHelperAdapter.java @@ -16,8 +16,8 @@ package com.v2ray.ang.helper; -import android.support.v7.widget.RecyclerView; -import android.support.v7.widget.helper.ItemTouchHelper; +import androidx.recyclerview.widget.RecyclerView; +import androidx.recyclerview.widget.ItemTouchHelper; /** * Interface to listen for a move or dismissal event from a {@link ItemTouchHelper.Callback}. diff --git a/V2rayNG/app/src/main/java/com/v2ray/ang/helper/ItemTouchHelperViewHolder.java b/V2rayNG/app/src/main/java/com/v2ray/ang/helper/ItemTouchHelperViewHolder.java index e20014de5..149768fc1 100644 --- a/V2rayNG/app/src/main/java/com/v2ray/ang/helper/ItemTouchHelperViewHolder.java +++ b/V2rayNG/app/src/main/java/com/v2ray/ang/helper/ItemTouchHelperViewHolder.java @@ -16,7 +16,7 @@ package com.v2ray.ang.helper; -import android.support.v7.widget.helper.ItemTouchHelper; +import androidx.recyclerview.widget.ItemTouchHelper; /** * Interface to notify an item ViewHolder of relevant callbacks from {@link diff --git a/V2rayNG/app/src/main/java/com/v2ray/ang/helper/OnStartDragListener.java b/V2rayNG/app/src/main/java/com/v2ray/ang/helper/OnStartDragListener.java index 163f94de0..a6407b6f5 100644 --- a/V2rayNG/app/src/main/java/com/v2ray/ang/helper/OnStartDragListener.java +++ b/V2rayNG/app/src/main/java/com/v2ray/ang/helper/OnStartDragListener.java @@ -16,7 +16,7 @@ package com.v2ray.ang.helper; -import android.support.v7.widget.RecyclerView; +import androidx.recyclerview.widget.RecyclerView; /** * Listener for manual initiation of a drag. diff --git a/V2rayNG/app/src/main/java/com/v2ray/ang/helper/SimpleItemTouchHelperCallback.java b/V2rayNG/app/src/main/java/com/v2ray/ang/helper/SimpleItemTouchHelperCallback.java index 0d6436b9e..3c56dfb71 100644 --- a/V2rayNG/app/src/main/java/com/v2ray/ang/helper/SimpleItemTouchHelperCallback.java +++ b/V2rayNG/app/src/main/java/com/v2ray/ang/helper/SimpleItemTouchHelperCallback.java @@ -17,9 +17,9 @@ package com.v2ray.ang.helper; import android.graphics.Canvas; -import android.support.v7.widget.GridLayoutManager; -import android.support.v7.widget.RecyclerView; -import android.support.v7.widget.helper.ItemTouchHelper; +import androidx.recyclerview.widget.GridLayoutManager; +import androidx.recyclerview.widget.RecyclerView; +import androidx.recyclerview.widget.ItemTouchHelper; /** * An implementation of {@link ItemTouchHelper.Callback} that enables basic drag & drop and diff --git a/V2rayNG/app/src/main/kotlin/com/v2ray/ang/AngApplication.kt b/V2rayNG/app/src/main/kotlin/com/v2ray/ang/AngApplication.kt index 38787b788..6ca82ded8 100644 --- a/V2rayNG/app/src/main/kotlin/com/v2ray/ang/AngApplication.kt +++ b/V2rayNG/app/src/main/kotlin/com/v2ray/ang/AngApplication.kt @@ -1,7 +1,7 @@ package com.v2ray.ang -import android.support.multidex.MultiDexApplication -import android.support.v7.preference.PreferenceManager +import androidx.multidex.MultiDexApplication +import androidx.preference.PreferenceManager import com.tencent.mmkv.MMKV class AngApplication : MultiDexApplication() { diff --git a/V2rayNG/app/src/main/kotlin/com/v2ray/ang/extension/_Dialog.kt b/V2rayNG/app/src/main/kotlin/com/v2ray/ang/extension/_Dialog.kt index f70b51301..1addbfe10 100644 --- a/V2rayNG/app/src/main/kotlin/com/v2ray/ang/extension/_Dialog.kt +++ b/V2rayNG/app/src/main/kotlin/com/v2ray/ang/extension/_Dialog.kt @@ -6,7 +6,7 @@ import android.content.Context import android.content.DialogInterface import android.database.Cursor import android.graphics.drawable.Drawable -import android.support.v7.app.AlertDialog +import androidx.appcompat.app.AlertDialog import android.view.KeyEvent import android.view.View import android.widget.ListAdapter @@ -241,4 +241,4 @@ class KAlertDialogBuilder(val ctx: Context) { fun adapter(cursor: Cursor, labelColumn: String, f: (which: Int) -> Unit) { builder.setCursor(cursor, { dialog, which -> f(which) }, labelColumn) } -} \ No newline at end of file +} diff --git a/V2rayNG/app/src/main/kotlin/com/v2ray/ang/service/V2RayServiceManager.kt b/V2rayNG/app/src/main/kotlin/com/v2ray/ang/service/V2RayServiceManager.kt index 61acaafb4..cf44bfa2f 100644 --- a/V2rayNG/app/src/main/kotlin/com/v2ray/ang/service/V2RayServiceManager.kt +++ b/V2rayNG/app/src/main/kotlin/com/v2ray/ang/service/V2RayServiceManager.kt @@ -10,8 +10,8 @@ import android.content.Intent import android.content.IntentFilter import android.graphics.Color import android.os.Build -import android.support.annotation.RequiresApi -import android.support.v4.app.NotificationCompat +import androidx.annotation.RequiresApi +import androidx.core.app.NotificationCompat import android.util.Log import com.tencent.mmkv.MMKV import com.v2ray.ang.AppConfig diff --git a/V2rayNG/app/src/main/kotlin/com/v2ray/ang/service/V2RayVpnService.kt b/V2rayNG/app/src/main/kotlin/com/v2ray/ang/service/V2RayVpnService.kt index 0a21a3130..586c5c00d 100644 --- a/V2rayNG/app/src/main/kotlin/com/v2ray/ang/service/V2RayVpnService.kt +++ b/V2rayNG/app/src/main/kotlin/com/v2ray/ang/service/V2RayVpnService.kt @@ -8,7 +8,7 @@ import android.net.* import android.os.Build import android.os.ParcelFileDescriptor import android.os.StrictMode -import android.support.annotation.RequiresApi +import androidx.annotation.RequiresApi import android.util.Log import com.tencent.mmkv.MMKV import com.v2ray.ang.AppConfig diff --git a/V2rayNG/app/src/main/kotlin/com/v2ray/ang/ui/BaseActivity.kt b/V2rayNG/app/src/main/kotlin/com/v2ray/ang/ui/BaseActivity.kt index 8ea4d87c0..3f11b6493 100644 --- a/V2rayNG/app/src/main/kotlin/com/v2ray/ang/ui/BaseActivity.kt +++ b/V2rayNG/app/src/main/kotlin/com/v2ray/ang/ui/BaseActivity.kt @@ -1,6 +1,6 @@ package com.v2ray.ang.ui -import android.support.v7.app.AppCompatActivity +import androidx.appcompat.app.AppCompatActivity import android.view.MenuItem abstract class BaseActivity : AppCompatActivity() { @@ -11,4 +11,4 @@ abstract class BaseActivity : AppCompatActivity() { } else -> super.onOptionsItemSelected(item) } -} \ No newline at end of file +} diff --git a/V2rayNG/app/src/main/kotlin/com/v2ray/ang/ui/FragmentAdapter.kt b/V2rayNG/app/src/main/kotlin/com/v2ray/ang/ui/FragmentAdapter.kt index e4d34e3f0..f90b3e79d 100644 --- a/V2rayNG/app/src/main/kotlin/com/v2ray/ang/ui/FragmentAdapter.kt +++ b/V2rayNG/app/src/main/kotlin/com/v2ray/ang/ui/FragmentAdapter.kt @@ -1,9 +1,9 @@ package com.v2ray.ang.ui -import android.support.v4.app.Fragment -import android.support.v4.app.FragmentManager -import android.support.v4.app.FragmentStatePagerAdapter +import androidx.fragment.app.Fragment +import androidx.fragment.app.FragmentManager +import androidx.fragment.app.FragmentStatePagerAdapter class FragmentAdapter(fm: FragmentManager, private val mFragments: List, private val mTitles: List) : FragmentStatePagerAdapter(fm) { @@ -18,4 +18,4 @@ class FragmentAdapter(fm: FragmentManager, private val mFragments: List - - - - - - - - - + - + - \ No newline at end of file + diff --git a/V2rayNG/app/src/main/res/layout/activity_main.xml b/V2rayNG/app/src/main/res/layout/activity_main.xml index 8da29fc7b..972af7c1c 100644 --- a/V2rayNG/app/src/main/res/layout/activity_main.xml +++ b/V2rayNG/app/src/main/res/layout/activity_main.xml @@ -1,5 +1,5 @@ - - - - + - @@ -44,7 +44,7 @@ android:layout_height="match_parent" android:orientation="vertical"> - - - + - - + - + diff --git a/V2rayNG/app/src/main/res/layout/activity_routing_settings.xml b/V2rayNG/app/src/main/res/layout/activity_routing_settings.xml index 15d7d8041..1c99fc958 100644 --- a/V2rayNG/app/src/main/res/layout/activity_routing_settings.xml +++ b/V2rayNG/app/src/main/res/layout/activity_routing_settings.xml @@ -4,14 +4,14 @@ xmlns:app="http://schemas.android.com/apk/res-auto" android:orientation="vertical"> - - - \ No newline at end of file + diff --git a/V2rayNG/app/src/main/res/layout/activity_sub_setting.xml b/V2rayNG/app/src/main/res/layout/activity_sub_setting.xml index 033da71fc..5e3133624 100644 --- a/V2rayNG/app/src/main/res/layout/activity_sub_setting.xml +++ b/V2rayNG/app/src/main/res/layout/activity_sub_setting.xml @@ -8,15 +8,15 @@ android:fitsSystemWindows="true" tools:context=".ui.MainActivity"> - - - - \ No newline at end of file + + diff --git a/V2rayNG/app/src/main/res/layout/activity_tasker.xml b/V2rayNG/app/src/main/res/layout/activity_tasker.xml index f2661896b..8994d8410 100644 --- a/V2rayNG/app/src/main/res/layout/activity_tasker.xml +++ b/V2rayNG/app/src/main/res/layout/activity_tasker.xml @@ -10,7 +10,7 @@ android:layout_width="match_parent" android:layout_height="@dimen/bypass_list_header_height"> - - - \ No newline at end of file + diff --git a/V2rayNG/app/src/main/res/layout/item_recycler_bypass_list.xml b/V2rayNG/app/src/main/res/layout/item_recycler_bypass_list.xml index bde3c01de..d705e5eb2 100644 --- a/V2rayNG/app/src/main/res/layout/item_recycler_bypass_list.xml +++ b/V2rayNG/app/src/main/res/layout/item_recycler_bypass_list.xml @@ -7,7 +7,7 @@ android:clickable="true" android:focusable="true"> - - - - - \ No newline at end of file + diff --git a/V2rayNG/app/src/main/res/layout/item_recycler_main.xml b/V2rayNG/app/src/main/res/layout/item_recycler_main.xml index 778b7e153..a0855c407 100644 --- a/V2rayNG/app/src/main/res/layout/item_recycler_main.xml +++ b/V2rayNG/app/src/main/res/layout/item_recycler_main.xml @@ -7,7 +7,7 @@ android:layout_height="wrap_content" android:gravity="center_vertical"> - - - + diff --git a/V2rayNG/app/src/main/res/layout/item_recycler_sub_setting.xml b/V2rayNG/app/src/main/res/layout/item_recycler_sub_setting.xml index c4d66627d..aa370e410 100644 --- a/V2rayNG/app/src/main/res/layout/item_recycler_sub_setting.xml +++ b/V2rayNG/app/src/main/res/layout/item_recycler_sub_setting.xml @@ -5,7 +5,7 @@ android:layout_height="wrap_content" android:gravity="center_vertical"> - - - \ No newline at end of file + + diff --git a/V2rayNG/app/src/main/res/layout/nav_toolbar.xml b/V2rayNG/app/src/main/res/layout/nav_toolbar.xml index d1a0d9105..c77a5f070 100644 --- a/V2rayNG/app/src/main/res/layout/nav_toolbar.xml +++ b/V2rayNG/app/src/main/res/layout/nav_toolbar.xml @@ -1,15 +1,15 @@ - - - \ No newline at end of file + diff --git a/V2rayNG/app/src/main/res/layout/nav_view.xml b/V2rayNG/app/src/main/res/layout/nav_view.xml index 77b0d6ca3..8268c6e81 100644 --- a/V2rayNG/app/src/main/res/layout/nav_view.xml +++ b/V2rayNG/app/src/main/res/layout/nav_view.xml @@ -1,5 +1,5 @@ - \ No newline at end of file + app:menu="@menu/menu_drawer" /> diff --git a/V2rayNG/gradle.properties b/V2rayNG/gradle.properties index 6c31f8903..d155321c5 100644 --- a/V2rayNG/gradle.properties +++ b/V2rayNG/gradle.properties @@ -14,8 +14,10 @@ org.gradle.jvmargs=-Xmx2048m -XX:MaxPermSize=512m -XX:+HeapDumpOnOutOfMemoryErro # org.gradle.parallel=true #Fri Jun 02 14:08:42 CST 2017 kotlinVersion=1.4.10 -supportLibVersion=28.0.0 +supportLibVersion=1.0.0 buildToolsVer=30.0.2 compileSdkVer=30 kotlin.incremental=true targetSdkVer=30 +android.useAndroidX=true +android.enableJetifier=true From a23245435f350d0204cb11ee19d6b8440deaf0f1 Mon Sep 17 00:00:00 2001 From: yuhan6665 <1588741+yuhan6665@users.noreply.github.com> Date: Fri, 9 Jul 2021 18:16:39 -0400 Subject: [PATCH 2/2] Use EditorKit for custom config https://github.com/massivemadness/Squircle-IDE --- V2rayNG/app/build.gradle | 2 ++ V2rayNG/app/src/main/AndroidManifest.xml | 2 ++ .../ang/ui/ServerCustomConfigActivity.kt | 12 +++++---- .../layout/activity_server_custom_config.xml | 26 +++++++++---------- 4 files changed, 24 insertions(+), 18 deletions(-) diff --git a/V2rayNG/app/build.gradle b/V2rayNG/app/build.gradle index 0faf5fb54..b1cd20d38 100644 --- a/V2rayNG/app/build.gradle +++ b/V2rayNG/app/build.gradle @@ -99,6 +99,8 @@ dependencies { implementation 'me.dm7.barcodescanner:zxing:1.9.8' implementation 'com.github.jorgecastilloprz:fabprogresscircle:1.01@aar' implementation 'me.drakeet.support:toastcompat:1.1.0' + implementation 'com.blacksquircle.ui:editorkit:2.0.0' + implementation 'com.blacksquircle.ui:language-json:2.0.0' implementation(name: 'libv2ray', ext: 'aar') //implementation(name: 'tun2socks', ext: 'aar') diff --git a/V2rayNG/app/src/main/AndroidManifest.xml b/V2rayNG/app/src/main/AndroidManifest.xml index 543343ae0..898497374 100644 --- a/V2rayNG/app/src/main/AndroidManifest.xml +++ b/V2rayNG/app/src/main/AndroidManifest.xml @@ -28,6 +28,8 @@ + + + android:orientation="vertical"> + android:layout_margin="@dimen/layout_margin_spacing"> + android:orientation="vertical" + android:layout_margin="@dimen/layout_margin_spacing"> - + - \ No newline at end of file +