chore(build): migrate package namespace to xyz.zarazaex.olc

This commit is contained in:
zarazaex69
2026-04-07 23:48:48 +03:00
parent 7f691a8fcc
commit e787a947fe
122 changed files with 701 additions and 701 deletions
+2 -2
View File
@@ -5,11 +5,11 @@ plugins {
}
android {
namespace = "com.v2ray.ang"
namespace = "xyz.zarazaex.olc"
compileSdk = 36
defaultConfig {
applicationId = "com.olcng.app"
applicationId = "xyz.zarazaex.olc"
minSdk = 24
targetSdk = 36
versionCode = 717
@@ -1,4 +1,4 @@
package com.v2ray.ang
package xyz.zarazaex.olc
import android.content.Context
import androidx.multidex.MultiDexApplication
@@ -6,8 +6,8 @@ import androidx.work.Configuration
import androidx.work.WorkManager
import com.google.android.material.color.DynamicColors
import com.tencent.mmkv.MMKV
import com.v2ray.ang.AppConfig.ANG_PACKAGE
import com.v2ray.ang.handler.SettingsManager
import xyz.zarazaex.olc.AppConfig.ANG_PACKAGE
import xyz.zarazaex.olc.handler.SettingsManager
class AngApplication : MultiDexApplication() {
companion object {
@@ -1,4 +1,4 @@
package com.v2ray.ang
package xyz.zarazaex.olc
object AppConfig {
@@ -1,4 +1,4 @@
package com.v2ray.ang.contracts
package xyz.zarazaex.olc.contracts
/**
* A common Adapter -> host callback interface that includes common actions: edit, remove and refresh.
@@ -1,6 +1,6 @@
package com.v2ray.ang.contracts
package xyz.zarazaex.olc.contracts
import com.v2ray.ang.dto.ProfileItem
import xyz.zarazaex.olc.dto.ProfileItem
interface MainAdapterListener :BaseAdapterListener {
@@ -1,4 +1,4 @@
package com.v2ray.ang.contracts
package xyz.zarazaex.olc.contracts
import android.app.Service
@@ -1,4 +1,4 @@
package com.v2ray.ang.contracts
package xyz.zarazaex.olc.contracts
/**
* Interface that defines the control operations for tun2socks implementations.
@@ -1,4 +1,4 @@
package com.v2ray.ang.dto
package xyz.zarazaex.olc.dto
import android.graphics.drawable.Drawable
@@ -1,4 +1,4 @@
package com.v2ray.ang.dto
package xyz.zarazaex.olc.dto
data class AssetUrlCache(
val guid: String,
@@ -1,4 +1,4 @@
package com.v2ray.ang.dto
package xyz.zarazaex.olc.dto
data class AssetUrlItem(
var remarks: String = "",
@@ -1,4 +1,4 @@
package com.v2ray.ang.dto
package xyz.zarazaex.olc.dto
data class CheckUpdateResult(
val hasUpdate: Boolean,
@@ -1,4 +1,4 @@
package com.v2ray.ang.dto
package xyz.zarazaex.olc.dto
data class ConfigResult(
var status: Boolean,
@@ -1,4 +1,4 @@
package com.v2ray.ang.dto
package xyz.zarazaex.olc.dto
import com.google.gson.annotations.SerializedName
@@ -1,4 +1,4 @@
package com.v2ray.ang.dto
package xyz.zarazaex.olc.dto
data class GroupMapItem(
var id: String,
@@ -1,4 +1,4 @@
package com.v2ray.ang.dto
package xyz.zarazaex.olc.dto
data class IPAPIInfo(
var ip: String? = null,
@@ -1,12 +1,12 @@
package com.v2ray.ang.dto
package xyz.zarazaex.olc.dto
import com.v2ray.ang.AppConfig.LOOPBACK
import com.v2ray.ang.AppConfig.PORT_SOCKS
import com.v2ray.ang.AppConfig.TAG_BLOCKED
import com.v2ray.ang.AppConfig.TAG_DIRECT
import com.v2ray.ang.AppConfig.TAG_PROXY
import com.v2ray.ang.enums.EConfigType
import com.v2ray.ang.util.Utils
import xyz.zarazaex.olc.AppConfig.LOOPBACK
import xyz.zarazaex.olc.AppConfig.PORT_SOCKS
import xyz.zarazaex.olc.AppConfig.TAG_BLOCKED
import xyz.zarazaex.olc.AppConfig.TAG_DIRECT
import xyz.zarazaex.olc.AppConfig.TAG_PROXY
import xyz.zarazaex.olc.enums.EConfigType
import xyz.zarazaex.olc.util.Utils
data class ProfileItem(
val configVersion: Int = 4,
@@ -1,4 +1,4 @@
package com.v2ray.ang.dto
package xyz.zarazaex.olc.dto
data class RulesetItem(
var remarks: String? = "",
@@ -1,4 +1,4 @@
package com.v2ray.ang.dto
package xyz.zarazaex.olc.dto
data class ServerAffiliationInfo(var testDelayMillis: Long = 0L) {
fun getTestDelayString(): String {
@@ -1,4 +1,4 @@
package com.v2ray.ang.dto
package xyz.zarazaex.olc.dto
data class ServersCache(
val guid: String,
@@ -1,4 +1,4 @@
package com.v2ray.ang.dto
package xyz.zarazaex.olc.dto
data class SubscriptionCache(
val guid: String,
@@ -1,4 +1,4 @@
package com.v2ray.ang.dto
package xyz.zarazaex.olc.dto
data class SubscriptionItem(
var remarks: String = "",
@@ -1,4 +1,4 @@
package com.v2ray.ang.dto
package xyz.zarazaex.olc.dto
/**
* Result of subscription update operation
@@ -1,4 +1,4 @@
package com.v2ray.ang.dto
package xyz.zarazaex.olc.dto
import java.io.Serializable
@@ -1,8 +1,8 @@
package com.v2ray.ang.dto
package xyz.zarazaex.olc.dto
import com.google.gson.annotations.SerializedName
import com.v2ray.ang.AppConfig
import com.v2ray.ang.enums.EConfigType
import xyz.zarazaex.olc.AppConfig
import xyz.zarazaex.olc.enums.EConfigType
data class V2rayConfig(
var remarks: String? = null,
@@ -1,4 +1,4 @@
package com.v2ray.ang.dto
package xyz.zarazaex.olc.dto
data class VmessQRCode(
var v: String = "",
@@ -1,4 +1,4 @@
package com.v2ray.ang.dto
package xyz.zarazaex.olc.dto
data class WebDavConfig(
val baseUrl: String,
@@ -1,6 +1,6 @@
package com.v2ray.ang.enums
package xyz.zarazaex.olc.enums
import com.v2ray.ang.AppConfig
import xyz.zarazaex.olc.AppConfig
enum class EConfigType(val value: Int, val protocolScheme: String) {
VMESS(1, AppConfig.VMESS),
@@ -1,4 +1,4 @@
package com.v2ray.ang.enums
package xyz.zarazaex.olc.enums
enum class Language(val code: String) {
AUTO("auto"),
@@ -1,4 +1,4 @@
package com.v2ray.ang.enums
package xyz.zarazaex.olc.enums
enum class NetworkType(val type: String) {
TCP("tcp"),
@@ -1,4 +1,4 @@
package com.v2ray.ang.enums
package xyz.zarazaex.olc.enums
import android.Manifest
import android.os.Build
@@ -1,4 +1,4 @@
package com.v2ray.ang.enums
package xyz.zarazaex.olc.enums
enum class RoutingType(val fileName: String) {
WHITE("custom_routing_white"),
@@ -1,4 +1,4 @@
package com.v2ray.ang.enums
package xyz.zarazaex.olc.enums
/**
* VPN interface address configuration enum class
@@ -1,4 +1,4 @@
package com.v2ray.ang.extension
package xyz.zarazaex.olc.extension
import android.content.BroadcastReceiver
import android.content.Context
@@ -7,7 +7,7 @@ import android.content.IntentFilter
import android.os.Build
import android.os.Bundle
import android.widget.Toast
import com.v2ray.ang.AngApplication
import xyz.zarazaex.olc.AngApplication
import es.dmoral.toasty.Toasty
import java.io.Serializable
import java.net.URI
@@ -1,9 +1,9 @@
package com.v2ray.ang.fmt
package xyz.zarazaex.olc.fmt
import com.v2ray.ang.dto.ProfileItem
import com.v2ray.ang.dto.V2rayConfig
import com.v2ray.ang.enums.EConfigType
import com.v2ray.ang.util.JsonUtil
import xyz.zarazaex.olc.dto.ProfileItem
import xyz.zarazaex.olc.dto.V2rayConfig
import xyz.zarazaex.olc.enums.EConfigType
import xyz.zarazaex.olc.util.JsonUtil
object CustomFmt : FmtBase() {
/**
@@ -1,12 +1,12 @@
package com.v2ray.ang.fmt
package xyz.zarazaex.olc.fmt
import com.v2ray.ang.AppConfig
import com.v2ray.ang.dto.ProfileItem
import com.v2ray.ang.enums.NetworkType
import com.v2ray.ang.extension.nullIfBlank
import com.v2ray.ang.handler.MmkvManager
import com.v2ray.ang.util.HttpUtil
import com.v2ray.ang.util.Utils
import xyz.zarazaex.olc.AppConfig
import xyz.zarazaex.olc.dto.ProfileItem
import xyz.zarazaex.olc.enums.NetworkType
import xyz.zarazaex.olc.extension.nullIfBlank
import xyz.zarazaex.olc.handler.MmkvManager
import xyz.zarazaex.olc.util.HttpUtil
import xyz.zarazaex.olc.util.Utils
import java.net.URI
open class FmtBase {
@@ -1,10 +1,10 @@
package com.v2ray.ang.fmt
package xyz.zarazaex.olc.fmt
import com.v2ray.ang.dto.ProfileItem
import com.v2ray.ang.dto.V2rayConfig.OutboundBean
import com.v2ray.ang.enums.EConfigType
import com.v2ray.ang.extension.isNotNullEmpty
import com.v2ray.ang.handler.V2rayConfigManager
import xyz.zarazaex.olc.dto.ProfileItem
import xyz.zarazaex.olc.dto.V2rayConfig.OutboundBean
import xyz.zarazaex.olc.enums.EConfigType
import xyz.zarazaex.olc.extension.isNotNullEmpty
import xyz.zarazaex.olc.handler.V2rayConfigManager
object HttpFmt : FmtBase() {
/**
@@ -1,16 +1,16 @@
package com.v2ray.ang.fmt
package xyz.zarazaex.olc.fmt
import com.v2ray.ang.AppConfig
import com.v2ray.ang.dto.ProfileItem
import com.v2ray.ang.dto.V2rayConfig.OutboundBean
import com.v2ray.ang.enums.EConfigType
import com.v2ray.ang.enums.NetworkType
import com.v2ray.ang.extension.idnHost
import com.v2ray.ang.extension.isNotNullEmpty
import com.v2ray.ang.extension.nullIfBlank
import com.v2ray.ang.handler.MmkvManager
import com.v2ray.ang.handler.V2rayConfigManager
import com.v2ray.ang.util.Utils
import xyz.zarazaex.olc.AppConfig
import xyz.zarazaex.olc.dto.ProfileItem
import xyz.zarazaex.olc.dto.V2rayConfig.OutboundBean
import xyz.zarazaex.olc.enums.EConfigType
import xyz.zarazaex.olc.enums.NetworkType
import xyz.zarazaex.olc.extension.idnHost
import xyz.zarazaex.olc.extension.isNotNullEmpty
import xyz.zarazaex.olc.extension.nullIfBlank
import xyz.zarazaex.olc.handler.MmkvManager
import xyz.zarazaex.olc.handler.V2rayConfigManager
import xyz.zarazaex.olc.util.Utils
import java.net.URI
object Hysteria2Fmt : FmtBase() {
@@ -1,14 +1,14 @@
package com.v2ray.ang.fmt
package xyz.zarazaex.olc.fmt
import android.util.Log
import com.v2ray.ang.AppConfig
import com.v2ray.ang.dto.ProfileItem
import com.v2ray.ang.dto.V2rayConfig.OutboundBean
import com.v2ray.ang.enums.EConfigType
import com.v2ray.ang.enums.NetworkType
import com.v2ray.ang.extension.idnHost
import com.v2ray.ang.handler.V2rayConfigManager
import com.v2ray.ang.util.Utils
import xyz.zarazaex.olc.AppConfig
import xyz.zarazaex.olc.dto.ProfileItem
import xyz.zarazaex.olc.dto.V2rayConfig.OutboundBean
import xyz.zarazaex.olc.enums.EConfigType
import xyz.zarazaex.olc.enums.NetworkType
import xyz.zarazaex.olc.extension.idnHost
import xyz.zarazaex.olc.handler.V2rayConfigManager
import xyz.zarazaex.olc.util.Utils
import java.net.URI
object ShadowsocksFmt : FmtBase() {
@@ -1,12 +1,12 @@
package com.v2ray.ang.fmt
package xyz.zarazaex.olc.fmt
import com.v2ray.ang.dto.ProfileItem
import com.v2ray.ang.dto.V2rayConfig.OutboundBean
import com.v2ray.ang.enums.EConfigType
import com.v2ray.ang.extension.idnHost
import com.v2ray.ang.extension.isNotNullEmpty
import com.v2ray.ang.handler.V2rayConfigManager
import com.v2ray.ang.util.Utils
import xyz.zarazaex.olc.dto.ProfileItem
import xyz.zarazaex.olc.dto.V2rayConfig.OutboundBean
import xyz.zarazaex.olc.enums.EConfigType
import xyz.zarazaex.olc.extension.idnHost
import xyz.zarazaex.olc.extension.isNotNullEmpty
import xyz.zarazaex.olc.handler.V2rayConfigManager
import xyz.zarazaex.olc.util.Utils
import java.net.URI
object SocksFmt : FmtBase() {
@@ -1,14 +1,14 @@
package com.v2ray.ang.fmt
package xyz.zarazaex.olc.fmt
import com.v2ray.ang.AppConfig
import com.v2ray.ang.dto.ProfileItem
import com.v2ray.ang.dto.V2rayConfig.OutboundBean
import com.v2ray.ang.enums.EConfigType
import com.v2ray.ang.enums.NetworkType
import com.v2ray.ang.extension.idnHost
import com.v2ray.ang.handler.MmkvManager
import com.v2ray.ang.handler.V2rayConfigManager
import com.v2ray.ang.util.Utils
import xyz.zarazaex.olc.AppConfig
import xyz.zarazaex.olc.dto.ProfileItem
import xyz.zarazaex.olc.dto.V2rayConfig.OutboundBean
import xyz.zarazaex.olc.enums.EConfigType
import xyz.zarazaex.olc.enums.NetworkType
import xyz.zarazaex.olc.extension.idnHost
import xyz.zarazaex.olc.handler.MmkvManager
import xyz.zarazaex.olc.handler.V2rayConfigManager
import xyz.zarazaex.olc.util.Utils
import java.net.URI
object TrojanFmt : FmtBase() {
@@ -1,13 +1,13 @@
package com.v2ray.ang.fmt
package xyz.zarazaex.olc.fmt
import com.v2ray.ang.AppConfig
import com.v2ray.ang.dto.ProfileItem
import com.v2ray.ang.dto.V2rayConfig.OutboundBean
import com.v2ray.ang.enums.EConfigType
import com.v2ray.ang.extension.idnHost
import com.v2ray.ang.handler.MmkvManager
import com.v2ray.ang.handler.V2rayConfigManager
import com.v2ray.ang.util.Utils
import xyz.zarazaex.olc.AppConfig
import xyz.zarazaex.olc.dto.ProfileItem
import xyz.zarazaex.olc.dto.V2rayConfig.OutboundBean
import xyz.zarazaex.olc.enums.EConfigType
import xyz.zarazaex.olc.extension.idnHost
import xyz.zarazaex.olc.handler.MmkvManager
import xyz.zarazaex.olc.handler.V2rayConfigManager
import xyz.zarazaex.olc.util.Utils
import java.net.URI
object VlessFmt : FmtBase() {
@@ -1,19 +1,19 @@
package com.v2ray.ang.fmt
package xyz.zarazaex.olc.fmt
import android.text.TextUtils
import android.util.Log
import com.v2ray.ang.AppConfig
import com.v2ray.ang.dto.ProfileItem
import com.v2ray.ang.dto.V2rayConfig.OutboundBean
import com.v2ray.ang.dto.VmessQRCode
import com.v2ray.ang.enums.EConfigType
import com.v2ray.ang.enums.NetworkType
import com.v2ray.ang.extension.idnHost
import com.v2ray.ang.extension.nullIfBlank
import com.v2ray.ang.handler.MmkvManager
import com.v2ray.ang.handler.V2rayConfigManager
import com.v2ray.ang.util.JsonUtil
import com.v2ray.ang.util.Utils
import xyz.zarazaex.olc.AppConfig
import xyz.zarazaex.olc.dto.ProfileItem
import xyz.zarazaex.olc.dto.V2rayConfig.OutboundBean
import xyz.zarazaex.olc.dto.VmessQRCode
import xyz.zarazaex.olc.enums.EConfigType
import xyz.zarazaex.olc.enums.NetworkType
import xyz.zarazaex.olc.extension.idnHost
import xyz.zarazaex.olc.extension.nullIfBlank
import xyz.zarazaex.olc.handler.MmkvManager
import xyz.zarazaex.olc.handler.V2rayConfigManager
import xyz.zarazaex.olc.util.JsonUtil
import xyz.zarazaex.olc.util.Utils
import java.net.URI
object VmessFmt : FmtBase() {
@@ -1,15 +1,15 @@
package com.v2ray.ang.fmt
package xyz.zarazaex.olc.fmt
import com.v2ray.ang.AppConfig
import com.v2ray.ang.AppConfig.WIREGUARD_LOCAL_ADDRESS_V4
import com.v2ray.ang.dto.ProfileItem
import com.v2ray.ang.dto.V2rayConfig.OutboundBean
import com.v2ray.ang.enums.EConfigType
import com.v2ray.ang.extension.idnHost
import com.v2ray.ang.extension.nullIfBlank
import com.v2ray.ang.extension.removeWhiteSpace
import com.v2ray.ang.handler.V2rayConfigManager
import com.v2ray.ang.util.Utils
import xyz.zarazaex.olc.AppConfig
import xyz.zarazaex.olc.AppConfig.WIREGUARD_LOCAL_ADDRESS_V4
import xyz.zarazaex.olc.dto.ProfileItem
import xyz.zarazaex.olc.dto.V2rayConfig.OutboundBean
import xyz.zarazaex.olc.enums.EConfigType
import xyz.zarazaex.olc.extension.idnHost
import xyz.zarazaex.olc.extension.nullIfBlank
import xyz.zarazaex.olc.extension.removeWhiteSpace
import xyz.zarazaex.olc.handler.V2rayConfigManager
import xyz.zarazaex.olc.util.Utils
import java.net.URI
object WireguardFmt : FmtBase() {
@@ -1,30 +1,30 @@
package com.v2ray.ang.handler
package xyz.zarazaex.olc.handler
import android.content.Context
import android.graphics.Bitmap
import android.text.TextUtils
import android.util.Log
import com.v2ray.ang.AppConfig
import com.v2ray.ang.AppConfig.HY2
import com.v2ray.ang.R
import com.v2ray.ang.dto.ProfileItem
import com.v2ray.ang.dto.SubscriptionCache
import com.v2ray.ang.dto.SubscriptionItem
import com.v2ray.ang.dto.SubscriptionUpdateResult
import com.v2ray.ang.enums.EConfigType
import com.v2ray.ang.extension.isNotNullEmpty
import com.v2ray.ang.fmt.CustomFmt
import com.v2ray.ang.fmt.Hysteria2Fmt
import com.v2ray.ang.fmt.ShadowsocksFmt
import com.v2ray.ang.fmt.SocksFmt
import com.v2ray.ang.fmt.TrojanFmt
import com.v2ray.ang.fmt.VlessFmt
import com.v2ray.ang.fmt.VmessFmt
import com.v2ray.ang.fmt.WireguardFmt
import com.v2ray.ang.util.HttpUtil
import com.v2ray.ang.util.JsonUtil
import com.v2ray.ang.util.QRCodeDecoder
import com.v2ray.ang.util.Utils
import xyz.zarazaex.olc.AppConfig
import xyz.zarazaex.olc.AppConfig.HY2
import xyz.zarazaex.olc.R
import xyz.zarazaex.olc.dto.ProfileItem
import xyz.zarazaex.olc.dto.SubscriptionCache
import xyz.zarazaex.olc.dto.SubscriptionItem
import xyz.zarazaex.olc.dto.SubscriptionUpdateResult
import xyz.zarazaex.olc.enums.EConfigType
import xyz.zarazaex.olc.extension.isNotNullEmpty
import xyz.zarazaex.olc.fmt.CustomFmt
import xyz.zarazaex.olc.fmt.Hysteria2Fmt
import xyz.zarazaex.olc.fmt.ShadowsocksFmt
import xyz.zarazaex.olc.fmt.SocksFmt
import xyz.zarazaex.olc.fmt.TrojanFmt
import xyz.zarazaex.olc.fmt.VlessFmt
import xyz.zarazaex.olc.fmt.VmessFmt
import xyz.zarazaex.olc.fmt.WireguardFmt
import xyz.zarazaex.olc.util.HttpUtil
import xyz.zarazaex.olc.util.JsonUtil
import xyz.zarazaex.olc.util.QRCodeDecoder
import xyz.zarazaex.olc.util.Utils
import java.net.URI
object AngConfigManager {
@@ -1,19 +1,19 @@
package com.v2ray.ang.handler
package xyz.zarazaex.olc.handler
import com.tencent.mmkv.MMKV
import com.v2ray.ang.AppConfig.DEFAULT_SUBSCRIPTION_ID
import com.v2ray.ang.AppConfig.PREF_IS_BOOTED
import com.v2ray.ang.AppConfig.PREF_ROUTING_RULESET
import com.v2ray.ang.dto.AssetUrlCache
import com.v2ray.ang.dto.AssetUrlItem
import com.v2ray.ang.dto.ProfileItem
import com.v2ray.ang.dto.RulesetItem
import com.v2ray.ang.dto.ServerAffiliationInfo
import com.v2ray.ang.dto.SubscriptionCache
import com.v2ray.ang.dto.SubscriptionItem
import com.v2ray.ang.dto.WebDavConfig
import com.v2ray.ang.util.JsonUtil
import com.v2ray.ang.util.Utils
import xyz.zarazaex.olc.AppConfig.DEFAULT_SUBSCRIPTION_ID
import xyz.zarazaex.olc.AppConfig.PREF_IS_BOOTED
import xyz.zarazaex.olc.AppConfig.PREF_ROUTING_RULESET
import xyz.zarazaex.olc.dto.AssetUrlCache
import xyz.zarazaex.olc.dto.AssetUrlItem
import xyz.zarazaex.olc.dto.ProfileItem
import xyz.zarazaex.olc.dto.RulesetItem
import xyz.zarazaex.olc.dto.ServerAffiliationInfo
import xyz.zarazaex.olc.dto.SubscriptionCache
import xyz.zarazaex.olc.dto.SubscriptionItem
import xyz.zarazaex.olc.dto.WebDavConfig
import xyz.zarazaex.olc.util.JsonUtil
import xyz.zarazaex.olc.util.Utils
object MmkvManager {
@@ -1,4 +1,4 @@
package com.v2ray.ang.handler
package xyz.zarazaex.olc.handler
import android.app.Notification
import android.app.NotificationChannel
@@ -12,11 +12,11 @@ import android.os.Build
import android.util.Log
import androidx.annotation.RequiresApi
import androidx.core.app.NotificationCompat
import com.v2ray.ang.AppConfig
import com.v2ray.ang.R
import com.v2ray.ang.dto.ProfileItem
import com.v2ray.ang.extension.toSpeedString
import com.v2ray.ang.ui.MainActivity
import xyz.zarazaex.olc.AppConfig
import xyz.zarazaex.olc.R
import xyz.zarazaex.olc.dto.ProfileItem
import xyz.zarazaex.olc.extension.toSpeedString
import xyz.zarazaex.olc.ui.MainActivity
import kotlinx.coroutines.CoroutineScope
import kotlinx.coroutines.Dispatchers
import kotlinx.coroutines.Job
@@ -1,4 +1,4 @@
package com.v2ray.ang.handler
package xyz.zarazaex.olc.handler
import kotlinx.coroutines.flow.MutableStateFlow
@@ -1,33 +1,33 @@
package com.v2ray.ang.handler
package xyz.zarazaex.olc.handler
import android.content.Context
import android.content.res.AssetManager
import android.text.TextUtils
import android.util.Log
import androidx.appcompat.app.AppCompatDelegate
import com.v2ray.ang.AppConfig
import com.v2ray.ang.AppConfig.ANG_PACKAGE
import com.v2ray.ang.AppConfig.DEFAULT_SUBSCRIPTION_ID
import com.v2ray.ang.AppConfig.GEOIP_PRIVATE
import com.v2ray.ang.AppConfig.GEOSITE_PRIVATE
import com.v2ray.ang.AppConfig.TAG_DIRECT
import com.v2ray.ang.AppConfig.VPN
import com.v2ray.ang.dto.ProfileItem
import com.v2ray.ang.dto.RulesetItem
import com.v2ray.ang.dto.SubscriptionItem
import com.v2ray.ang.dto.V2rayConfig
import com.v2ray.ang.enums.EConfigType
import com.v2ray.ang.enums.Language
import com.v2ray.ang.enums.RoutingType
import com.v2ray.ang.enums.VpnInterfaceAddressConfig
import com.v2ray.ang.handler.MmkvManager.decodeAllServerList
import com.v2ray.ang.handler.MmkvManager.decodeServerConfig
import com.v2ray.ang.handler.MmkvManager.decodeSubsList
import com.v2ray.ang.handler.MmkvManager.decodeSubscription
import com.v2ray.ang.handler.MmkvManager.encodeSubscription
import com.v2ray.ang.handler.MmkvManager.removeSubscription
import com.v2ray.ang.util.JsonUtil
import com.v2ray.ang.util.Utils
import xyz.zarazaex.olc.AppConfig
import xyz.zarazaex.olc.AppConfig.ANG_PACKAGE
import xyz.zarazaex.olc.AppConfig.DEFAULT_SUBSCRIPTION_ID
import xyz.zarazaex.olc.AppConfig.GEOIP_PRIVATE
import xyz.zarazaex.olc.AppConfig.GEOSITE_PRIVATE
import xyz.zarazaex.olc.AppConfig.TAG_DIRECT
import xyz.zarazaex.olc.AppConfig.VPN
import xyz.zarazaex.olc.dto.ProfileItem
import xyz.zarazaex.olc.dto.RulesetItem
import xyz.zarazaex.olc.dto.SubscriptionItem
import xyz.zarazaex.olc.dto.V2rayConfig
import xyz.zarazaex.olc.enums.EConfigType
import xyz.zarazaex.olc.enums.Language
import xyz.zarazaex.olc.enums.RoutingType
import xyz.zarazaex.olc.enums.VpnInterfaceAddressConfig
import xyz.zarazaex.olc.handler.MmkvManager.decodeAllServerList
import xyz.zarazaex.olc.handler.MmkvManager.decodeServerConfig
import xyz.zarazaex.olc.handler.MmkvManager.decodeSubsList
import xyz.zarazaex.olc.handler.MmkvManager.decodeSubscription
import xyz.zarazaex.olc.handler.MmkvManager.encodeSubscription
import xyz.zarazaex.olc.handler.MmkvManager.removeSubscription
import xyz.zarazaex.olc.util.JsonUtil
import xyz.zarazaex.olc.util.Utils
import java.io.File
import java.io.FileOutputStream
import java.util.Collections
@@ -1,13 +1,13 @@
package com.v2ray.ang.handler
package xyz.zarazaex.olc.handler
import android.content.Context
import android.os.SystemClock
import android.util.Log
import com.v2ray.ang.AppConfig
import com.v2ray.ang.R
import com.v2ray.ang.dto.IPAPIInfo
import com.v2ray.ang.util.HttpUtil
import com.v2ray.ang.util.JsonUtil
import xyz.zarazaex.olc.AppConfig
import xyz.zarazaex.olc.R
import xyz.zarazaex.olc.dto.IPAPIInfo
import xyz.zarazaex.olc.util.HttpUtil
import xyz.zarazaex.olc.util.JsonUtil
import kotlinx.coroutines.currentCoroutineContext
import kotlinx.coroutines.isActive
import java.io.IOException
@@ -1,4 +1,4 @@
package com.v2ray.ang.handler
package xyz.zarazaex.olc.handler
import android.annotation.SuppressLint
import android.app.NotificationChannel
@@ -10,8 +10,8 @@ import androidx.core.app.NotificationCompat
import androidx.core.app.NotificationManagerCompat
import androidx.work.CoroutineWorker
import androidx.work.WorkerParameters
import com.v2ray.ang.AppConfig
import com.v2ray.ang.R
import xyz.zarazaex.olc.AppConfig
import xyz.zarazaex.olc.R
object SubscriptionUpdater {
@@ -1,15 +1,15 @@
package com.v2ray.ang.handler
package xyz.zarazaex.olc.handler
import android.content.Context
import android.os.Build
import android.util.Log
import com.v2ray.ang.AppConfig
import com.v2ray.ang.BuildConfig
import com.v2ray.ang.dto.CheckUpdateResult
import com.v2ray.ang.dto.GitHubRelease
import com.v2ray.ang.extension.concatUrl
import com.v2ray.ang.util.HttpUtil
import com.v2ray.ang.util.JsonUtil
import xyz.zarazaex.olc.AppConfig
import xyz.zarazaex.olc.BuildConfig
import xyz.zarazaex.olc.dto.CheckUpdateResult
import xyz.zarazaex.olc.dto.GitHubRelease
import xyz.zarazaex.olc.extension.concatUrl
import xyz.zarazaex.olc.util.HttpUtil
import xyz.zarazaex.olc.util.JsonUtil
import kotlinx.coroutines.Dispatchers
import kotlinx.coroutines.withContext
import java.io.File
@@ -1,9 +1,9 @@
package com.v2ray.ang.handler
package xyz.zarazaex.olc.handler
import android.content.Context
import android.util.Log
import com.v2ray.ang.AppConfig
import com.v2ray.ang.util.Utils
import xyz.zarazaex.olc.AppConfig
import xyz.zarazaex.olc.util.Utils
import go.Seq
import libv2ray.CoreCallbackHandler
import libv2ray.CoreController
@@ -1,4 +1,4 @@
package com.v2ray.ang.handler
package xyz.zarazaex.olc.handler
import android.app.Service
import android.content.BroadcastReceiver
@@ -8,16 +8,16 @@ import android.content.IntentFilter
import android.os.ParcelFileDescriptor
import android.util.Log
import androidx.core.content.ContextCompat
import com.v2ray.ang.AppConfig
import com.v2ray.ang.R
import com.v2ray.ang.contracts.ServiceControl
import com.v2ray.ang.dto.ProfileItem
import com.v2ray.ang.enums.EConfigType
import com.v2ray.ang.extension.toast
import com.v2ray.ang.service.V2RayProxyOnlyService
import com.v2ray.ang.service.V2RayVpnService
import com.v2ray.ang.util.MessageUtil
import com.v2ray.ang.util.Utils
import xyz.zarazaex.olc.AppConfig
import xyz.zarazaex.olc.R
import xyz.zarazaex.olc.contracts.ServiceControl
import xyz.zarazaex.olc.dto.ProfileItem
import xyz.zarazaex.olc.enums.EConfigType
import xyz.zarazaex.olc.extension.toast
import xyz.zarazaex.olc.service.V2RayProxyOnlyService
import xyz.zarazaex.olc.service.V2RayVpnService
import xyz.zarazaex.olc.util.MessageUtil
import xyz.zarazaex.olc.util.Utils
import kotlinx.coroutines.CoroutineScope
import kotlinx.coroutines.Dispatchers
import kotlinx.coroutines.launch
@@ -1,33 +1,33 @@
package com.v2ray.ang.handler
package xyz.zarazaex.olc.handler
import android.content.Context
import android.text.TextUtils
import android.util.Log
import com.google.gson.JsonArray
import com.v2ray.ang.AppConfig
import com.v2ray.ang.dto.ConfigResult
import com.v2ray.ang.dto.ProfileItem
import com.v2ray.ang.dto.RulesetItem
import com.v2ray.ang.dto.V2rayConfig
import com.v2ray.ang.dto.V2rayConfig.OutboundBean
import com.v2ray.ang.dto.V2rayConfig.OutboundBean.OutSettingsBean
import com.v2ray.ang.dto.V2rayConfig.OutboundBean.StreamSettingsBean
import com.v2ray.ang.dto.V2rayConfig.RoutingBean.RulesBean
import com.v2ray.ang.enums.EConfigType
import com.v2ray.ang.enums.NetworkType
import com.v2ray.ang.extension.isNotNullEmpty
import com.v2ray.ang.extension.nullIfBlank
import com.v2ray.ang.fmt.HttpFmt
import com.v2ray.ang.fmt.Hysteria2Fmt
import com.v2ray.ang.fmt.ShadowsocksFmt
import com.v2ray.ang.fmt.SocksFmt
import com.v2ray.ang.fmt.TrojanFmt
import com.v2ray.ang.fmt.VlessFmt
import com.v2ray.ang.fmt.VmessFmt
import com.v2ray.ang.fmt.WireguardFmt
import com.v2ray.ang.util.HttpUtil
import com.v2ray.ang.util.JsonUtil
import com.v2ray.ang.util.Utils
import xyz.zarazaex.olc.AppConfig
import xyz.zarazaex.olc.dto.ConfigResult
import xyz.zarazaex.olc.dto.ProfileItem
import xyz.zarazaex.olc.dto.RulesetItem
import xyz.zarazaex.olc.dto.V2rayConfig
import xyz.zarazaex.olc.dto.V2rayConfig.OutboundBean
import xyz.zarazaex.olc.dto.V2rayConfig.OutboundBean.OutSettingsBean
import xyz.zarazaex.olc.dto.V2rayConfig.OutboundBean.StreamSettingsBean
import xyz.zarazaex.olc.dto.V2rayConfig.RoutingBean.RulesBean
import xyz.zarazaex.olc.enums.EConfigType
import xyz.zarazaex.olc.enums.NetworkType
import xyz.zarazaex.olc.extension.isNotNullEmpty
import xyz.zarazaex.olc.extension.nullIfBlank
import xyz.zarazaex.olc.fmt.HttpFmt
import xyz.zarazaex.olc.fmt.Hysteria2Fmt
import xyz.zarazaex.olc.fmt.ShadowsocksFmt
import xyz.zarazaex.olc.fmt.SocksFmt
import xyz.zarazaex.olc.fmt.TrojanFmt
import xyz.zarazaex.olc.fmt.VlessFmt
import xyz.zarazaex.olc.fmt.VmessFmt
import xyz.zarazaex.olc.fmt.WireguardFmt
import xyz.zarazaex.olc.util.HttpUtil
import xyz.zarazaex.olc.util.JsonUtil
import xyz.zarazaex.olc.util.Utils
object V2rayConfigManager {
private var initConfigCache: String? = null
@@ -1,8 +1,8 @@
package com.v2ray.ang.handler
package xyz.zarazaex.olc.handler
import android.util.Log
import com.v2ray.ang.AppConfig
import com.v2ray.ang.dto.WebDavConfig
import xyz.zarazaex.olc.AppConfig
import xyz.zarazaex.olc.dto.WebDavConfig
import kotlinx.coroutines.Dispatchers
import kotlinx.coroutines.withContext
import okhttp3.Credentials
@@ -1,4 +1,4 @@
package com.v2ray.ang.helper
package xyz.zarazaex.olc.helper
import android.graphics.Canvas
import android.graphics.Rect
@@ -1,4 +1,4 @@
package com.v2ray.ang.helper
package xyz.zarazaex.olc.helper
import android.content.ActivityNotFoundException
import android.content.Intent
@@ -7,9 +7,9 @@ import android.util.Log
import androidx.activity.result.ActivityResultLauncher
import androidx.activity.result.contract.ActivityResultContracts
import androidx.appcompat.app.AppCompatActivity
import com.v2ray.ang.AppConfig
import com.v2ray.ang.R
import com.v2ray.ang.extension.toast
import xyz.zarazaex.olc.AppConfig
import xyz.zarazaex.olc.R
import xyz.zarazaex.olc.extension.toast
/**
* Helper for choosing and creating files using Android Storage Access Framework.
@@ -13,7 +13,7 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package com.v2ray.ang.helper
package xyz.zarazaex.olc.helper
/**
* Interface to listen for a move or dismissal event from a [ItemTouchHelper.Callback].
@@ -13,7 +13,7 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package com.v2ray.ang.helper
package xyz.zarazaex.olc.helper
import androidx.recyclerview.widget.ItemTouchHelper
@@ -1,10 +1,10 @@
package com.v2ray.ang.helper
package xyz.zarazaex.olc.helper
import androidx.preference.PreferenceDataStore
import com.v2ray.ang.AppConfig
import com.v2ray.ang.handler.MmkvManager
import com.v2ray.ang.handler.SettingsChangeManager
import com.v2ray.ang.handler.SettingsManager
import xyz.zarazaex.olc.AppConfig
import xyz.zarazaex.olc.handler.MmkvManager
import xyz.zarazaex.olc.handler.SettingsChangeManager
import xyz.zarazaex.olc.handler.SettingsManager
/**
* PreferenceDataStore implementation that bridges AndroidX Preference framework to MMKV storage.
@@ -1,13 +1,13 @@
package com.v2ray.ang.helper
package xyz.zarazaex.olc.helper
import android.content.pm.PackageManager
import androidx.activity.result.ActivityResultLauncher
import androidx.activity.result.contract.ActivityResultContracts
import androidx.appcompat.app.AppCompatActivity
import androidx.core.content.ContextCompat
import com.v2ray.ang.R
import com.v2ray.ang.enums.PermissionType
import com.v2ray.ang.extension.toast
import xyz.zarazaex.olc.R
import xyz.zarazaex.olc.enums.PermissionType
import xyz.zarazaex.olc.extension.toast
/**
* Helper for requesting permissions.
@@ -1,10 +1,10 @@
package com.v2ray.ang.helper
package xyz.zarazaex.olc.helper
import android.content.Intent
import androidx.activity.result.ActivityResultLauncher
import androidx.activity.result.contract.ActivityResultContracts
import androidx.appcompat.app.AppCompatActivity
import com.v2ray.ang.ui.ScannerActivity
import xyz.zarazaex.olc.ui.ScannerActivity
/**
* Helper for scanning QR codes.
@@ -13,7 +13,7 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package com.v2ray.ang.helper
package xyz.zarazaex.olc.helper
import android.animation.ValueAnimator
import android.graphics.Canvas
@@ -1,12 +1,12 @@
package com.v2ray.ang.receiver
package xyz.zarazaex.olc.receiver
import android.content.BroadcastReceiver
import android.content.Context
import android.content.Intent
import android.util.Log
import com.v2ray.ang.AppConfig
import com.v2ray.ang.handler.MmkvManager
import com.v2ray.ang.handler.V2RayServiceManager
import xyz.zarazaex.olc.AppConfig
import xyz.zarazaex.olc.handler.MmkvManager
import xyz.zarazaex.olc.handler.V2RayServiceManager
class BootReceiver : BroadcastReceiver() {
/**
@@ -1,11 +1,11 @@
package com.v2ray.ang.receiver
package xyz.zarazaex.olc.receiver
import android.content.BroadcastReceiver
import android.content.Context
import android.content.Intent
import android.text.TextUtils
import com.v2ray.ang.AppConfig
import com.v2ray.ang.handler.V2RayServiceManager
import xyz.zarazaex.olc.AppConfig
import xyz.zarazaex.olc.handler.V2RayServiceManager
class TaskerReceiver : BroadcastReceiver() {
@@ -1,4 +1,4 @@
package com.v2ray.ang.receiver
package xyz.zarazaex.olc.receiver
import android.app.PendingIntent
import android.appwidget.AppWidgetManager
@@ -7,9 +7,9 @@ import android.content.ComponentName
import android.content.Context
import android.content.Intent
import android.widget.RemoteViews
import com.v2ray.ang.AppConfig
import com.v2ray.ang.R
import com.v2ray.ang.handler.V2RayServiceManager
import xyz.zarazaex.olc.AppConfig
import xyz.zarazaex.olc.R
import xyz.zarazaex.olc.handler.V2RayServiceManager
class WidgetProvider : AppWidgetProvider() {
/**
@@ -1,8 +1,8 @@
package com.v2ray.ang.service
package xyz.zarazaex.olc.service
import android.content.Context
import android.util.Log
import com.v2ray.ang.AppConfig
import xyz.zarazaex.olc.AppConfig
import kotlinx.coroutines.CoroutineScope
import kotlinx.coroutines.Dispatchers
import kotlinx.coroutines.launch
@@ -1,4 +1,4 @@
package com.v2ray.ang.service
package xyz.zarazaex.olc.service
import android.content.BroadcastReceiver
import android.content.Context
@@ -9,11 +9,11 @@ import android.service.quicksettings.Tile
import android.service.quicksettings.TileService
import android.util.Log
import androidx.core.content.ContextCompat
import com.v2ray.ang.AppConfig
import com.v2ray.ang.R
import com.v2ray.ang.handler.V2RayServiceManager
import com.v2ray.ang.util.MessageUtil
import com.v2ray.ang.util.Utils
import xyz.zarazaex.olc.AppConfig
import xyz.zarazaex.olc.R
import xyz.zarazaex.olc.handler.V2RayServiceManager
import xyz.zarazaex.olc.util.MessageUtil
import xyz.zarazaex.olc.util.Utils
import java.lang.ref.SoftReference
class QSTileService : TileService() {
@@ -1,11 +1,11 @@
package com.v2ray.ang.service
package xyz.zarazaex.olc.service
import android.content.Context
import com.v2ray.ang.AppConfig
import com.v2ray.ang.handler.SettingsManager
import com.v2ray.ang.handler.V2RayNativeManager
import com.v2ray.ang.handler.V2rayConfigManager
import com.v2ray.ang.util.MessageUtil
import xyz.zarazaex.olc.AppConfig
import xyz.zarazaex.olc.handler.SettingsManager
import xyz.zarazaex.olc.handler.V2RayNativeManager
import xyz.zarazaex.olc.handler.V2rayConfigManager
import xyz.zarazaex.olc.util.MessageUtil
import kotlinx.coroutines.CancellationException
import kotlinx.coroutines.CoroutineName
import kotlinx.coroutines.CoroutineScope
@@ -1,12 +1,12 @@
package com.v2ray.ang.service
package xyz.zarazaex.olc.service
import android.content.Context
import android.os.ParcelFileDescriptor
import android.util.Log
import com.v2ray.ang.AppConfig
import com.v2ray.ang.contracts.Tun2SocksControl
import com.v2ray.ang.handler.MmkvManager
import com.v2ray.ang.handler.SettingsManager
import xyz.zarazaex.olc.AppConfig
import xyz.zarazaex.olc.contracts.Tun2SocksControl
import xyz.zarazaex.olc.handler.MmkvManager
import xyz.zarazaex.olc.handler.SettingsManager
import java.io.File
/**
@@ -1,15 +1,15 @@
package com.v2ray.ang.service
package xyz.zarazaex.olc.service
import android.app.Service
import android.content.Context
import android.content.Intent
import android.os.IBinder
import android.util.Log
import com.v2ray.ang.AppConfig
import com.v2ray.ang.contracts.ServiceControl
import com.v2ray.ang.handler.SettingsManager
import com.v2ray.ang.handler.V2RayServiceManager
import com.v2ray.ang.util.MyContextWrapper
import xyz.zarazaex.olc.AppConfig
import xyz.zarazaex.olc.contracts.ServiceControl
import xyz.zarazaex.olc.handler.SettingsManager
import xyz.zarazaex.olc.handler.V2RayServiceManager
import xyz.zarazaex.olc.util.MyContextWrapper
import java.lang.ref.SoftReference
class V2RayProxyOnlyService : Service(), ServiceControl {
@@ -1,16 +1,16 @@
package com.v2ray.ang.service
package xyz.zarazaex.olc.service
import android.app.Service
import android.content.Intent
import android.os.IBinder
import com.v2ray.ang.AppConfig
import com.v2ray.ang.AppConfig.MSG_MEASURE_CONFIG
import com.v2ray.ang.AppConfig.MSG_MEASURE_CONFIG_CANCEL
import com.v2ray.ang.dto.TestServiceMessage
import com.v2ray.ang.extension.serializable
import com.v2ray.ang.handler.MmkvManager
import com.v2ray.ang.handler.V2RayNativeManager
import com.v2ray.ang.util.MessageUtil
import xyz.zarazaex.olc.AppConfig
import xyz.zarazaex.olc.AppConfig.MSG_MEASURE_CONFIG
import xyz.zarazaex.olc.AppConfig.MSG_MEASURE_CONFIG_CANCEL
import xyz.zarazaex.olc.dto.TestServiceMessage
import xyz.zarazaex.olc.extension.serializable
import xyz.zarazaex.olc.handler.MmkvManager
import xyz.zarazaex.olc.handler.V2RayNativeManager
import xyz.zarazaex.olc.util.MessageUtil
import java.util.Collections
class V2RayTestService : Service() {
@@ -1,4 +1,4 @@
package com.v2ray.ang.service
package xyz.zarazaex.olc.service
import android.annotation.SuppressLint
import android.app.Service
@@ -16,17 +16,17 @@ import android.os.ParcelFileDescriptor
import android.os.StrictMode
import android.util.Log
import androidx.annotation.RequiresApi
import com.v2ray.ang.AppConfig
import com.v2ray.ang.AppConfig.LOOPBACK
import com.v2ray.ang.BuildConfig
import com.v2ray.ang.contracts.ServiceControl
import com.v2ray.ang.contracts.Tun2SocksControl
import com.v2ray.ang.handler.MmkvManager
import com.v2ray.ang.handler.NotificationManager
import com.v2ray.ang.handler.SettingsManager
import com.v2ray.ang.handler.V2RayServiceManager
import com.v2ray.ang.util.MyContextWrapper
import com.v2ray.ang.util.Utils
import xyz.zarazaex.olc.AppConfig
import xyz.zarazaex.olc.AppConfig.LOOPBACK
import xyz.zarazaex.olc.BuildConfig
import xyz.zarazaex.olc.contracts.ServiceControl
import xyz.zarazaex.olc.contracts.Tun2SocksControl
import xyz.zarazaex.olc.handler.MmkvManager
import xyz.zarazaex.olc.handler.NotificationManager
import xyz.zarazaex.olc.handler.SettingsManager
import xyz.zarazaex.olc.handler.V2RayServiceManager
import xyz.zarazaex.olc.util.MyContextWrapper
import xyz.zarazaex.olc.util.Utils
import java.lang.ref.SoftReference
@SuppressLint("VpnServicePolicy")
@@ -1,12 +1,12 @@
package com.v2ray.ang.ui
package xyz.zarazaex.olc.ui
import android.os.Bundle
import com.v2ray.ang.AppConfig
import com.v2ray.ang.BuildConfig
import com.v2ray.ang.R
import com.v2ray.ang.databinding.ActivityAboutBinding
import com.v2ray.ang.handler.V2RayNativeManager
import com.v2ray.ang.util.Utils
import xyz.zarazaex.olc.AppConfig
import xyz.zarazaex.olc.BuildConfig
import xyz.zarazaex.olc.R
import xyz.zarazaex.olc.databinding.ActivityAboutBinding
import xyz.zarazaex.olc.handler.V2RayNativeManager
import xyz.zarazaex.olc.util.Utils
class AboutActivity : BaseActivity() {
private val binding by lazy { ActivityAboutBinding.inflate(layoutInflater) }
@@ -1,4 +1,4 @@
package com.v2ray.ang.ui
package xyz.zarazaex.olc.ui
import android.app.AlertDialog
import android.content.Intent
@@ -7,20 +7,20 @@ import android.util.Log
import androidx.core.content.FileProvider
import androidx.lifecycle.lifecycleScope
import com.tencent.mmkv.MMKV
import com.v2ray.ang.AppConfig
import com.v2ray.ang.AppConfig.WEBDAV_BACKUP_FILE_NAME
import com.v2ray.ang.BuildConfig
import com.v2ray.ang.R
import com.v2ray.ang.databinding.ActivityBackupBinding
import com.v2ray.ang.databinding.DialogWebdavBinding
import com.v2ray.ang.dto.WebDavConfig
import com.v2ray.ang.extension.toastError
import com.v2ray.ang.extension.toastSuccess
import com.v2ray.ang.handler.MmkvManager
import com.v2ray.ang.handler.SettingsChangeManager
import com.v2ray.ang.handler.SettingsManager
import com.v2ray.ang.handler.WebDavManager
import com.v2ray.ang.util.ZipUtil
import xyz.zarazaex.olc.AppConfig
import xyz.zarazaex.olc.AppConfig.WEBDAV_BACKUP_FILE_NAME
import xyz.zarazaex.olc.BuildConfig
import xyz.zarazaex.olc.R
import xyz.zarazaex.olc.databinding.ActivityBackupBinding
import xyz.zarazaex.olc.databinding.DialogWebdavBinding
import xyz.zarazaex.olc.dto.WebDavConfig
import xyz.zarazaex.olc.extension.toastError
import xyz.zarazaex.olc.extension.toastSuccess
import xyz.zarazaex.olc.handler.MmkvManager
import xyz.zarazaex.olc.handler.SettingsChangeManager
import xyz.zarazaex.olc.handler.SettingsManager
import xyz.zarazaex.olc.handler.WebDavManager
import xyz.zarazaex.olc.util.ZipUtil
import kotlinx.coroutines.Dispatchers
import kotlinx.coroutines.launch
import kotlinx.coroutines.withContext
@@ -1,4 +1,4 @@
package com.v2ray.ang.ui
package xyz.zarazaex.olc.ui
import android.content.Context
import android.os.Bundle
@@ -15,11 +15,11 @@ import androidx.recyclerview.widget.DividerItemDecoration
import androidx.recyclerview.widget.RecyclerView
import com.google.android.material.appbar.MaterialToolbar
import com.google.android.material.progressindicator.LinearProgressIndicator
import com.v2ray.ang.R
import com.v2ray.ang.handler.SettingsManager
import com.v2ray.ang.helper.CustomDividerItemDecoration
import com.v2ray.ang.util.MyContextWrapper
import com.v2ray.ang.util.Utils
import xyz.zarazaex.olc.R
import xyz.zarazaex.olc.handler.SettingsManager
import xyz.zarazaex.olc.helper.CustomDividerItemDecoration
import xyz.zarazaex.olc.util.MyContextWrapper
import xyz.zarazaex.olc.util.Utils
/**
@@ -1,4 +1,4 @@
package com.v2ray.ang.ui
package xyz.zarazaex.olc.ui
import android.os.Bundle
import android.view.LayoutInflater
@@ -9,7 +9,7 @@ import androidx.fragment.app.Fragment
import androidx.recyclerview.widget.DividerItemDecoration
import androidx.recyclerview.widget.RecyclerView
import androidx.viewbinding.ViewBinding
import com.v2ray.ang.helper.CustomDividerItemDecoration
import xyz.zarazaex.olc.helper.CustomDividerItemDecoration
abstract class BaseFragment<VB : ViewBinding> : Fragment() {
private var _binding: VB? = null
@@ -1,21 +1,21 @@
package com.v2ray.ang.ui
package xyz.zarazaex.olc.ui
import android.os.Bundle
import android.util.Log
import androidx.appcompat.app.AlertDialog
import androidx.lifecycle.lifecycleScope
import com.v2ray.ang.AppConfig
import com.v2ray.ang.BuildConfig
import com.v2ray.ang.R
import com.v2ray.ang.databinding.ActivityCheckUpdateBinding
import com.v2ray.ang.dto.CheckUpdateResult
import com.v2ray.ang.extension.toast
import com.v2ray.ang.extension.toastError
import com.v2ray.ang.extension.toastSuccess
import com.v2ray.ang.handler.MmkvManager
import com.v2ray.ang.handler.UpdateCheckerManager
import com.v2ray.ang.handler.V2RayNativeManager
import com.v2ray.ang.util.Utils
import xyz.zarazaex.olc.AppConfig
import xyz.zarazaex.olc.BuildConfig
import xyz.zarazaex.olc.R
import xyz.zarazaex.olc.databinding.ActivityCheckUpdateBinding
import xyz.zarazaex.olc.dto.CheckUpdateResult
import xyz.zarazaex.olc.extension.toast
import xyz.zarazaex.olc.extension.toastError
import xyz.zarazaex.olc.extension.toastSuccess
import xyz.zarazaex.olc.handler.MmkvManager
import xyz.zarazaex.olc.handler.UpdateCheckerManager
import xyz.zarazaex.olc.handler.V2RayNativeManager
import xyz.zarazaex.olc.util.Utils
import kotlinx.coroutines.launch
class CheckUpdateActivity : BaseActivity() {
@@ -1,9 +1,9 @@
package com.v2ray.ang.ui
package xyz.zarazaex.olc.ui
import android.annotation.SuppressLint
import androidx.fragment.app.FragmentActivity
import androidx.viewpager2.adapter.FragmentStateAdapter
import com.v2ray.ang.dto.GroupMapItem
import xyz.zarazaex.olc.dto.GroupMapItem
/**
* Pager adapter for subscription groups.
@@ -1,4 +1,4 @@
package com.v2ray.ang.ui
package xyz.zarazaex.olc.ui
import android.content.Intent
import android.os.Bundle
@@ -12,20 +12,20 @@ import androidx.lifecycle.lifecycleScope
import androidx.recyclerview.widget.GridLayoutManager
import androidx.recyclerview.widget.ItemTouchHelper
import androidx.swiperefreshlayout.widget.SwipeRefreshLayout
import com.v2ray.ang.AppConfig
import com.v2ray.ang.R
import com.v2ray.ang.contracts.MainAdapterListener
import com.v2ray.ang.databinding.FragmentGroupServerBinding
import com.v2ray.ang.databinding.ItemQrcodeBinding
import com.v2ray.ang.dto.ProfileItem
import com.v2ray.ang.enums.EConfigType
import com.v2ray.ang.extension.toast
import com.v2ray.ang.extension.toastError
import com.v2ray.ang.extension.toastSuccess
import com.v2ray.ang.handler.AngConfigManager
import com.v2ray.ang.handler.MmkvManager
import com.v2ray.ang.helper.SimpleItemTouchHelperCallback
import com.v2ray.ang.viewmodel.MainViewModel
import xyz.zarazaex.olc.AppConfig
import xyz.zarazaex.olc.R
import xyz.zarazaex.olc.contracts.MainAdapterListener
import xyz.zarazaex.olc.databinding.FragmentGroupServerBinding
import xyz.zarazaex.olc.databinding.ItemQrcodeBinding
import xyz.zarazaex.olc.dto.ProfileItem
import xyz.zarazaex.olc.enums.EConfigType
import xyz.zarazaex.olc.extension.toast
import xyz.zarazaex.olc.extension.toastError
import xyz.zarazaex.olc.extension.toastSuccess
import xyz.zarazaex.olc.handler.AngConfigManager
import xyz.zarazaex.olc.handler.MmkvManager
import xyz.zarazaex.olc.helper.SimpleItemTouchHelperCallback
import xyz.zarazaex.olc.viewmodel.MainViewModel
import kotlinx.coroutines.Dispatchers
import kotlinx.coroutines.launch
@@ -1,11 +1,11 @@
package com.v2ray.ang.ui
package xyz.zarazaex.olc.ui
import android.net.Uri
import android.os.Bundle
import com.v2ray.ang.enums.PermissionType
import com.v2ray.ang.helper.FileChooserHelper
import com.v2ray.ang.helper.PermissionHelper
import com.v2ray.ang.helper.QRCodeScannerHelper
import xyz.zarazaex.olc.enums.PermissionType
import xyz.zarazaex.olc.helper.FileChooserHelper
import xyz.zarazaex.olc.helper.PermissionHelper
import xyz.zarazaex.olc.helper.QRCodeScannerHelper
/**
* HelperBaseActivity extends BaseActivity and provides additional helpers for
@@ -1,4 +1,4 @@
package com.v2ray.ang.ui
package xyz.zarazaex.olc.ui
import android.annotation.SuppressLint
import android.os.Bundle
@@ -9,12 +9,12 @@ import androidx.appcompat.widget.SearchView
import androidx.lifecycle.lifecycleScope
import androidx.recyclerview.widget.LinearLayoutManager
import androidx.swiperefreshlayout.widget.SwipeRefreshLayout
import com.v2ray.ang.R
import com.v2ray.ang.databinding.ActivityLogcatBinding
import com.v2ray.ang.extension.toast
import com.v2ray.ang.extension.toastSuccess
import com.v2ray.ang.util.Utils
import com.v2ray.ang.viewmodel.LogcatViewModel
import xyz.zarazaex.olc.R
import xyz.zarazaex.olc.databinding.ActivityLogcatBinding
import xyz.zarazaex.olc.extension.toast
import xyz.zarazaex.olc.extension.toastSuccess
import xyz.zarazaex.olc.util.Utils
import xyz.zarazaex.olc.viewmodel.LogcatViewModel
import kotlinx.coroutines.Dispatchers
import kotlinx.coroutines.launch
import kotlinx.coroutines.withContext
@@ -1,12 +1,12 @@
package com.v2ray.ang.ui
package xyz.zarazaex.olc.ui
import android.util.Log
import android.view.LayoutInflater
import android.view.ViewGroup
import androidx.recyclerview.widget.RecyclerView
import com.v2ray.ang.AppConfig
import com.v2ray.ang.databinding.ItemRecyclerLogcatBinding
import com.v2ray.ang.viewmodel.LogcatViewModel
import xyz.zarazaex.olc.AppConfig
import xyz.zarazaex.olc.databinding.ItemRecyclerLogcatBinding
import xyz.zarazaex.olc.viewmodel.LogcatViewModel
class LogcatRecyclerAdapter(
private val viewModel: LogcatViewModel,
@@ -1,4 +1,4 @@
package com.v2ray.ang.ui
package xyz.zarazaex.olc.ui
import android.content.Intent
import android.content.res.ColorStateList
@@ -21,20 +21,20 @@ import androidx.core.view.isVisible
import androidx.lifecycle.lifecycleScope
import com.google.android.material.navigation.NavigationView
import com.google.android.material.tabs.TabLayoutMediator
import com.v2ray.ang.AppConfig
import com.v2ray.ang.R
import com.v2ray.ang.databinding.ActivityMainBinding
import com.v2ray.ang.enums.EConfigType
import com.v2ray.ang.enums.PermissionType
import com.v2ray.ang.extension.toast
import com.v2ray.ang.extension.toastError
import com.v2ray.ang.handler.AngConfigManager
import com.v2ray.ang.handler.MmkvManager
import com.v2ray.ang.handler.SettingsChangeManager
import com.v2ray.ang.handler.SettingsManager
import com.v2ray.ang.handler.V2RayServiceManager
import com.v2ray.ang.util.Utils
import com.v2ray.ang.viewmodel.MainViewModel
import xyz.zarazaex.olc.AppConfig
import xyz.zarazaex.olc.R
import xyz.zarazaex.olc.databinding.ActivityMainBinding
import xyz.zarazaex.olc.enums.EConfigType
import xyz.zarazaex.olc.enums.PermissionType
import xyz.zarazaex.olc.extension.toast
import xyz.zarazaex.olc.extension.toastError
import xyz.zarazaex.olc.handler.AngConfigManager
import xyz.zarazaex.olc.handler.MmkvManager
import xyz.zarazaex.olc.handler.SettingsChangeManager
import xyz.zarazaex.olc.handler.SettingsManager
import xyz.zarazaex.olc.handler.V2RayServiceManager
import xyz.zarazaex.olc.util.Utils
import xyz.zarazaex.olc.viewmodel.MainViewModel
import kotlinx.coroutines.Dispatchers
import kotlinx.coroutines.delay
import kotlinx.coroutines.launch
@@ -1,4 +1,4 @@
package com.v2ray.ang.ui
package xyz.zarazaex.olc.ui
import android.annotation.SuppressLint
import android.graphics.Color
@@ -7,19 +7,19 @@ import android.view.View
import android.view.ViewGroup
import androidx.core.content.ContextCompat
import androidx.recyclerview.widget.RecyclerView
import com.v2ray.ang.AppConfig
import com.v2ray.ang.R
import com.v2ray.ang.contracts.MainAdapterListener
import com.v2ray.ang.databinding.ItemRecyclerFooterBinding
import com.v2ray.ang.databinding.ItemRecyclerMainBinding
import com.v2ray.ang.dto.ProfileItem
import com.v2ray.ang.dto.ServersCache
import com.v2ray.ang.extension.nullIfBlank
import com.v2ray.ang.handler.AngConfigManager
import com.v2ray.ang.handler.MmkvManager
import com.v2ray.ang.helper.ItemTouchHelperAdapter
import com.v2ray.ang.helper.ItemTouchHelperViewHolder
import com.v2ray.ang.viewmodel.MainViewModel
import xyz.zarazaex.olc.AppConfig
import xyz.zarazaex.olc.R
import xyz.zarazaex.olc.contracts.MainAdapterListener
import xyz.zarazaex.olc.databinding.ItemRecyclerFooterBinding
import xyz.zarazaex.olc.databinding.ItemRecyclerMainBinding
import xyz.zarazaex.olc.dto.ProfileItem
import xyz.zarazaex.olc.dto.ServersCache
import xyz.zarazaex.olc.extension.nullIfBlank
import xyz.zarazaex.olc.handler.AngConfigManager
import xyz.zarazaex.olc.handler.MmkvManager
import xyz.zarazaex.olc.helper.ItemTouchHelperAdapter
import xyz.zarazaex.olc.helper.ItemTouchHelperViewHolder
import xyz.zarazaex.olc.viewmodel.MainViewModel
import java.util.Collections
class MainRecyclerAdapter(
@@ -1,4 +1,4 @@
package com.v2ray.ang.ui
package xyz.zarazaex.olc.ui
import android.annotation.SuppressLint
import android.os.Bundle
@@ -10,20 +10,20 @@ import android.widget.Toast
import androidx.activity.viewModels
import androidx.appcompat.widget.SearchView
import androidx.lifecycle.lifecycleScope
import com.v2ray.ang.AppConfig
import com.v2ray.ang.AppConfig.ANG_PACKAGE
import com.v2ray.ang.R
import com.v2ray.ang.databinding.ActivityBypassListBinding
import com.v2ray.ang.dto.AppInfo
import xyz.zarazaex.olc.AppConfig
import xyz.zarazaex.olc.AppConfig.ANG_PACKAGE
import xyz.zarazaex.olc.R
import xyz.zarazaex.olc.databinding.ActivityBypassListBinding
import xyz.zarazaex.olc.dto.AppInfo
import com.v2ray.ang.extension.toastSuccess
import com.v2ray.ang.extension.v2RayApplication
import com.v2ray.ang.handler.MmkvManager
import com.v2ray.ang.handler.SettingsChangeManager
import com.v2ray.ang.util.AppManagerUtil
import xyz.zarazaex.olc.extension.toastSuccess
import xyz.zarazaex.olc.extension.v2RayApplication
import xyz.zarazaex.olc.handler.MmkvManager
import xyz.zarazaex.olc.handler.SettingsChangeManager
import xyz.zarazaex.olc.util.AppManagerUtil
import com.v2ray.ang.util.Utils
import com.v2ray.ang.viewmodel.PerAppProxyViewModel
import xyz.zarazaex.olc.util.Utils
import xyz.zarazaex.olc.viewmodel.PerAppProxyViewModel
import es.dmoral.toasty.Toasty
import kotlinx.coroutines.Dispatchers
import kotlinx.coroutines.launch
@@ -1,12 +1,12 @@
package com.v2ray.ang.ui
package xyz.zarazaex.olc.ui
import android.view.LayoutInflater
import android.view.View
import android.view.ViewGroup
import androidx.recyclerview.widget.RecyclerView
import com.v2ray.ang.databinding.ItemRecyclerBypassListBinding
import com.v2ray.ang.dto.AppInfo
import com.v2ray.ang.viewmodel.PerAppProxyViewModel
import xyz.zarazaex.olc.databinding.ItemRecyclerBypassListBinding
import xyz.zarazaex.olc.dto.AppInfo
import xyz.zarazaex.olc.viewmodel.PerAppProxyViewModel
class PerAppProxyAdapter(
val apps: List<AppInfo>,
@@ -1,18 +1,18 @@
package com.v2ray.ang.ui
package xyz.zarazaex.olc.ui
import android.os.Bundle
import android.view.Menu
import android.view.MenuItem
import androidx.appcompat.app.AlertDialog
import androidx.lifecycle.lifecycleScope
import com.v2ray.ang.R
import com.v2ray.ang.databinding.ActivityRoutingEditBinding
import com.v2ray.ang.dto.RulesetItem
import com.v2ray.ang.extension.nullIfBlank
import com.v2ray.ang.extension.toast
import com.v2ray.ang.extension.toastSuccess
import com.v2ray.ang.handler.SettingsManager
import com.v2ray.ang.util.Utils
import xyz.zarazaex.olc.R
import xyz.zarazaex.olc.databinding.ActivityRoutingEditBinding
import xyz.zarazaex.olc.dto.RulesetItem
import xyz.zarazaex.olc.extension.nullIfBlank
import xyz.zarazaex.olc.extension.toast
import xyz.zarazaex.olc.extension.toastSuccess
import xyz.zarazaex.olc.handler.SettingsManager
import xyz.zarazaex.olc.util.Utils
import kotlinx.coroutines.Dispatchers
import kotlinx.coroutines.launch
@@ -1,4 +1,4 @@
package com.v2ray.ang.ui
package xyz.zarazaex.olc.ui
import android.annotation.SuppressLint
import android.content.Intent
@@ -11,18 +11,18 @@ import androidx.appcompat.app.AlertDialog
import androidx.lifecycle.lifecycleScope
import androidx.recyclerview.widget.ItemTouchHelper
import androidx.recyclerview.widget.LinearLayoutManager
import com.v2ray.ang.AppConfig
import com.v2ray.ang.R
import com.v2ray.ang.contracts.BaseAdapterListener
import com.v2ray.ang.databinding.ActivityRoutingSettingBinding
import com.v2ray.ang.extension.toastError
import com.v2ray.ang.extension.toastSuccess
import com.v2ray.ang.handler.MmkvManager
import com.v2ray.ang.handler.SettingsManager
import com.v2ray.ang.helper.SimpleItemTouchHelperCallback
import com.v2ray.ang.util.JsonUtil
import com.v2ray.ang.util.Utils
import com.v2ray.ang.viewmodel.RoutingSettingsViewModel
import xyz.zarazaex.olc.AppConfig
import xyz.zarazaex.olc.R
import xyz.zarazaex.olc.contracts.BaseAdapterListener
import xyz.zarazaex.olc.databinding.ActivityRoutingSettingBinding
import xyz.zarazaex.olc.extension.toastError
import xyz.zarazaex.olc.extension.toastSuccess
import xyz.zarazaex.olc.handler.MmkvManager
import xyz.zarazaex.olc.handler.SettingsManager
import xyz.zarazaex.olc.helper.SimpleItemTouchHelperCallback
import xyz.zarazaex.olc.util.JsonUtil
import xyz.zarazaex.olc.util.Utils
import xyz.zarazaex.olc.viewmodel.RoutingSettingsViewModel
import kotlinx.coroutines.Dispatchers
import kotlinx.coroutines.launch
import kotlinx.coroutines.withContext
@@ -1,4 +1,4 @@
package com.v2ray.ang.ui
package xyz.zarazaex.olc.ui
import android.graphics.Color
import android.view.LayoutInflater
@@ -6,11 +6,11 @@ import android.view.View
import android.view.ViewGroup
import androidx.core.view.isVisible
import androidx.recyclerview.widget.RecyclerView
import com.v2ray.ang.contracts.BaseAdapterListener
import com.v2ray.ang.databinding.ItemRecyclerRoutingSettingBinding
import com.v2ray.ang.helper.ItemTouchHelperAdapter
import com.v2ray.ang.helper.ItemTouchHelperViewHolder
import com.v2ray.ang.viewmodel.RoutingSettingsViewModel
import xyz.zarazaex.olc.contracts.BaseAdapterListener
import xyz.zarazaex.olc.databinding.ItemRecyclerRoutingSettingBinding
import xyz.zarazaex.olc.helper.ItemTouchHelperAdapter
import xyz.zarazaex.olc.helper.ItemTouchHelperViewHolder
import xyz.zarazaex.olc.viewmodel.RoutingSettingsViewModel
class RoutingSettingRecyclerAdapter(
private val viewModel: RoutingSettingsViewModel,
@@ -1,11 +1,11 @@
package com.v2ray.ang.ui
package xyz.zarazaex.olc.ui
import android.content.Intent
import android.os.Bundle
import com.v2ray.ang.R
import com.v2ray.ang.extension.toastError
import com.v2ray.ang.extension.toastSuccess
import com.v2ray.ang.handler.AngConfigManager
import xyz.zarazaex.olc.R
import xyz.zarazaex.olc.extension.toastError
import xyz.zarazaex.olc.extension.toastSuccess
import xyz.zarazaex.olc.handler.AngConfigManager
class ScScannerActivity : HelperBaseActivity() {
@@ -1,8 +1,8 @@
package com.v2ray.ang.ui
package xyz.zarazaex.olc.ui
import android.os.Bundle
import com.v2ray.ang.R
import com.v2ray.ang.handler.V2RayServiceManager
import xyz.zarazaex.olc.R
import xyz.zarazaex.olc.handler.V2RayServiceManager
class ScSwitchActivity : BaseActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
@@ -1,4 +1,4 @@
package com.v2ray.ang.ui
package xyz.zarazaex.olc.ui
import android.content.Intent
import android.graphics.BitmapFactory
@@ -6,12 +6,12 @@ import android.os.Bundle
import android.util.Log
import android.view.Menu
import android.view.MenuItem
import com.v2ray.ang.AppConfig
import com.v2ray.ang.R
import com.v2ray.ang.databinding.ActivityNoneBinding
import com.v2ray.ang.extension.toast
import com.v2ray.ang.handler.MmkvManager
import com.v2ray.ang.util.QRCodeDecoder
import xyz.zarazaex.olc.AppConfig
import xyz.zarazaex.olc.R
import xyz.zarazaex.olc.databinding.ActivityNoneBinding
import xyz.zarazaex.olc.extension.toast
import xyz.zarazaex.olc.handler.MmkvManager
import xyz.zarazaex.olc.util.QRCodeDecoder
import io.github.g00fy2.quickie.QRResult
import io.github.g00fy2.quickie.ScanCustomCode
import io.github.g00fy2.quickie.config.BarcodeFormat
@@ -1,4 +1,4 @@
package com.v2ray.ang.ui
package xyz.zarazaex.olc.ui
import android.os.Bundle
import android.text.TextUtils
@@ -12,25 +12,25 @@ import android.widget.LinearLayout
import android.widget.Spinner
import android.widget.TextView
import androidx.appcompat.app.AlertDialog
import com.v2ray.ang.AppConfig
import com.v2ray.ang.AppConfig.DEFAULT_PORT
import com.v2ray.ang.AppConfig.PREF_ALLOW_INSECURE
import com.v2ray.ang.AppConfig.REALITY
import com.v2ray.ang.AppConfig.TLS
import com.v2ray.ang.AppConfig.WIREGUARD_LOCAL_ADDRESS_V4
import com.v2ray.ang.AppConfig.WIREGUARD_LOCAL_MTU
import com.v2ray.ang.R
import com.v2ray.ang.dto.ProfileItem
import com.v2ray.ang.enums.EConfigType
import com.v2ray.ang.enums.NetworkType
import com.v2ray.ang.extension.isNotNullEmpty
import com.v2ray.ang.extension.nullIfBlank
import com.v2ray.ang.extension.toast
import com.v2ray.ang.extension.toastSuccess
import com.v2ray.ang.handler.AngConfigManager
import com.v2ray.ang.handler.MmkvManager
import com.v2ray.ang.util.JsonUtil
import com.v2ray.ang.util.Utils
import xyz.zarazaex.olc.AppConfig
import xyz.zarazaex.olc.AppConfig.DEFAULT_PORT
import xyz.zarazaex.olc.AppConfig.PREF_ALLOW_INSECURE
import xyz.zarazaex.olc.AppConfig.REALITY
import xyz.zarazaex.olc.AppConfig.TLS
import xyz.zarazaex.olc.AppConfig.WIREGUARD_LOCAL_ADDRESS_V4
import xyz.zarazaex.olc.AppConfig.WIREGUARD_LOCAL_MTU
import xyz.zarazaex.olc.R
import xyz.zarazaex.olc.dto.ProfileItem
import xyz.zarazaex.olc.enums.EConfigType
import xyz.zarazaex.olc.enums.NetworkType
import xyz.zarazaex.olc.extension.isNotNullEmpty
import xyz.zarazaex.olc.extension.nullIfBlank
import xyz.zarazaex.olc.extension.toast
import xyz.zarazaex.olc.extension.toastSuccess
import xyz.zarazaex.olc.handler.AngConfigManager
import xyz.zarazaex.olc.handler.MmkvManager
import xyz.zarazaex.olc.util.JsonUtil
import xyz.zarazaex.olc.util.Utils
class ServerActivity : BaseActivity() {
@@ -1,4 +1,4 @@
package com.v2ray.ang.ui
package xyz.zarazaex.olc.ui
import android.os.Bundle
import android.text.TextUtils
@@ -8,17 +8,17 @@ import android.view.MenuItem
import androidx.appcompat.app.AlertDialog
import com.blacksquircle.ui.editorkit.utils.EditorTheme
import com.blacksquircle.ui.language.json.JsonLanguage
import com.v2ray.ang.AppConfig
import com.v2ray.ang.R
import com.v2ray.ang.databinding.ActivityServerCustomConfigBinding
import com.v2ray.ang.dto.ProfileItem
import com.v2ray.ang.enums.EConfigType
import com.v2ray.ang.extension.toast
import com.v2ray.ang.extension.toastSuccess
import com.v2ray.ang.fmt.CustomFmt
import com.v2ray.ang.handler.AngConfigManager
import com.v2ray.ang.handler.MmkvManager
import com.v2ray.ang.util.Utils
import xyz.zarazaex.olc.AppConfig
import xyz.zarazaex.olc.R
import xyz.zarazaex.olc.databinding.ActivityServerCustomConfigBinding
import xyz.zarazaex.olc.dto.ProfileItem
import xyz.zarazaex.olc.enums.EConfigType
import xyz.zarazaex.olc.extension.toast
import xyz.zarazaex.olc.extension.toastSuccess
import xyz.zarazaex.olc.fmt.CustomFmt
import xyz.zarazaex.olc.handler.AngConfigManager
import xyz.zarazaex.olc.handler.MmkvManager
import xyz.zarazaex.olc.util.Utils
class ServerCustomConfigActivity : BaseActivity() {
private val binding by lazy { ActivityServerCustomConfigBinding.inflate(layoutInflater) }
@@ -1,4 +1,4 @@
package com.v2ray.ang.ui
package xyz.zarazaex.olc.ui
import android.os.Bundle
import android.text.TextUtils
@@ -6,15 +6,15 @@ import android.view.Menu
import android.view.MenuItem
import android.widget.ArrayAdapter
import androidx.appcompat.app.AlertDialog
import com.v2ray.ang.R
import com.v2ray.ang.databinding.ActivityServerGroupBinding
import com.v2ray.ang.dto.ProfileItem
import com.v2ray.ang.enums.EConfigType
import com.v2ray.ang.extension.isNotNullEmpty
import com.v2ray.ang.extension.toast
import com.v2ray.ang.extension.toastSuccess
import com.v2ray.ang.handler.MmkvManager
import com.v2ray.ang.util.Utils
import xyz.zarazaex.olc.R
import xyz.zarazaex.olc.databinding.ActivityServerGroupBinding
import xyz.zarazaex.olc.dto.ProfileItem
import xyz.zarazaex.olc.enums.EConfigType
import xyz.zarazaex.olc.extension.isNotNullEmpty
import xyz.zarazaex.olc.extension.toast
import xyz.zarazaex.olc.extension.toastSuccess
import xyz.zarazaex.olc.handler.MmkvManager
import xyz.zarazaex.olc.util.Utils
class ServerGroupActivity : BaseActivity() {
private val binding by lazy { ActivityServerGroupBinding.inflate(layoutInflater) }
@@ -1,4 +1,4 @@
package com.v2ray.ang.ui
package xyz.zarazaex.olc.ui
import android.os.Bundle
import android.view.View
@@ -9,15 +9,15 @@ import androidx.preference.PreferenceFragmentCompat
import androidx.work.ExistingPeriodicWorkPolicy
import androidx.work.PeriodicWorkRequest
import androidx.work.multiprocess.RemoteWorkManager
import com.v2ray.ang.AngApplication
import com.v2ray.ang.AppConfig
import com.v2ray.ang.AppConfig.VPN
import com.v2ray.ang.R
import com.v2ray.ang.extension.toLongEx
import com.v2ray.ang.handler.MmkvManager
import com.v2ray.ang.handler.SubscriptionUpdater
import com.v2ray.ang.helper.MmkvPreferenceDataStore
import com.v2ray.ang.util.Utils
import xyz.zarazaex.olc.AngApplication
import xyz.zarazaex.olc.AppConfig
import xyz.zarazaex.olc.AppConfig.VPN
import xyz.zarazaex.olc.R
import xyz.zarazaex.olc.extension.toLongEx
import xyz.zarazaex.olc.handler.MmkvManager
import xyz.zarazaex.olc.handler.SubscriptionUpdater
import xyz.zarazaex.olc.helper.MmkvPreferenceDataStore
import xyz.zarazaex.olc.util.Utils
import java.util.concurrent.TimeUnit
class SettingsActivity : BaseActivity() {
@@ -1,4 +1,4 @@
package com.v2ray.ang.ui
package xyz.zarazaex.olc.ui
import android.os.Bundle
import android.text.TextUtils
@@ -6,16 +6,16 @@ import android.view.Menu
import android.view.MenuItem
import androidx.appcompat.app.AlertDialog
import androidx.lifecycle.lifecycleScope
import com.v2ray.ang.AppConfig
import com.v2ray.ang.R
import com.v2ray.ang.databinding.ActivitySubEditBinding
import com.v2ray.ang.dto.SubscriptionItem
import com.v2ray.ang.extension.toast
import com.v2ray.ang.extension.toastSuccess
import com.v2ray.ang.handler.MmkvManager
import com.v2ray.ang.handler.SettingsChangeManager
import com.v2ray.ang.handler.SettingsManager
import com.v2ray.ang.util.Utils
import xyz.zarazaex.olc.AppConfig
import xyz.zarazaex.olc.R
import xyz.zarazaex.olc.databinding.ActivitySubEditBinding
import xyz.zarazaex.olc.dto.SubscriptionItem
import xyz.zarazaex.olc.extension.toast
import xyz.zarazaex.olc.extension.toastSuccess
import xyz.zarazaex.olc.handler.MmkvManager
import xyz.zarazaex.olc.handler.SettingsChangeManager
import xyz.zarazaex.olc.handler.SettingsManager
import xyz.zarazaex.olc.util.Utils
import kotlinx.coroutines.Dispatchers
import kotlinx.coroutines.launch
@@ -1,4 +1,4 @@
package com.v2ray.ang.ui
package xyz.zarazaex.olc.ui
import android.annotation.SuppressLint
import android.content.Intent
@@ -12,18 +12,18 @@ import androidx.appcompat.app.AlertDialog
import androidx.lifecycle.lifecycleScope
import androidx.recyclerview.widget.ItemTouchHelper
import androidx.recyclerview.widget.LinearLayoutManager
import com.v2ray.ang.AppConfig
import com.v2ray.ang.R
import com.v2ray.ang.contracts.BaseAdapterListener
import com.v2ray.ang.databinding.ActivitySubSettingBinding
import com.v2ray.ang.databinding.ItemQrcodeBinding
import com.v2ray.ang.extension.toast
import com.v2ray.ang.handler.AngConfigManager
import com.v2ray.ang.handler.MmkvManager
import com.v2ray.ang.helper.SimpleItemTouchHelperCallback
import com.v2ray.ang.util.QRCodeDecoder
import com.v2ray.ang.util.Utils
import com.v2ray.ang.viewmodel.SubscriptionsViewModel
import xyz.zarazaex.olc.AppConfig
import xyz.zarazaex.olc.R
import xyz.zarazaex.olc.contracts.BaseAdapterListener
import xyz.zarazaex.olc.databinding.ActivitySubSettingBinding
import xyz.zarazaex.olc.databinding.ItemQrcodeBinding
import xyz.zarazaex.olc.extension.toast
import xyz.zarazaex.olc.handler.AngConfigManager
import xyz.zarazaex.olc.handler.MmkvManager
import xyz.zarazaex.olc.helper.SimpleItemTouchHelperCallback
import xyz.zarazaex.olc.util.QRCodeDecoder
import xyz.zarazaex.olc.util.Utils
import xyz.zarazaex.olc.viewmodel.SubscriptionsViewModel
import kotlinx.coroutines.Dispatchers
import kotlinx.coroutines.delay
import kotlinx.coroutines.launch
@@ -1,4 +1,4 @@
package com.v2ray.ang.ui
package xyz.zarazaex.olc.ui
import android.graphics.Color
import android.text.TextUtils
@@ -7,13 +7,13 @@ import android.view.View
import android.view.ViewGroup
import androidx.core.view.isVisible
import androidx.recyclerview.widget.RecyclerView
import com.v2ray.ang.AppConfig
import com.v2ray.ang.contracts.BaseAdapterListener
import com.v2ray.ang.databinding.ItemRecyclerSubSettingBinding
import com.v2ray.ang.helper.ItemTouchHelperAdapter
import com.v2ray.ang.helper.ItemTouchHelperViewHolder
import com.v2ray.ang.util.Utils
import com.v2ray.ang.viewmodel.SubscriptionsViewModel
import xyz.zarazaex.olc.AppConfig
import xyz.zarazaex.olc.contracts.BaseAdapterListener
import xyz.zarazaex.olc.databinding.ItemRecyclerSubSettingBinding
import xyz.zarazaex.olc.helper.ItemTouchHelperAdapter
import xyz.zarazaex.olc.helper.ItemTouchHelperViewHolder
import xyz.zarazaex.olc.util.Utils
import xyz.zarazaex.olc.viewmodel.SubscriptionsViewModel
class SubSettingRecyclerAdapter(
private val viewModel: SubscriptionsViewModel,

Some files were not shown because too many files have changed in this diff Show More