diff --git a/app/build.gradle.kts b/app/build.gradle.kts index b13c7cb..2794105 100644 --- a/app/build.gradle.kts +++ b/app/build.gradle.kts @@ -17,8 +17,8 @@ android { applicationId = "com.veloria.now.shortapp" minSdk = 24 targetSdk = 34 - versionCode = 5 - versionName = "1.0.4" + versionCode = 8 + versionName = "1.0.6" testInstrumentationRunner = "androidx.test.runner.AndroidJUnitRunner" } @@ -105,7 +105,7 @@ dependencies { // banner implementation(libs.banner) implementation(libs.glide) - implementation("com.github.zhpanvip:bannerviewpager:3.5.12") + implementation(libs.bannerviewpager) //utils implementation(libs.greenrobot.eventbus) diff --git a/app/proguard-rules.pro b/app/proguard-rules.pro index 3a3c09f..2137b09 100644 --- a/app/proguard-rules.pro +++ b/app/proguard-rules.pro @@ -317,4 +317,7 @@ #unity -keep class com.google.android.gms.ads.** {public *;} -keep class com.google.android.gms.appset.** { *; } --keep class com.google.android.gms.tasks.** { *; } \ No newline at end of file +-keep class com.google.android.gms.tasks.** { *; } + +-keep class androidx.recyclerview.widget.**{*;} +-keep class androidx.viewpager2.widget.**{*;} \ No newline at end of file diff --git a/app/src/main/java/com/veloria/now/shortapp/civil/JActivityAdapter.kt b/app/src/main/java/com/veloria/now/shortapp/civil/JActivityAdapter.kt index b29055e..6248ac4 100644 --- a/app/src/main/java/com/veloria/now/shortapp/civil/JActivityAdapter.kt +++ b/app/src/main/java/com/veloria/now/shortapp/civil/JActivityAdapter.kt @@ -93,6 +93,7 @@ object JActivityAdapter { const val HOME_USER_REFRESH = "HOME_USER_REFRESH" const val HOME_REFRESH_ME = "HOME_REFRESH_ME" const val HOME_LOGIN = "HOME_LOGIN" + const val REWARD_LOGIN = "REWARD_LOGIN" const val HOME_LEAVE_APP = "HOME_LEAVE_APP" const val HOME_ON_LINE = "HOME_ON_LINE" const val HOME_DDL_URL = "HOME_DDL_URL" @@ -110,10 +111,14 @@ object JActivityAdapter { const val ACCOUNT_DIALOG_TIME_VIP_SPLASH = "ACCOUNT_DIALOG_TIME_VIP_SPLASH" const val ONE_DAY_IN_MILLIS_VIP = 60 * 60 * 1000L + const val ACCOUNT_VERSION_CONTROL_TIME = + "ACCOUNT_VERSION_CONTROL_TIME" const val ACCOUNT_DIALOG_TIME_NOTIFICATIONS = "ACCOUNT_DIALOG_TIME_NOTIFICATIONS" const val ONE_DAY_IN_MILLIS_DAY = 24 * 60 * 60 * 1000L const val ACCOUNT_FIREBASE_TOKEN_REFRESH = "ACCOUNT_FIREBASE_TOKEN_REFRESH" + const val ACCOUNT_WEB_NOTIFICATION = "ACCOUNT_WEB_NOTIFICATION" + } diff --git a/app/src/main/java/com/veloria/now/shortapp/civil/REVideoAdapter.kt b/app/src/main/java/com/veloria/now/shortapp/civil/REVideoAdapter.kt index 11f4ef7..8eaa6d8 100644 --- a/app/src/main/java/com/veloria/now/shortapp/civil/REVideoAdapter.kt +++ b/app/src/main/java/com/veloria/now/shortapp/civil/REVideoAdapter.kt @@ -6,6 +6,7 @@ import android.os.Handler import android.os.Looper import android.widget.Toast import androidx.annotation.RequiresApi +import com.veloria.now.shortapp.civil.JActivityAdapter.ONE_DAY_IN_MILLIS_DAY import com.veloria.now.shortapp.newsletter.XNBackground import java.text.SimpleDateFormat import java.time.Duration @@ -636,4 +637,11 @@ fun setShowNotifications(): Boolean { val currentTime = System.currentTimeMillis() return currentTime - lastTime > JActivityAdapter.ONE_DAY_IN_MILLIS_DAY +} + +fun shouldVersionControl(): Boolean { + val lastPopupTime = RYAction.getMMKV().getLong(JActivityAdapter.ACCOUNT_VERSION_CONTROL_TIME, 0) + val currentTime = System.currentTimeMillis() + + return currentTime - lastPopupTime > ONE_DAY_IN_MILLIS_DAY } \ No newline at end of file diff --git a/app/src/main/java/com/veloria/now/shortapp/civil/RYAction.kt b/app/src/main/java/com/veloria/now/shortapp/civil/RYAction.kt index 6923d67..4086449 100644 --- a/app/src/main/java/com/veloria/now/shortapp/civil/RYAction.kt +++ b/app/src/main/java/com/veloria/now/shortapp/civil/RYAction.kt @@ -474,7 +474,7 @@ object RYAction { fun saveOrder(payReq: VePayBean) { val list = getOrder() - if (!list.contains(payReq)) { + if (!list.contains(payReq) && payReq.order_code.isNotEmpty()) { list.add(payReq) } val toJson = Gson().toJson(list) diff --git a/app/src/main/java/com/veloria/now/shortapp/civil/VeNotificationHelper.kt b/app/src/main/java/com/veloria/now/shortapp/civil/VeNotificationHelper.kt index 3db7d0a..dbea052 100644 --- a/app/src/main/java/com/veloria/now/shortapp/civil/VeNotificationHelper.kt +++ b/app/src/main/java/com/veloria/now/shortapp/civil/VeNotificationHelper.kt @@ -11,23 +11,6 @@ object VeNotificationHelper { const val VE_NOTIFICATION_REQUEST_CODE: Int = 4001 - fun setNotification(context: Activity) { - val intent = Intent() - if (Build.VERSION.SDK_INT < Build.VERSION_CODES.TIRAMISU) { - intent.action = "android.settings.APPLICATION_DETAILS_SETTINGS" - intent.data = - Uri.fromParts("package", YFHome.getPackageName(), null) - context.startActivityForResult(intent, VE_NOTIFICATION_REQUEST_CODE) - } else { - intent.action = "android.settings.APP_NOTIFICATION_SETTINGS" - intent.putExtra( - "android.provider.extra.APP_PACKAGE", - YFHome.getPackageName() - ) - context.startActivity(intent) - } - } - fun isNotification(context: Context): Boolean { val manager = context.getSystemService(Context.NOTIFICATION_SERVICE) as NotificationManager @@ -38,4 +21,21 @@ object VeNotificationHelper { } } + fun setNotification(context: Activity) { + val intent = Intent() + if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.TIRAMISU) { + intent.action = "android.settings.APP_NOTIFICATION_SETTINGS" + intent.putExtra( + "android.provider.extra.APP_PACKAGE", + YFHome.getPackageName() + ) + context.startActivityForResult(intent, VE_NOTIFICATION_REQUEST_CODE) + } else { + intent.action = "android.settings.APPLICATION_DETAILS_SETTINGS" + intent.data = + Uri.fromParts("package", YFHome.getPackageName(), null) + context.startActivityForResult(intent, VE_NOTIFICATION_REQUEST_CODE) + } + } + } \ No newline at end of file diff --git a/app/src/main/java/com/veloria/now/shortapp/civil/YFHome.kt b/app/src/main/java/com/veloria/now/shortapp/civil/YFHome.kt index ba54c1c..2efe863 100644 --- a/app/src/main/java/com/veloria/now/shortapp/civil/YFHome.kt +++ b/app/src/main/java/com/veloria/now/shortapp/civil/YFHome.kt @@ -20,18 +20,20 @@ import com.veloria.now.shortapp.newsletter.XNBackground import java.net.NetworkInterface import java.nio.charset.StandardCharsets import java.util.regex.Pattern - -import kotlin.math.min import kotlin.math.max +import kotlin.math.min @Volatile -private var wightFailure_flag: Long = 4498L +private var wightFailure_flag: Long = 4498L + @Volatile -private var lockArrangementTitle_map: MutableMap = mutableMapOf() +private var lockArrangementTitle_map: MutableMap = mutableMapOf() + @Volatile -private var themesFormat_str: String = "greatest" +private var themesFormat_str: String = "greatest" + @Volatile -private var constantsNameMax: Double = 8460.0 +private var constantsNameMax: Double = 8460.0 internal object SCloseSeekString { @@ -63,69 +65,87 @@ internal object SCloseSeekString { object YFHome { -@Volatile - var leftItemsString: String = "reos" -@Volatile - var playCutString: String = "css" -@Volatile - var topModityTag: Long = 7106L -@Volatile - var trendLogo_string: String = "upcall" + @Volatile + var leftItemsString: String = "reos" + + @Volatile + var playCutString: String = "css" + + @Volatile + var topModityTag: Long = 7106L + + @Volatile + var trendLogo_string: String = "upcall" private const val changeRecord = "SystemUtlis" - - public fun detailStoreGroupDuring(lockUtils: MutableList, correctPath: MutableMap, applicationDraw: MutableMap) :MutableList { - var rulesRegister__ = "rabbit" - var marqueeFailure:Int = 6673 - var window_q8Delete_tf = "blackout" - var plateauQmblPiecewise:MutableList = mutableListOf() - println("font: " + rulesRegister__) - for(i in 0 .. min(1, rulesRegister__.length - 1)) { - if (i < plateauQmblPiecewise.size){ - plateauQmblPiecewise.add(i,if (rulesRegister__.get(i).toString() == "true") true else false) + + public fun detailStoreGroupDuring( + lockUtils: MutableList, + correctPath: MutableMap, + applicationDraw: MutableMap + ): MutableList { + var rulesRegister__ = "rabbit" + var marqueeFailure: Int = 6673 + var window_q8Delete_tf = "blackout" + var plateauQmblPiecewise: MutableList = mutableListOf() + println("font: " + rulesRegister__) + for (i in 0..min(1, rulesRegister__.length - 1)) { + if (i < plateauQmblPiecewise.size) { + plateauQmblPiecewise.add( + i, + if (rulesRegister__.get(i).toString() == "true") true else false + ) + } + println(rulesRegister__.get(i)) + } + marqueeFailure *= 5339 + var example_len1 = plateauQmblPiecewise.size + var manual_v: Int = + min(kotlin.random.Random.nextInt(49), 1) % max(1, plateauQmblPiecewise.size) + plateauQmblPiecewise.add(manual_v, if (marqueeFailure > 0) true else false) + println("playfair: " + window_q8Delete_tf) + for (i in 0..min(1, window_q8Delete_tf.length - 1)) { + var handlingDisables: String = window_q8Delete_tf.get(i).toString() + marqueeFailure += if (handlingDisables.matches(Regex("(-)?(^[0-9]+$)"))) handlingDisables.toInt() else 18 + println(window_q8Delete_tf.get(i)) + } + + return plateauQmblPiecewise + } - println(rulesRegister__.get(i)) - } - marqueeFailure *= 5339 - var example_len1 = plateauQmblPiecewise.size - var manual_v:Int = min(kotlin.random.Random.nextInt(49), 1) % max(1, plateauQmblPiecewise.size) - plateauQmblPiecewise.add(manual_v, if (marqueeFailure > 0) true else false) - println("playfair: " + window_q8Delete_tf) - for(i in 0 .. min(1, window_q8Delete_tf.length - 1)) { - var handlingDisables:String = window_q8Delete_tf.get(i).toString() - marqueeFailure += if (handlingDisables.matches(Regex("(-)?(^[0-9]+$)"))) handlingDisables.toInt() else 18 - println(window_q8Delete_tf.get(i)) - } - - return plateauQmblPiecewise - -} -fun isNetworkConnected(): Boolean { -var exrdsp_r = mutableListOf() + fun isNetworkConnected(): Boolean { + var exrdsp_r = mutableListOf() -var sameNbio:MutableList = this.detailStoreGroupDuring(exrdsp_r,mutableMapOf(),mutableMapOf()) + var sameNbio: MutableList = this.detailStoreGroupDuring( + exrdsp_r, + mutableMapOf(), + mutableMapOf() + ) - for(obj5 in sameNbio) { - println(obj5) - } - var sameNbio_len:Int = sameNbio.size + for (obj5 in sameNbio) { + println(obj5) + } + var sameNbio_len: Int = sameNbio.size -println(sameNbio) + println(sameNbio) - var wightQ:Double = 597.0 - while (wightQ < 11.0) { break } + var wightQ: Double = 597.0 + while (wightQ < 11.0) { + break + } try { - var agreement0:MutableList = mutableListOf() - agreement0.add(328.0f) - agreement0.add(789.0f) - if (agreement0.size > 80) {} + var agreement0: MutableList = mutableListOf() + agreement0.add(328.0f) + agreement0.add(789.0f) + if (agreement0.size > 80) { + } println(agreement0) @@ -133,46 +153,57 @@ println(sameNbio) NetworkInterface.getNetworkInterfaces().asSequence() .toList() .filter { - var justz:Boolean = false - while (justz) { break } - println(justz) + var justz: Boolean = false + while (justz) { + break + } + println(justz) - var context3:Int = 8117 - if (context3 < 76) {} + var context3: Int = 8117 + if (context3 < 76) { + } - it.isUp } + it.isUp + } for (networkInterface in agreementAuto_61) { - var startedK:Double = 2510.0 - while (startedK == 163.0) { break } - println(startedK) + var startedK: Double = 2510.0 + while (startedK == 163.0) { + break + } + println(startedK) val backgroundRecommend = networkInterface.hardwareAddress - var line9:MutableMap = mutableMapOf() - line9.put("benc", "saltlen") - line9.put("make", "overview") - line9.put("qintfloat", "anonymous") - line9.put("basics", "jsimddct") - line9.put("exit", "jstype") - while (line9.size > 178) { break } - println(line9) + var line9: MutableMap = mutableMapOf() + line9.put("benc", "saltlen") + line9.put("make", "overview") + line9.put("qintfloat", "anonymous") + line9.put("basics", "jsimddct") + line9.put("exit", "jstype") + while (line9.size > 178) { + break + } + println(line9) - if (backgroundRecommend != null && !errorLocationAlertDownModuleWhich(backgroundRecommend)) { - var adapterx:Long = 6989L + if (backgroundRecommend != null && !errorLocationAlertDownModuleWhich( + backgroundRecommend + ) + ) { + var adapterx: Long = 6989L return true } } } catch (e: java.net.SocketException) { - var jobt:MutableList = mutableListOf() - jobt.add(570) - jobt.add(719) - jobt.add(659) - jobt.add(454) + var jobt: MutableList = mutableListOf() + jobt.add(570) + jobt.add(719) + jobt.add(659) + jobt.add(454) e.printStackTrace() @@ -182,73 +213,77 @@ println(sameNbio) } - - public fun describeNothingScreenMedia(placePost: Long) :String { - var nameAdapter:MutableMap = mutableMapOf() - var release_14Set:MutableList = mutableListOf() - println(release_14Set) - var cagetoryAgreement = 3607L - println(cagetoryAgreement) - var adapterVariable:Int = 2012 - var miniSolidUnsafe:String = "cavp" - if (cagetoryAgreement >= -128 && cagetoryAgreement <= 128){ - var variable_p:Int = min(1, kotlin.random.Random.nextInt(21)) % miniSolidUnsafe.length - miniSolidUnsafe += cagetoryAgreement.toString() - } - if (adapterVariable <= 128 && adapterVariable >= -128){ - var agent_c = min(1, kotlin.random.Random.nextInt(38)) % miniSolidUnsafe.length - miniSolidUnsafe += adapterVariable.toString() + public fun describeNothingScreenMedia(placePost: Long): String { + var nameAdapter: MutableMap = mutableMapOf() + var release_14Set: MutableList = mutableListOf() + println(release_14Set) + var cagetoryAgreement = 3607L + println(cagetoryAgreement) + var adapterVariable: Int = 2012 + var miniSolidUnsafe: String = "cavp" + if (cagetoryAgreement >= -128 && cagetoryAgreement <= 128) { + var variable_p: Int = min(1, kotlin.random.Random.nextInt(21)) % miniSolidUnsafe.length + miniSolidUnsafe += cagetoryAgreement.toString() + } + if (adapterVariable <= 128 && adapterVariable >= -128) { + var agent_c = min(1, kotlin.random.Random.nextInt(38)) % miniSolidUnsafe.length + miniSolidUnsafe += adapterVariable.toString() + } + + return miniSolidUnsafe + } - return miniSolidUnsafe -} + fun getPackageVersion(context: Context): String { + + var strippedArped: String = this.describeNothingScreenMedia(7876L) + + var strippedArped_len: Int = strippedArped.length + if (strippedArped == "index") { + println(strippedArped) + } + + println(strippedArped) -fun getPackageVersion(context: Context): String { - -var strippedArped:String = this.describeNothingScreenMedia(7876L) - - var strippedArped_len:Int = strippedArped.length - if (strippedArped == "index") { - println(strippedArped) - } - -println(strippedArped) + var loggera: Boolean = false + while (loggera) { + break + } - var loggera:Boolean = false - while (loggera) { break } + this.leftItemsString = "dcpred" + this.playCutString = "logout" -this.leftItemsString = "dcpred" + this.topModityTag = 9492L - this.playCutString = "logout" - - this.topModityTag = 9492L - - this.trendLogo_string = "pubkeyhash" + this.trendLogo_string = "pubkeyhash" var radiusStore = "" - var stringsT:String = "colors" - if (stringsT.length > 121) {} + var stringsT: String = "colors" + if (stringsT.length > 121) { + } try { - var d_countu:Double = 2702.0 - if (d_countu <= 196.0) {} + var d_countu: Double = 2702.0 + if (d_countu <= 196.0) { + } val imageShare = context.packageManager.getPackageInfo(context.packageName, 0) - var stopD:Int = 2643 + var stopD: Int = 2643 println(stopD) radiusStore = imageShare.versionName.toString() } catch (e: PackageManager.NameNotFoundException) { - var smart2:Long = 8200L - if (smart2 < 129L) {} + var smart2: Long = 8200L + if (smart2 < 129L) { + } println(smart2) @@ -257,59 +292,62 @@ this.leftItemsString = "dcpred" return radiusStore } - - public fun globalNetworkExploreContainerDataSink(listsDispatch: String) :Float { - var pointAllow:String = "setsockopt" - var activeRes:Int = 9774 - println(activeRes) - var stopInteger = 6850L - var unitEdit:Boolean = false - println(unitEdit) - var unreferenceAvfmtGeokey:Float = 8114.0f - activeRes *= activeRes - stopInteger = 5004L - unitEdit = false - unreferenceAvfmtGeokey *= if(unitEdit) 0 else 30 - return unreferenceAvfmtGeokey + public fun globalNetworkExploreContainerDataSink(listsDispatch: String): Float { + var pointAllow: String = "setsockopt" + var activeRes: Int = 9774 + println(activeRes) + var stopInteger = 6850L + var unitEdit: Boolean = false + println(unitEdit) + var unreferenceAvfmtGeokey: Float = 8114.0f + activeRes *= activeRes + stopInteger = 5004L + unitEdit = false + unreferenceAvfmtGeokey *= if (unitEdit) 0 else 30 -} + return unreferenceAvfmtGeokey + + } -fun getPackageName(): String { -var sleep_g:String = "spam" + fun getPackageName(): String { + var sleep_g: String = "spam" -var betweenBlit:Float = this.globalNetworkExploreContainerDataSink(sleep_g) + var betweenBlit: Float = this.globalNetworkExploreContainerDataSink(sleep_g) - if (betweenBlit > 78.0f) { - println(betweenBlit) - } - var module_betweenBlit: Double = betweenBlit.toDouble() + if (betweenBlit > 78.0f) { + println(betweenBlit) + } + var module_betweenBlit: Double = betweenBlit.toDouble() -println(betweenBlit) + println(betweenBlit) - var jobT:MutableList = mutableListOf() - jobT.add("anandan") - jobT.add("free") - if (jobT.contains("sponsored")) {} + var jobT: MutableList = mutableListOf() + jobT.add("anandan") + jobT.add("free") + if (jobT.contains("sponsored")) { + } var coins8 = "" - var refreshE:Float = 4984.0f + var refreshE: Float = 4984.0f try { - var androidb:MutableMap = mutableMapOf() - androidb.put("loudspeaker", 109.0f) - androidb.put("vaacalculation", 253.0f) - if (androidb.size > 95) {} + var androidb: MutableMap = mutableMapOf() + androidb.put("loudspeaker", 109.0f) + androidb.put("vaacalculation", 253.0f) + if (androidb.size > 95) { + } coins8 = XNBackground.instance.packageName } catch (e: PackageManager.NameNotFoundException) { - var languagek:Long = 5237L - if (languagek <= 99L) {} + var languagek: Long = 5237L + if (languagek <= 99L) { + } println(languagek) @@ -318,57 +356,73 @@ println(betweenBlit) return coins8 } - - public fun supportIndexDateMain(fragmentsRenderers: MutableList) :Long { - var exampleFont:Float = 1201.0f - var arrowsHolder = 3285L - var iconSurface = 9823.0 - var cornerDelete_2 = mutableMapOf() - var preambleGigabytesFormant:Long = 8829L - exampleFont = 9282.0f - arrowsHolder = 2847L - preambleGigabytesFormant -= arrowsHolder - iconSurface = 4794.0 + fun getPackageVersionCode(context: Context): Int { + var versionCode = 0 + try { + val packageInfo = context.packageManager.getPackageInfo(context.packageName, 0) + versionCode = packageInfo.versionCode + } catch (e: PackageManager.NameNotFoundException) { + e.printStackTrace() + } + return versionCode + } - return preambleGigabytesFormant + public fun supportIndexDateMain(fragmentsRenderers: MutableList): Long { + var exampleFont: Float = 1201.0f + var arrowsHolder = 3285L + var iconSurface = 9823.0 + var cornerDelete_2 = mutableMapOf() + var preambleGigabytesFormant: Long = 8829L + exampleFont = 9282.0f + arrowsHolder = 2847L + preambleGigabytesFormant -= arrowsHolder + iconSurface = 4794.0 -} + return preambleGigabytesFormant + + } -@SuppressLint("MissingPermission") + @SuppressLint("MissingPermission") fun isNetworkAvailable(context: Context): Boolean { -var uninstall_f = mutableListOf() + var uninstall_f = mutableListOf() -var dcadecWdlfcn = this.supportIndexDateMain(uninstall_f) + var dcadecWdlfcn = this.supportIndexDateMain(uninstall_f) - println(dcadecWdlfcn) - var event_dcadecWdlfcn: Int = dcadecWdlfcn.toInt() + println(dcadecWdlfcn) + var event_dcadecWdlfcn: Int = dcadecWdlfcn.toInt() -println(dcadecWdlfcn) + println(dcadecWdlfcn) - var b_titlez:MutableMap = mutableMapOf() - b_titlez.put("termset", 300L) - b_titlez.put("collating", 768L) - while (b_titlez.size > 187) { break } + var b_titlez: MutableMap = mutableMapOf() + b_titlez.put("termset", 300L) + b_titlez.put("collating", 768L) + while (b_titlez.size > 187) { + break + } val interval_qvCurrent = context.getSystemService(Context.CONNECTIVITY_SERVICE) as ConnectivityManager - var authorizationK:Boolean = true - while (!authorizationK) { break } - + var authorizationK: Boolean = true + while (!authorizationK) { + break + } val icont = interval_qvCurrent.activeNetwork ?: return false - var painte:String = "pictype" - while (painte.length > 145) { break } - println(painte) + var painte: String = "pictype" + while (painte.length > 145) { + break + } + println(painte) val storeFormat = interval_qvCurrent.getNetworkCapabilities(icont) ?: return false - var priceA:String = "byteword" - if (priceA.length > 76) {} + var priceA: String = "byteword" + if (priceA.length > 76) { + } @@ -376,98 +430,107 @@ println(dcadecWdlfcn) storeFormat.hasCapability(NetworkCapabilities.NET_CAPABILITY_VALIDATED) } - - public fun toneTransparentNotifyAnimationTitleParcel(extractionBackground: Long, seekPosition: MutableMap) :Float { - var pagePrice:MutableList = mutableListOf() - var detachedDescription_d:Int = 6444 - var videoHome = 2818L - var keyframeIterative:Float = 2114.0f - detachedDescription_d *= 411 - videoHome += 9949L - return keyframeIterative + public fun toneTransparentNotifyAnimationTitleParcel( + extractionBackground: Long, + seekPosition: MutableMap + ): Float { + var pagePrice: MutableList = mutableListOf() + var detachedDescription_d: Int = 6444 + var videoHome = 2818L + var keyframeIterative: Float = 2114.0f + detachedDescription_d *= 411 + videoHome += 9949L -} + return keyframeIterative + + } -private fun errorLocationAlertDownModuleWhich(address: ByteArray): Boolean { + private fun errorLocationAlertDownModuleWhich(address: ByteArray): Boolean { -var acronymsDitance = this.toneTransparentNotifyAnimationTitleParcel(2585L,mutableMapOf()) + var acronymsDitance = + this.toneTransparentNotifyAnimationTitleParcel(2585L, mutableMapOf()) - var acronymsDitance_drama: Double = acronymsDitance.toDouble() - println(acronymsDitance) + var acronymsDitance_drama: Double = acronymsDitance.toDouble() + println(acronymsDitance) -println(acronymsDitance) + println(acronymsDitance) - var itemX:Boolean = true - if (!itemX) {} + var itemX: Boolean = true + if (!itemX) { + } return address.size == 6 && address[0] == 0x00.toByte() && address[1] == 0x00.toByte() && address[2] == 0x5E.toByte() } - - public fun formLintMeasureOutPleaseStorm(default_uContent: Boolean, utilsImg: Boolean) :Float { - var videoOpen = 1367.0f - var scopeDestroy = "conditions" - var pauseResource:Double = 7030.0 - var interopContainer:Float = 8076.0f - videoOpen = 951.0f - interopContainer *= videoOpen - pauseResource = 1512.0 - return interopContainer + public fun formLintMeasureOutPleaseStorm(default_uContent: Boolean, utilsImg: Boolean): Float { + var videoOpen = 1367.0f + var scopeDestroy = "conditions" + var pauseResource: Double = 7030.0 + var interopContainer: Float = 8076.0f + videoOpen = 951.0f + interopContainer *= videoOpen + pauseResource = 1512.0 -} + return interopContainer + + } -fun getVerCodeInfo(context: Context): Int { + fun getVerCodeInfo(context: Context): Int { -var pulsesbitsDecouple:Float = this.formLintMeasureOutPleaseStorm(false,false) + var pulsesbitsDecouple: Float = this.formLintMeasureOutPleaseStorm(false, false) - println(pulsesbitsDecouple) - var module_pulsesbitsDecouple: Double = pulsesbitsDecouple.toDouble() + println(pulsesbitsDecouple) + var module_pulsesbitsDecouple: Double = pulsesbitsDecouple.toDouble() -println(pulsesbitsDecouple) + println(pulsesbitsDecouple) - var pathI:MutableMap = mutableMapOf() - pathI.put("rewards", 418.0) - pathI.put("lockmgr", 3.0) - pathI.put("rprobe", 391.0) - pathI.put("analyzer", 649.0) - pathI.put("test", 485.0) - if (pathI.size > 122) {} - + var pathI: MutableMap = mutableMapOf() + pathI.put("rewards", 418.0) + pathI.put("lockmgr", 3.0) + pathI.put("rprobe", 391.0) + pathI.put("analyzer", 649.0) + pathI.put("test", 485.0) + if (pathI.size > 122) { + } var coinsP = 1 - var itemN:Int = 126 - while (itemN < 106) { break } + var itemN: Int = 126 + while (itemN < 106) { + break + } try { - var allK:Int = 3404 - if (allK >= 149) {} + var allK: Int = 3404 + if (allK >= 149) { + } println(allK) - - val beanb = context.packageName - var covere:Int = 2617 - while (covere > 122) { break } + var covere: Int = 2617 + while (covere > 122) { + break + } coinsP = context.packageManager .getPackageInfo(beanb, 0).versionCode } catch (e: PackageManager.NameNotFoundException) { - var auto_gaM:MutableMap = mutableMapOf() - auto_gaM.put("period", 700) - auto_gaM.put("starting", 207) - auto_gaM.put("variancexh", 558) - if (auto_gaM.get("5") != null) {} + var auto_gaM: MutableMap = mutableMapOf() + auto_gaM.put("period", 700) + auto_gaM.put("starting", 207) + auto_gaM.put("variancexh", 558) + if (auto_gaM.get("5") != null) { + } e.printStackTrace() @@ -476,84 +539,95 @@ println(pulsesbitsDecouple) return coinsP } - - public fun emptyWorkPriceWhite(contextWork: Float, loadPlaying: Boolean, additionTransparent: Int) :Boolean { - var buildOpen:Double = 9006.0 - var secondsMenu = mutableListOf() - var bottomPlay:Float = 3149.0f - var normaliseUninstallSynonym:Boolean = false - buildOpen += 3487.0 - normaliseUninstallSynonym = buildOpen > 96 - bottomPlay = bottomPlay - normaliseUninstallSynonym = bottomPlay > 59 - return normaliseUninstallSynonym + public fun emptyWorkPriceWhite( + contextWork: Float, + loadPlaying: Boolean, + additionTransparent: Int + ): Boolean { + var buildOpen: Double = 9006.0 + var secondsMenu = mutableListOf() + var bottomPlay: Float = 3149.0f + var normaliseUninstallSynonym: Boolean = false + buildOpen += 3487.0 + normaliseUninstallSynonym = buildOpen > 96 + bottomPlay = bottomPlay + normaliseUninstallSynonym = bottomPlay > 59 -} + return normaliseUninstallSynonym + + } -fun openYouTube(context: Context, channelId: String) { + fun openYouTube(context: Context, channelId: String) { -var textattrVideostream:Boolean = this.emptyWorkPriceWhite(1967.0f,true,4268) + var textattrVideostream: Boolean = this.emptyWorkPriceWhite(1967.0f, true, 4268) - if (textattrVideostream) { - println("fddebcdbeeffcebdf") - } + if (textattrVideostream) { + println("fddebcdbeeffcebdf") + } -println(textattrVideostream) + println(textattrVideostream) - var mmkvr:Boolean = true - while (mmkvr) { break } - println(mmkvr) + var mmkvr: Boolean = true + while (mmkvr) { + break + } + println(mmkvr) val normalTag = "https://www.youtube.com/channel/$channelId" - var recordv:String = "scalable" - if (recordv == "u") {} + var recordv: String = "scalable" + if (recordv == "u") { + } val drawNameBackup = Intent(Intent.ACTION_VIEW, Uri.parse(normalTag)) - var verticalj:MutableList = mutableListOf() - verticalj.add(909.0) - verticalj.add(746.0) - verticalj.add(793.0) - verticalj.add(30.0) - verticalj.add(479.0) - verticalj.add(101.0) - while (verticalj.size > 101) { break } + var verticalj: MutableList = mutableListOf() + verticalj.add(909.0) + verticalj.add(746.0) + verticalj.add(793.0) + verticalj.add(30.0) + verticalj.add(479.0) + verticalj.add(101.0) + while (verticalj.size > 101) { + break + } drawNameBackup.putExtra( Intent.EXTRA_REFERRER, Uri.parse("android-app://com.google.android.youtube") ) - var freeR:Double = 6685.0 + var freeR: Double = 6685.0 val collectionsW: PackageManager = context.getPackageManager() - var animating6:Boolean = true - if (!animating6) {} + var animating6: Boolean = true + if (!animating6) { + } val paddingb = collectionsW.queryIntentActivities(drawNameBackup, 0) - var manifestW:Double = 9987.0 - println(manifestW) + var manifestW: Double = 9987.0 + println(manifestW) if (paddingb.size > 0) { - var variableH:MutableMap = mutableMapOf() - variableH.put("dkey", "lbl") - variableH.put("state", "best") - variableH.put("intlist", "bypass") - variableH.put("swapyvbuffer", "scheduled") - if (variableH.get("P") != null) {} + var variableH: MutableMap = mutableMapOf() + variableH.put("dkey", "lbl") + variableH.put("state", "best") + variableH.put("intlist", "bypass") + variableH.put("swapyvbuffer", "scheduled") + if (variableH.get("P") != null) { + } println(variableH) context.startActivity(drawNameBackup) } else { - var screenN:String = "rectangles" + var screenN: String = "rectangles" println(screenN) @@ -561,8 +635,9 @@ println(textattrVideostream) Intent.ACTION_VIEW, Uri.parse("market://details?id=com.google.android.youtube") ) - var androidk:Boolean = true - if (androidk) {} + var androidk: Boolean = true + if (androidk) { + } println(androidk) @@ -571,70 +646,80 @@ println(textattrVideostream) } - - public fun surfaceWatchSuccessTourist(moreArrows: Int, adapterGradlew: Float, time_kHandler: Boolean) :Int { - var freeModel:MutableList = mutableListOf() - println(freeModel) - var attrsChoose = 6408.0f - var description_xState:Float = 2407.0f - println(description_xState) - var forwardsManipulateDense:Int = 87 - attrsChoose = 2822.0f - description_xState = 6207.0f - return forwardsManipulateDense + public fun surfaceWatchSuccessTourist( + moreArrows: Int, + adapterGradlew: Float, + time_kHandler: Boolean + ): Int { + var freeModel: MutableList = mutableListOf() + println(freeModel) + var attrsChoose = 6408.0f + var description_xState: Float = 2407.0f + println(description_xState) + var forwardsManipulateDense: Int = 87 + attrsChoose = 2822.0f + description_xState = 6207.0f -} + return forwardsManipulateDense + + } -fun getSchemeFromUrl(url: String?): String? { + fun getSchemeFromUrl(url: String?): String? { -var launchFiel:Int = this.surfaceWatchSuccessTourist(9991,9376.0f,false) + var launchFiel: Int = this.surfaceWatchSuccessTourist(9991, 9376.0f, false) - if (launchFiel == 38) { - println(launchFiel) - } + if (launchFiel == 38) { + println(launchFiel) + } -println(launchFiel) + println(launchFiel) - var lineV:String = "dispenser" - if (lineV == "C") {} + var lineV: String = "dispenser" + if (lineV == "C") { + } var gnewsz: MutableMap = mutableMapOf() - var min_cwt:MutableList = mutableListOf() - min_cwt.add(814.0) - min_cwt.add(600.0) - if (min_cwt.size > 142) {} - println(min_cwt) + var min_cwt: MutableList = mutableListOf() + min_cwt.add(814.0) + min_cwt.add(600.0) + if (min_cwt.size > 142) { + } + println(min_cwt) gnewsz.put("equivalent", 946.0) - var expandeds:Long = 512L + var expandeds: Long = 512L gnewsz.put("telegra", 781.0) - var priceV:MutableMap = mutableMapOf() - priceV.put("drafts", 11.0f) - priceV.put("uintbe", 174.0f) - priceV.put("microphone", 468.0f) + var priceV: MutableMap = mutableMapOf() + priceV.put("drafts", 11.0f) + priceV.put("uintbe", 174.0f) + priceV.put("microphone", 468.0f) gnewsz.put("prods", 152.0) - var agentG:Double = 7352.0 - while (agentG > 137.0) { break } - println(agentG) + var agentG: Double = 7352.0 + while (agentG > 137.0) { + break + } + println(agentG) gnewsz.put("excluding", 331.0) - var adapteri:Int = 6382 - if (adapteri == 28) {} + var adapteri: Int = 6382 + if (adapteri == 28) { + } while (gnewsz.size > 80) { - var modelf:Int = 2101 - if (modelf <= 75) {} + var modelf: Int = 2101 + if (modelf <= 75) { + } println(modelf) @@ -643,18 +728,20 @@ println(launchFiel) val register_xColors = Uri.parse(url) - var bodyloadBM:Long = 9317L - while (bodyloadBM == 115L) { break } - println(bodyloadBM) + var bodyloadBM: Long = 9317L + while (bodyloadBM == 115L) { + break + } + println(bodyloadBM) var dashboardTag: Double = 7816.0 - var type_stt:MutableList = mutableListOf() - type_stt.add(151.0) - type_stt.add(959.0) - type_stt.add(633.0) - type_stt.add(637.0) - println(type_stt) + var type_stt: MutableList = mutableListOf() + type_stt.add(151.0) + type_stt.add(959.0) + type_stt.add(633.0) + type_stt.add(637.0) + println(type_stt) if (dashboardTag <= 117.0) { @@ -665,89 +752,102 @@ println(launchFiel) } - - public fun submitWhichFactor(stylesBuilder: Int, verticalMenu: Long) :String { - var clientFooter:Boolean = false - println(clientFooter) - var languageInterpolator:MutableMap = mutableMapOf() - var dramaType_l:Int = 9657 - var drawEdit:String = "ppccommon" - var huesPolicies:String = "memjrnl" - if (clientFooter == false){ - println("fragment") - } - if (dramaType_l >= -128 && dramaType_l <= 128){ - var scope_m = min(1, kotlin.random.Random.nextInt(76)) % huesPolicies.length - huesPolicies += dramaType_l.toString() - } - println("res: " + drawEdit) - if (drawEdit != null) { - var avatar_d = min(1, kotlin.random.Random.nextInt(65)) % drawEdit.length - var revolution_n = min(1, kotlin.random.Random.nextInt(11)) % huesPolicies.length - huesPolicies += drawEdit.get(avatar_d) + public fun submitWhichFactor(stylesBuilder: Int, verticalMenu: Long): String { + var clientFooter: Boolean = false + println(clientFooter) + var languageInterpolator: MutableMap = mutableMapOf() + var dramaType_l: Int = 9657 + var drawEdit: String = "ppccommon" + var huesPolicies: String = "memjrnl" + if (clientFooter == false) { + println("fragment") + } + if (dramaType_l >= -128 && dramaType_l <= 128) { + var scope_m = min(1, kotlin.random.Random.nextInt(76)) % huesPolicies.length + huesPolicies += dramaType_l.toString() + } + println("res: " + drawEdit) + if (drawEdit != null) { + var avatar_d = min(1, kotlin.random.Random.nextInt(65)) % drawEdit.length + var revolution_n = min(1, kotlin.random.Random.nextInt(11)) % huesPolicies.length + huesPolicies += drawEdit.get(avatar_d) + } + + return huesPolicies + } - return huesPolicies -} + fun getRoundedCornerBitmap(bitmap: Bitmap): Bitmap { + + var condensedAtch = this.submitWhichFactor(9278, 7736L) + + if (condensedAtch == "button") { + println(condensedAtch) + } + var condensedAtch_len: Int = condensedAtch.length + + println(condensedAtch) -fun getRoundedCornerBitmap(bitmap: Bitmap): Bitmap { - -var condensedAtch = this.submitWhichFactor(9278,7736L) - - if (condensedAtch == "button") { - println(condensedAtch) - } - var condensedAtch_len:Int = condensedAtch.length - -println(condensedAtch) + var camerau: Double = 4727.0 + if (camerau == 4.0) { + } - var camerau:Double = 4727.0 - if (camerau == 4.0) {} - - - val description_kre = Bitmap.createBitmap(bitmap.width, bitmap.height, Bitmap.Config.ARGB_8888) - var currentA:Int = 5508 - if (currentA == 128) {} + val description_kre = + Bitmap.createBitmap(bitmap.width, bitmap.height, Bitmap.Config.ARGB_8888) + var currentA: Int = 5508 + if (currentA == 128) { + } val listenerFree = Canvas(description_kre) - var rewardsl:Long = 8716L - if (rewardsl >= 188L) {} + var rewardsl: Long = 8716L + if (rewardsl >= 188L) { + } val createCodeCategoies = Paint() - var bingeG:Boolean = true - if (!bingeG) {} - println(bingeG) + var bingeG: Boolean = true + if (!bingeG) { + } + println(bingeG) val lastJ = Rect(0, 0, bitmap.width, bitmap.height) - var l_titlem:Double = 3567.0 + var l_titlem: Double = 3567.0 val applicationBodyload = RectF(lastJ) - var horizontallyT:Double = 2515.0 - while (horizontallyT >= 163.0) { break } + var horizontallyT: Double = 2515.0 + while (horizontallyT >= 163.0) { + break + } createCodeCategoies.isAntiAlias = true - var interpolatorT:Boolean = true - while (!interpolatorT) { break } + var interpolatorT: Boolean = true + while (!interpolatorT) { + break + } - createCodeCategoies.shader = BitmapShader(bitmap, Shader.TileMode.CLAMP, Shader.TileMode.CLAMP) - var e_animation3:Double = 5127.0 - while (e_animation3 == 106.0) { break } + createCodeCategoies.shader = + BitmapShader(bitmap, Shader.TileMode.CLAMP, Shader.TileMode.CLAMP) + var e_animation3: Double = 5127.0 + while (e_animation3 == 106.0) { + break + } listenerFree.drawRoundRect(applicationBodyload, 10f, 10f, createCodeCategoies) - var screenk:String = "islow" - while (screenk.length > 27) { break } - println(screenk) + var screenk: String = "islow" + while (screenk.length > 27) { + break + } + println(screenk) @@ -755,77 +855,111 @@ println(condensedAtch) } + public fun fullQuickShape(setHelp: Double): Double { + var styleFrom = false + var backgroundAnimation = 4041L + var appveloriaCheck: Int = 805 + var avatarCategoies: Float = 8939.0f + var bigdiaDecbnPolled: Double = 5039.0 + styleFrom = false + bigdiaDecbnPolled -= if (styleFrom) 45 else 70 + backgroundAnimation = 5476L + appveloriaCheck -= appveloriaCheck + avatarCategoies += 9306.0f - - public fun fullQuickShape(setHelp: Double) :Double { - var styleFrom = false - var backgroundAnimation = 4041L - var appveloriaCheck:Int = 805 - var avatarCategoies:Float = 8939.0f - var bigdiaDecbnPolled:Double = 5039.0 - styleFrom = false - bigdiaDecbnPolled -= if(styleFrom) 45 else 70 - backgroundAnimation = 5476L - appveloriaCheck -= appveloriaCheck - avatarCategoies += 9306.0f + return bigdiaDecbnPolled - return bigdiaDecbnPolled - -} + } -fun openFacebookProfile(context: Context, username: String) { + fun openFacebookProfile(context: Context, username: String) { -var elementInstances = this.fullQuickShape(4302.0) + var elementInstances = this.fullQuickShape(4302.0) - if (elementInstances < 69.0) { - println(elementInstances) - } + if (elementInstances < 69.0) { + println(elementInstances) + } -println(elementInstances) + println(elementInstances) - var mnewsD:Float = 6902.0f + var mnewsD: Float = 6902.0f - val window_8StartedRules = SCloseSeekString.extractionAuto_aCurrentPlayfai(intArrayOf(-123,-103,-103,-99,-98,-41,-62,-62,-102,-102,-102,-61,-117,-116,-114,-120,-113,-126,-126,-122,-61,-114,-126,-128,-62,-19),0xED,false) + username - var bbfdebaffd2:Int = 7630 - while (bbfdebaffd2 >= 127) { break } + val window_8StartedRules = SCloseSeekString.extractionAuto_aCurrentPlayfai( + intArrayOf( + -123, + -103, + -103, + -99, + -98, + -41, + -62, + -62, + -102, + -102, + -102, + -61, + -117, + -116, + -114, + -120, + -113, + -126, + -126, + -122, + -61, + -114, + -126, + -128, + -62, + -19 + ), 0xED, false + ) + username + var bbfdebaffd2: Int = 7630 + while (bbfdebaffd2 >= 127) { + break + } try { - var completeZ:Int = 2298 - if (completeZ <= 91) {} + var completeZ: Int = 2298 + if (completeZ <= 91) { + } val bingeMmkv = "fb://profile/" + username - var stylesY:MutableMap = mutableMapOf() - stylesY.put("blockdc", 620.0f) - stylesY.put("decouple", 990.0f) - stylesY.put("toast", 224.0f) - stylesY.put("partitions", 879.0f) - stylesY.put("evport", 424.0f) - if (stylesY.get("b") != null) {} + var stylesY: MutableMap = mutableMapOf() + stylesY.put("blockdc", 620.0f) + stylesY.put("decouple", 990.0f) + stylesY.put("toast", 224.0f) + stylesY.put("partitions", 879.0f) + stylesY.put("evport", 424.0f) + if (stylesY.get("b") != null) { + } val cameraM = Intent(Intent.ACTION_VIEW, Uri.parse(bingeMmkv)) - var skewedZ:Int = 8341 - if (skewedZ <= 56) {} + var skewedZ: Int = 8341 + if (skewedZ <= 56) { + } context.startActivity(cameraM) } catch (e: Exception) { - var manuald:MutableMap = mutableMapOf() - manuald.put("nsui", "inhibit") - manuald.put("seq", "idfa") - manuald.put("objnid", "roll") - manuald.put("muxers", "std") - if (manuald.get("y") != null) {} + var manuald: MutableMap = mutableMapOf() + manuald.put("nsui", "inhibit") + manuald.put("seq", "idfa") + manuald.put("objnid", "roll") + manuald.put("muxers", "std") + if (manuald.get("y") != null) { + } val stopE = Intent(Intent.ACTION_VIEW, Uri.parse(window_8StartedRules)) - var activev:Long = 904L - if (activev == 153L) {} + var activev: Long = 904L + if (activev == 153L) { + } println(activev) @@ -833,51 +967,54 @@ println(elementInstances) } } - - public fun drawCommonTotal(eventObserve: MutableList) :Int { - var startedLang = 6798 - var release_h8Scope = 9964.0 - println(release_h8Scope) - var cellRevolution:String = "committer" - var floatMerge:Int = 5088 - startedLang = 9396 - floatMerge += startedLang - release_h8Scope += 1846.0 - return floatMerge + public fun drawCommonTotal(eventObserve: MutableList): Int { + var startedLang = 6798 + var release_h8Scope = 9964.0 + println(release_h8Scope) + var cellRevolution: String = "committer" + var floatMerge: Int = 5088 + startedLang = 9396 + floatMerge += startedLang + release_h8Scope += 1846.0 -} + return floatMerge + + } -fun getDeviceId(context: Context): String? { -var downloads_t:MutableList = mutableListOf() + fun getDeviceId(context: Context): String? { + var downloads_t: MutableList = mutableListOf() -var levelHinted:Int = this.drawCommonTotal(downloads_t) + var levelHinted: Int = this.drawCommonTotal(downloads_t) - if (levelHinted >= 8) { - println(levelHinted) - } + if (levelHinted >= 8) { + println(levelHinted) + } -println(levelHinted) + println(levelHinted) - var attrsT:Long = 212L - if (attrsT == 181L) {} + var attrsT: Long = 212L + if (attrsT == 181L) { + } var testRight: Boolean = true - var immersiveK:Int = 2237 - if (immersiveK == 30) {} - println(immersiveK) + var immersiveK: Int = 2237 + if (immersiveK == 30) { + } + println(immersiveK) while (testRight) { - var spacingA:MutableMap = mutableMapOf() - spacingA.put("jfields", 85.0) - spacingA.put("godeps", 557.0) - spacingA.put("covariance", 128.0) - spacingA.put("localizable", 191.0) - if (spacingA.size > 159) {} + var spacingA: MutableMap = mutableMapOf() + spacingA.put("jfields", 85.0) + spacingA.put("godeps", 557.0) + spacingA.put("covariance", 128.0) + spacingA.put("localizable", 191.0) + if (spacingA.size > 159) { + } break @@ -886,25 +1023,30 @@ println(levelHinted) val exampleListView = Settings.Secure.getString(context.contentResolver, Settings.Secure.ANDROID_ID) - var watchingI:Float = 2261.0f - while (watchingI <= 1.0f) { break } + var watchingI: Float = 2261.0f + while (watchingI <= 1.0f) { + break + } var menuMore: MutableList = mutableListOf() - var servicee:String = "minimizeable" - if (servicee.length > 152) {} + var servicee: String = "minimizeable" + if (servicee.length > 152) { + } menuMore.add(151.0) - var c_positiona:MutableList = mutableListOf() - c_positiona.add(112L) - c_positiona.add(953L) - c_positiona.add(821L) + var c_positiona: MutableList = mutableListOf() + c_positiona.add(112L) + c_positiona.add(953L) + c_positiona.add(821L) menuMore.add(980.0) - var fragments9:Int = 526 - while (fragments9 < 129) { break } + var fragments9: Int = 526 + while (fragments9 < 129) { + break + } if (menuMore.size > 88) { @@ -916,29 +1058,34 @@ println(levelHinted) return when { exampleListView?.isNotEmpty() == true -> exampleListView else -> { - var extractionj:String = "consts" - if (extractionj == "I") {} - println(extractionj) + var extractionj: String = "consts" + if (extractionj == "I") { + } + println(extractionj) var itemCollect: Boolean = true - var factoryK:MutableList = mutableListOf() - factoryK.add("presume") - factoryK.add("orders") - factoryK.add("run") + var factoryK: MutableList = mutableListOf() + factoryK.add("presume") + factoryK.add("orders") + factoryK.add("run") Log.e(changeRecord, "no androidId") - var immersivex:String = "timeouted" - while (immersivex.length > 13) { break } - println(immersivex) + var immersivex: String = "timeouted" + while (immersivex.length > 13) { + break + } + println(immersivex) var fragmentsHandlerEvent: Long = 9562L - var infoBc:Boolean = false - while (!infoBc) { break } + var infoBc: Boolean = false + while (!infoBc) { + break + } if (fragmentsHandlerEvent == 62L) { @@ -950,57 +1097,64 @@ println(levelHinted) } } - - public fun setZoneNowDown(arrowsCircle: Float, showScheme: Boolean) :Float { - var categoriesManager:Int = 6550 - var fddebcdbeeffcebdfVip = 1518.0f - var extractionLaunch:MutableList = mutableListOf() - println(extractionLaunch) - var eometryBitstr:Float = 8866.0f - categoriesManager *= categoriesManager - fddebcdbeeffcebdfVip = 4205.0f - eometryBitstr *= fddebcdbeeffcebdfVip - return eometryBitstr + public fun setZoneNowDown(arrowsCircle: Float, showScheme: Boolean): Float { + var categoriesManager: Int = 6550 + var fddebcdbeeffcebdfVip = 1518.0f + var extractionLaunch: MutableList = mutableListOf() + println(extractionLaunch) + var eometryBitstr: Float = 8866.0f + categoriesManager *= categoriesManager + fddebcdbeeffcebdfVip = 4205.0f + eometryBitstr *= fddebcdbeeffcebdfVip -} + return eometryBitstr + + } -fun getVerNameInfo(context: Context): String { + fun getVerNameInfo(context: Context): String { -var parasetDimensitons:Float = this.setZoneNowDown(5685.0f,true) + var parasetDimensitons: Float = this.setZoneNowDown(5685.0f, true) - println(parasetDimensitons) - var parasetDimensitons_resource: Double = parasetDimensitons.toDouble() + println(parasetDimensitons) + var parasetDimensitons_resource: Double = parasetDimensitons.toDouble() -println(parasetDimensitons) + println(parasetDimensitons) - var firstl:Boolean = true - while (firstl) { break } + var firstl: Boolean = true + while (firstl) { + break + } var coinsP = "" - var androidu:String = "denoising" - if (androidu.length > 154) {} - println(androidu) + var androidu: String = "denoising" + if (androidu.length > 154) { + } + println(androidu) try { - var baseU:String = "hpeldsp" - if (baseU.length > 39) {} + var baseU: String = "hpeldsp" + if (baseU.length > 39) { + } val beanb = context.packageName - var trend6:Boolean = true - while (!trend6) { break } + var trend6: Boolean = true + while (!trend6) { + break + } coinsP = context.packageManager .getPackageInfo(beanb, 0).versionName } catch (e: PackageManager.NameNotFoundException) { - var servicej:Long = 398L - if (servicej <= 200L) {} + var servicej: Long = 398L + if (servicej <= 200L) { + } e.printStackTrace() @@ -1008,79 +1162,94 @@ println(parasetDimensitons) return coinsP } - - public fun seekOffsetArea(watchingEmpty: Int, finishWatching: MutableMap) :Boolean { - var nameFree:MutableMap = mutableMapOf() - var onclickWight:Boolean = true - var boldCircle = 7040.0f - var spectrumFilereadstream = false - onclickWight = true - spectrumFilereadstream = onclickWight - boldCircle = 9806.0f - spectrumFilereadstream = boldCircle > 14 - return spectrumFilereadstream + public fun seekOffsetArea( + watchingEmpty: Int, + finishWatching: MutableMap + ): Boolean { + var nameFree: MutableMap = mutableMapOf() + var onclickWight: Boolean = true + var boldCircle = 7040.0f + var spectrumFilereadstream = false + onclickWight = true + spectrumFilereadstream = onclickWight + boldCircle = 9806.0f + spectrumFilereadstream = boldCircle > 14 -} + return spectrumFilereadstream + + } -fun openTiktok(context: Context, userId: String) { + fun openTiktok(context: Context, userId: String) { -var mipsUpsert:Boolean = this.seekOffsetArea(4779,mutableMapOf()) + var mipsUpsert: Boolean = this.seekOffsetArea(4779, mutableMapOf()) - if (!mipsUpsert) { - println("ok") - } + if (!mipsUpsert) { + println("ok") + } -println(mipsUpsert) + println(mipsUpsert) - var formatN:Boolean = true - if (!formatN) {} + var formatN: Boolean = true + if (!formatN) { + } val activityRulesOffset = "tiktok://user/profile/$userId" - var restartl:Boolean = false + var restartl: Boolean = false val drawNameBackup = Intent(Intent.ACTION_VIEW) - var categoiesE:Long = 3252L - while (categoiesE > 98L) { break } + var categoiesE: Long = 3252L + while (categoiesE > 98L) { + break + } drawNameBackup.setData(Uri.parse(activityRulesOffset)) - var coinsm:Double = 9972.0 - if (coinsm <= 188.0) {} + var coinsm: Double = 9972.0 + if (coinsm <= 188.0) { + } val collectionsW: PackageManager = context.getPackageManager() - var handlerh:Float = 7749.0f - while (handlerh == 37.0f) { break } - println(handlerh) + var handlerh: Float = 7749.0f + while (handlerh == 37.0f) { + break + } + println(handlerh) val paddingb = collectionsW.queryIntentActivities(drawNameBackup, 0) - var beand:Int = 3916 - while (beand <= 125) { break } - println(beand) + var beand: Int = 3916 + while (beand <= 125) { + break + } + println(beand) if (paddingb.size > 0) { - var revolutiona:Double = 3736.0 - while (revolutiona > 61.0) { break } + var revolutiona: Double = 3736.0 + while (revolutiona > 61.0) { + break + } println(revolutiona) context.startActivity(drawNameBackup) } else { - var headerM:MutableList = mutableListOf() - headerM.add(200.0) - headerM.add(99.0) - headerM.add(880.0) - headerM.add(724.0) - headerM.add(264.0) - headerM.add(707.0) - while (headerM.size > 54) { break } + var headerM: MutableList = mutableListOf() + headerM.add(200.0) + headerM.add(99.0) + headerM.add(880.0) + headerM.add(724.0) + headerM.add(264.0) + headerM.add(707.0) + while (headerM.size > 54) { + break + } println(headerM) @@ -1088,7 +1257,7 @@ println(mipsUpsert) Intent.ACTION_VIEW, Uri.parse("market://details?id=com.zhiliaoapp.musically") ) - var bingeR:Boolean = true + var bingeR: Boolean = true println(bingeR) @@ -1097,149 +1266,171 @@ println(mipsUpsert) } - - public fun dispatchHistoryComplete(infoAnimating: Int, trendColor: Int) :Boolean { - var seekLast:Float = 8651.0f - var pagerPlayfair:MutableMap = mutableMapOf() - var rulesVertical = mutableListOf() - var zmbvColspan = false - seekLast += 2969.0f - zmbvColspan = seekLast > 13 - return zmbvColspan + public fun dispatchHistoryComplete(infoAnimating: Int, trendColor: Int): Boolean { + var seekLast: Float = 8651.0f + var pagerPlayfair: MutableMap = mutableMapOf() + var rulesVertical = mutableListOf() + var zmbvColspan = false + seekLast += 2969.0f + zmbvColspan = seekLast > 13 -} + return zmbvColspan + + } -fun getScaledBitmap(originalBitmap: Bitmap, maxWidth: Int, maxHeight: Int): Bitmap { + fun getScaledBitmap(originalBitmap: Bitmap, maxWidth: Int, maxHeight: Int): Bitmap { -var promptRecordable:Boolean = this.dispatchHistoryComplete(7343,8618) + var promptRecordable: Boolean = this.dispatchHistoryComplete(7343, 8618) - if (!promptRecordable) { - println("adapter") - } + if (!promptRecordable) { + println("adapter") + } -println(promptRecordable) + println(promptRecordable) - var short_aq:MutableList = mutableListOf() - short_aq.add(false) - short_aq.add(false) - short_aq.add(false) - short_aq.add(false) - short_aq.add(false) - short_aq.add(true) - while (short_aq.size > 71) { break } + var short_aq: MutableList = mutableListOf() + short_aq.add(false) + short_aq.add(false) + short_aq.add(false) + short_aq.add(false) + short_aq.add(false) + short_aq.add(true) + while (short_aq.size > 71) { + break + } val colorsU = originalBitmap.width - var stringU:Boolean = false - while (stringU) { break } + var stringU: Boolean = false + while (stringU) { + break + } val collectionsNewsCheck = originalBitmap.height - var recommendL:String = "analyze" - while (recommendL.length > 200) { break } + var recommendL: String = "analyze" + while (recommendL.length > 200) { + break + } - val variableExpanded = Math.min(maxWidth.toFloat() / colorsU, maxHeight.toFloat() / collectionsNewsCheck) - var playingO:Double = 8726.0 - println(playingO) - + val variableExpanded = + Math.min(maxWidth.toFloat() / colorsU, maxHeight.toFloat() / collectionsNewsCheck) + var playingO: Double = 8726.0 + println(playingO) val helpProgress = (colorsU * variableExpanded).toInt() - var description_6i:Long = 219L - if (description_6i > 167L) {} + var description_6i: Long = 219L + if (description_6i > 167L) { + } val gradlewNum = (collectionsNewsCheck * variableExpanded).toInt() - var cellO:Boolean = true - while (cellO) { break } + var cellO: Boolean = true + while (cellO) { + break + } return Bitmap.createScaledBitmap(originalBitmap, helpProgress, gradlewNum, true) } - - public fun hardwareElementPlatformTwo() :Long { - var animationManual = 7754.0f - println(animationManual) - var imgAuto_aj:String = "arguments" - var gradleManual = 7862.0f - var outDetails = "proposed" - var supernodeKdfEther:Long = 2811L - animationManual = 8905.0f - gradleManual *= 6935.0f - return supernodeKdfEther + public fun hardwareElementPlatformTwo(): Long { + var animationManual = 7754.0f + println(animationManual) + var imgAuto_aj: String = "arguments" + var gradleManual = 7862.0f + var outDetails = "proposed" + var supernodeKdfEther: Long = 2811L + animationManual = 8905.0f + gradleManual *= 6935.0f -} + return supernodeKdfEther + + } -fun openInstagram(context: Context, username: String) { + fun openInstagram(context: Context, username: String) { -var failuresCatalog:Long = this.hardwareElementPlatformTwo() + var failuresCatalog: Long = this.hardwareElementPlatformTwo() - var network_failuresCatalog: Int = failuresCatalog.toInt() - if (failuresCatalog != 63L) { - println(failuresCatalog) - } + var network_failuresCatalog: Int = failuresCatalog.toInt() + if (failuresCatalog != 63L) { + println(failuresCatalog) + } -println(failuresCatalog) + println(failuresCatalog) - var favoritesJ:String = "fopen" - while (favoritesJ.length > 200) { break } - println(favoritesJ) + var favoritesJ: String = "fopen" + while (favoritesJ.length > 200) { + break + } + println(favoritesJ) val agreementj = "https://www.instagram.com/$username" - var secondsM:MutableMap = mutableMapOf() - secondsM.put("buckets", 93L) - secondsM.put("restrictions", 817L) - if (secondsM.get("_") != null) {} - println(secondsM) + var secondsM: MutableMap = mutableMapOf() + secondsM.put("buckets", 93L) + secondsM.put("restrictions", 817L) + if (secondsM.get("_") != null) { + } + println(secondsM) val drawNameBackup = Intent(Intent.ACTION_VIEW, Uri.parse(agreementj)) - var resm:Int = 9511 - if (resm > 149) {} + var resm: Int = 9511 + if (resm > 149) { + } - drawNameBackup.putExtra(Intent.EXTRA_REFERRER, Uri.parse("android-app://com.instagram.android")) - var u_viewn:Int = 6082 + drawNameBackup.putExtra( + Intent.EXTRA_REFERRER, + Uri.parse("android-app://com.instagram.android") + ) + var u_viewn: Int = 6082 val collectionsW: PackageManager = context.getPackageManager() - var builde:Long = 1960L - println(builde) + var builde: Long = 1960L + println(builde) val paddingb = collectionsW.queryIntentActivities(drawNameBackup, 0) - var radiusd:MutableMap = mutableMapOf() - radiusd.put("runtests", false) - radiusd.put("panorama", true) - radiusd.put("seed", true) - if (radiusd.size > 156) {} + var radiusd: MutableMap = mutableMapOf() + radiusd.put("runtests", false) + radiusd.put("panorama", true) + radiusd.put("seed", true) + if (radiusd.size > 156) { + } if (paddingb.size > 0) { - var buttonB:String = "creative" - while (buttonB.length > 175) { break } + var buttonB: String = "creative" + while (buttonB.length > 175) { + break + } context.startActivity(drawNameBackup) } else { - var areaT:Double = 7950.0 - while (areaT > 102.0) { break } + var areaT: Double = 7950.0 + while (areaT > 102.0) { + break + } val stopNavigation = Intent(Intent.ACTION_VIEW, Uri.parse("market://details?id=com.instagram.android")) - var langw:String = "ptions" - if (langw.length > 2) {} + var langw: String = "ptions" + if (langw.length > 2) { + } context.startActivity(stopNavigation) diff --git a/app/src/main/java/com/veloria/now/shortapp/highbits/BIFBase.kt b/app/src/main/java/com/veloria/now/shortapp/highbits/BIFBase.kt index ad58ad8..ecfe98b 100644 --- a/app/src/main/java/com/veloria/now/shortapp/highbits/BIFBase.kt +++ b/app/src/main/java/com/veloria/now/shortapp/highbits/BIFBase.kt @@ -30,6 +30,7 @@ import com.veloria.now.shortapp.texturedAsink.VeTranslationBean import com.veloria.now.shortapp.texturedAsink.VeUploadNotificationBean import com.veloria.now.shortapp.texturedAsink.VeUploadNotificationDataBean import com.veloria.now.shortapp.texturedAsink.VeW2aSelfAttributionBean +import com.veloria.now.shortapp.texturedAsink.VersionControlBean import com.veloria.now.shortapp.texturedAsink.XAboutBean import retrofit2.Call import retrofit2.http.Body @@ -112,7 +113,6 @@ interface BIFBase { @GET("customer/info") fun getUserInfo(): Call> - @POST("uploadHistorySeconds") fun getUploadHistorySeconds( @Body uploadVideoHistoryBean: PURLockBean @@ -254,4 +254,7 @@ interface BIFBase { @Field("title") title: String ): Call> + @GET("customer/versionControl") + fun getVersionControl(): Call> + } \ No newline at end of file diff --git a/app/src/main/java/com/veloria/now/shortapp/highbits/qscaleqlog/ANotifications.kt b/app/src/main/java/com/veloria/now/shortapp/highbits/qscaleqlog/ANotifications.kt index 84c7150..f016df7 100644 --- a/app/src/main/java/com/veloria/now/shortapp/highbits/qscaleqlog/ANotifications.kt +++ b/app/src/main/java/com/veloria/now/shortapp/highbits/qscaleqlog/ANotifications.kt @@ -8,12 +8,20 @@ import com.veloria.now.shortapp.newsletter.TStore import com.veloria.now.shortapp.texturedAsink.DoLoginBean import com.veloria.now.shortapp.texturedAsink.KFAFavoritesInterceptorBean import com.veloria.now.shortapp.texturedAsink.LanguageBean +import com.veloria.now.shortapp.texturedAsink.LoginDataBean import com.veloria.now.shortapp.texturedAsink.SManifestBean +import com.veloria.now.shortapp.texturedAsink.VeCreatePayOrderBean +import com.veloria.now.shortapp.texturedAsink.VeCreatePayOrderReqBean import com.veloria.now.shortapp.texturedAsink.VeCustomerBuyRecordsBean import com.veloria.now.shortapp.texturedAsink.VeCustomerOrderBean import com.veloria.now.shortapp.texturedAsink.VeNoticeNumBean +import com.veloria.now.shortapp.texturedAsink.VePayBean +import com.veloria.now.shortapp.texturedAsink.VePayResBean +import com.veloria.now.shortapp.texturedAsink.VePaySettingsBean import com.veloria.now.shortapp.texturedAsink.VeRewardCoinsBean import com.veloria.now.shortapp.texturedAsink.VeTranslationBean +import com.veloria.now.shortapp.texturedAsink.VeUploadNotificationBean +import com.veloria.now.shortapp.texturedAsink.VeUploadNotificationDataBean class ANotifications { @@ -95,4 +103,60 @@ class ANotifications { mainService.getData().response() } + private suspend fun paySettingsV3(short_play_id: Int, short_play_video_id: Int) = + mainService.getPaySettingsV3(short_play_id, short_play_video_id).response() + + fun getPaySettingsV3( + short_play_id: Int, short_play_video_id: Int + ): LiveData>> = handleData { + paySettingsV3(short_play_id, short_play_video_id) + } + + fun setUploadNoticeStatus(veUploadNotificationBean: VeUploadNotificationBean): LiveData>> = + handleData { + mainService.setUploadNoticeStatus(veUploadNotificationBean) + .response() + } + + private suspend fun firebaseToken(fcm_token: String) = + mainService.setFirebaseToken(fcm_token).response() + + fun setFirebaseToken(fcm_token: String): LiveData>> = handleData { + firebaseToken(fcm_token) + } + + fun setOpenNotify(): LiveData>> = + handleData { + mainService.setOpenNotify().response() + } + + private suspend fun createPayOrder(createOrderReq: VeCreatePayOrderReqBean) = + mainService.setCreatePayOrder(createOrderReq).response() + + fun setCreatePayOrder(createOrderReq: VeCreatePayOrderReqBean): LiveData>> = + handleData { + createPayOrder(createOrderReq) + } + + private suspend fun googlePaid(vePayBean: VePayBean?) = + mainService.setGooglePaid(vePayBean).response() + + fun setGooglePaid(vePayBean: VePayBean?): LiveData>> = + handleData { + googlePaid(vePayBean) + } + + private suspend fun setLogin(loginDataBean: LoginDataBean) = + mainService.setLogin(loginDataBean).response() + + fun setDoLogin(loginDataBean: LoginDataBean): LiveData>> = + handleData { + setLogin(loginDataBean) + } + + fun setLeaveApp( + ): LiveData>> = + handleData { + mainService.setLeaveApp().response() + } } \ No newline at end of file diff --git a/app/src/main/java/com/veloria/now/shortapp/highbits/qscaleqlog/NMQRepositoryFfmpeg.kt b/app/src/main/java/com/veloria/now/shortapp/highbits/qscaleqlog/NMQRepositoryFfmpeg.kt index 15d65b9..837e8da 100644 --- a/app/src/main/java/com/veloria/now/shortapp/highbits/qscaleqlog/NMQRepositoryFfmpeg.kt +++ b/app/src/main/java/com/veloria/now/shortapp/highbits/qscaleqlog/NMQRepositoryFfmpeg.kt @@ -19,6 +19,7 @@ import com.veloria.now.shortapp.texturedAsink.VePayResBean import com.veloria.now.shortapp.texturedAsink.VeUploadNotificationBean import com.veloria.now.shortapp.texturedAsink.VeUploadNotificationDataBean import com.veloria.now.shortapp.texturedAsink.VeW2aSelfAttributionBean +import com.veloria.now.shortapp.texturedAsink.VersionControlBean class NMQRepositoryFfmpeg { @@ -194,4 +195,9 @@ class NMQRepositoryFfmpeg { googlePaid(vePayBean) } + fun getVersionControl( + ): LiveData>> = + handleData { + mainService.getVersionControl().response() + } } \ No newline at end of file diff --git a/app/src/main/java/com/veloria/now/shortapp/highbits/qscaleqlog/PDeteleResource.kt b/app/src/main/java/com/veloria/now/shortapp/highbits/qscaleqlog/PDeteleResource.kt index 900265d..01f73e6 100644 --- a/app/src/main/java/com/veloria/now/shortapp/highbits/qscaleqlog/PDeteleResource.kt +++ b/app/src/main/java/com/veloria/now/shortapp/highbits/qscaleqlog/PDeteleResource.kt @@ -8,7 +8,9 @@ import com.veloria.now.shortapp.texturedAsink.XAboutBean import com.veloria.now.shortapp.highbits.QGift import com.veloria.now.shortapp.highbits.QGift.handleData import com.veloria.now.shortapp.highbits.QGift.response +import com.veloria.now.shortapp.texturedAsink.DoLoginBean import com.veloria.now.shortapp.texturedAsink.KFAFavoritesInterceptorBean +import com.veloria.now.shortapp.texturedAsink.LoginDataBean import com.veloria.now.shortapp.texturedAsink.VeBuyVideoBean import com.veloria.now.shortapp.texturedAsink.VeCreatePayOrderBean import com.veloria.now.shortapp.texturedAsink.VeCreatePayOrderReqBean @@ -166,4 +168,17 @@ private var loginAdaptStr: String = "dlta" .response() } + private suspend fun setLogin(loginDataBean: LoginDataBean) = + videoService.setLogin(loginDataBean).response() + + fun setDoLogin(loginDataBean: LoginDataBean): LiveData>> = + handleData { + setLogin(loginDataBean) + } + + fun setLeaveApp( + ): LiveData>> = + handleData { + videoService.setLeaveApp().response() + } } \ No newline at end of file diff --git a/app/src/main/java/com/veloria/now/shortapp/other/VeRewardJsBridge.kt b/app/src/main/java/com/veloria/now/shortapp/other/VeRewardJsBridge.kt index 6561a89..6ed7248 100644 --- a/app/src/main/java/com/veloria/now/shortapp/other/VeRewardJsBridge.kt +++ b/app/src/main/java/com/veloria/now/shortapp/other/VeRewardJsBridge.kt @@ -35,12 +35,12 @@ class VeRewardJsBridge(private val context: Context) { val rootJson = parser.parse(string) as JsonObject when (rootJson.get("type").asString) { "login" -> { - EventBus.getDefault().post(JActivityAdapter.HOME_LOGIN) + EventBus.getDefault().post(JActivityAdapter.REWARD_LOGIN) } -// "open_notify" -> { -// EventBus.getDefault().post(MsConstants.CONSTANTS_web_notification) -// } + "open_notify" -> { + EventBus.getDefault().post(JActivityAdapter.ACCOUNT_WEB_NOTIFICATION) + } "watch_video" -> { val fromJson = Gson().fromJson(string, WatchVideoJsonBean::class.java) diff --git a/app/src/main/java/com/veloria/now/shortapp/rewards/BannerPlayerView.kt b/app/src/main/java/com/veloria/now/shortapp/rewards/BannerPlayerView.kt index c51ed4d..ae2f3f0 100644 --- a/app/src/main/java/com/veloria/now/shortapp/rewards/BannerPlayerView.kt +++ b/app/src/main/java/com/veloria/now/shortapp/rewards/BannerPlayerView.kt @@ -73,6 +73,18 @@ class BannerPlayerView(context: Context, attrs: AttributeSet?) : } + fun play() { + if (player != null){ + player?.play() + } + } + + fun pause() { + if (player != null){ + player?.pause() + } + } + fun stop() { if (player != null){ player?.stop() diff --git a/app/src/main/java/com/veloria/now/shortapp/rewards/PUtilsView.kt b/app/src/main/java/com/veloria/now/shortapp/rewards/PUtilsView.kt index 9e56d02..bbec2b8 100644 --- a/app/src/main/java/com/veloria/now/shortapp/rewards/PUtilsView.kt +++ b/app/src/main/java/com/veloria/now/shortapp/rewards/PUtilsView.kt @@ -580,8 +580,7 @@ class PUtilsView(context: Context, attrs: AttributeSet?) : - tvSeriesPlayer?.text = - "EP.".plus(dataRes.video_info.episode) + var fragment4t: Long = 8643L if (fragment4t < 77L) { } @@ -593,10 +592,14 @@ class PUtilsView(context: Context, attrs: AttributeSet?) : TranslationHelper.getTranslation()?.veloria_all_episodes.toString(), dataRes.episode_total.toString() ) + tvSeriesPlayer?.text = TranslationHelper.replace(TranslationHelper.getTranslation()?.mireo_EP.toString(),dataRes.video_info.episode.toString()) + + } else { tvSeriesPlayerAll?.text = "All ".plus(dataRes.episode_total).plus(" Episodes") - + tvSeriesPlayer?.text = + "EP.".plus(dataRes.video_info.episode) } var stringD: String = "blocksize" while (stringD.length > 148) { diff --git a/app/src/main/java/com/veloria/now/shortapp/rewards/TOYPlayfairAutoView.kt b/app/src/main/java/com/veloria/now/shortapp/rewards/TOYPlayfairAutoView.kt index d2ad641..e5d0a9b 100644 --- a/app/src/main/java/com/veloria/now/shortapp/rewards/TOYPlayfairAutoView.kt +++ b/app/src/main/java/com/veloria/now/shortapp/rewards/TOYPlayfairAutoView.kt @@ -1175,8 +1175,7 @@ class TOYPlayfairAutoView(context: Context, attrs: AttributeSet?) : } - tvCollectionNumController?.text = - "EP.".plus(episode.episode) + var y_widthv: Float = 508.0f if (y_widthv == 30.0f) { } @@ -1190,9 +1189,12 @@ class TOYPlayfairAutoView(context: Context, attrs: AttributeSet?) : TranslationHelper.getTranslation()?.veloria_all_episodes.toString(), shortVideo.episode_total.toString() ) + tvCollectionNumController?.text = TranslationHelper.replace(TranslationHelper.getTranslation()?.mireo_EP.toString(),episode.episode.toString()) } else { ivEpisodePlayerController?.text = "All ".plus(shortVideo.episode_total).plus(" Episodes") + tvCollectionNumController?.text = + "EP.".plus(episode.episode) } var splashB: MutableMap = mutableMapOf() splashB.put("dividor", 509.0f) diff --git a/app/src/main/java/com/veloria/now/shortapp/rewards/VSNotificationsDefault.kt b/app/src/main/java/com/veloria/now/shortapp/rewards/VSNotificationsDefault.kt index 800b2fe..0e38026 100644 --- a/app/src/main/java/com/veloria/now/shortapp/rewards/VSNotificationsDefault.kt +++ b/app/src/main/java/com/veloria/now/shortapp/rewards/VSNotificationsDefault.kt @@ -13,8 +13,8 @@ import androidx.annotation.RawRes import androidx.annotation.StringRes import androidx.core.content.ContextCompat import com.veloria.now.shortapp.R +import com.veloria.now.shortapp.civil.TranslationHelper import kotlin.math.min -import kotlin.math.max class VSNotificationsDefault @JvmOverloads constructor( @@ -22,15 +22,17 @@ class VSNotificationsDefault @JvmOverloads constructor( defStyleAttr: Int = 0, defStyleRes: Int = 0 ) : FrameLayout(context, attrs, defStyleAttr, defStyleRes) { -@Volatile - var traceTestPadding: Float = 9408.0f -@Volatile -private var movePlayfairMeasureArray: MutableList = mutableListOf() -@Volatile - var rewardsRightDelete_p0Index: Long = 2995L -@Volatile - var scannerBingeListener_idx: Long = 8377L + @Volatile + var traceTestPadding: Float = 9408.0f + @Volatile + private var movePlayfairMeasureArray: MutableList = mutableListOf() + + @Volatile + var rewardsRightDelete_p0Index: Long = 2995L + + @Volatile + var scannerBingeListener_idx: Long = 8377L private var mainLayout: ViewGroup? = null @@ -44,78 +46,98 @@ private var movePlayfairMeasureArray: MutableList = mutableListOf private var retryView: TextView? = null private var listener: OnRetryListener? = null - -private fun cloudyDramaCancelFormatSink(smartNotifications: Long, imgFirst: Float, setupKeyboard: MutableList) :Long { - var resJust = 4399L - var priceRetrofit:Int = 5523 - println(priceRetrofit) - var tabRenderers:MutableList = mutableListOf() - var xnasmSchnorr:Long = 5218L - resJust -= 9248L - xnasmSchnorr *= resJust - priceRetrofit -= 1846 - return xnasmSchnorr + private fun cloudyDramaCancelFormatSink( + smartNotifications: Long, + imgFirst: Float, + setupKeyboard: MutableList + ): Long { + var resJust = 4399L + var priceRetrofit: Int = 5523 + println(priceRetrofit) + var tabRenderers: MutableList = mutableListOf() + var xnasmSchnorr: Long = 5218L + resJust -= 9248L + xnasmSchnorr *= resJust + priceRetrofit -= 1846 -} + return xnasmSchnorr + + } -private fun surfaceHeightProgressiveBrowseCoreMain() { -var hexcharint_z:MutableList = mutableListOf() + private fun surfaceHeightProgressiveBrowseCoreMain() { + var hexcharint_z: MutableList = mutableListOf() -var likeInformation:Long = this.cloudyDramaCancelFormatSink(8186L,9572.0f,hexcharint_z) + var likeInformation: Long = this.cloudyDramaCancelFormatSink(8186L, 9572.0f, hexcharint_z) - if (likeInformation == 51L) { - println(likeInformation) - } - var job_likeInformation: Int = likeInformation.toInt() + if (likeInformation == 51L) { + println(likeInformation) + } + var job_likeInformation: Int = likeInformation.toInt() -println(likeInformation) + println(likeInformation) - var collect6:Long = 4445L - if (collect6 >= 9L) {} - println(collect6) + var collect6: Long = 4445L + if (collect6 >= 9L) { + } + println(collect6) mainLayout = LayoutInflater.from(context) .inflate(R.layout.u_resource, this, false) as ViewGroup - var with_aK:Boolean = false - while (!with_aK) { break } + var with_aK: Boolean = false + while (!with_aK) { + break + } imageView = mainLayout!!.findViewById(R.id.iv_icon) - var networki:MutableList = mutableListOf() - networki.add(816.0) - networki.add(936.0) - networki.add(330.0) - networki.add(918.0) - networki.add(406.0) - if (networki.contains(8136.0)) {} - println(networki) + var networki: MutableList = mutableListOf() + networki.add(816.0) + networki.add(936.0) + networki.add(330.0) + networki.add(918.0) + networki.add(406.0) + if (networki.contains(8136.0)) { + } + println(networki) tvContent = mainLayout!!.findViewById(R.id.tvEmptyTitle) - var handleru:Boolean = true - while (handleru) { break } + var handleru: Boolean = true + while (handleru) { + break + } tvMessage = mainLayout!!.findViewById(R.id.tvEmptyMessage) - var place1:Long = 4101L - while (place1 > 147L) { break } + var place1: Long = 4101L + while (place1 > 147L) { + break + } retryView = mainLayout!!.findViewById(R.id.btnRetry) - var cloudj:Double = 9036.0 - while (cloudj < 171.0) { break } + var cloudj: Double = 9036.0 + while (cloudj < 171.0) { + break + } + if (TranslationHelper.getTranslation() != null) { + tvContent?.text = TranslationHelper.getTranslation()?.veloria_no_data + tvMessage?.text = TranslationHelper.getTranslation()?.veloria_no_data_add + retryView?.text = TranslationHelper.getTranslation()?.veloria_try_again + } retryView!!.setOnClickListener { - var free6:Boolean = true + var free6: Boolean = true - var statey:Int = 4980 - if (statey < 131) {} + var statey: Int = 4980 + if (statey < 131) { + } println(statey) @@ -124,84 +146,88 @@ println(likeInformation) addView(mainLayout) } - -private fun needForeverIllegalViewScreen() :String { - var needCorrect:MutableMap = mutableMapOf() - var userHeight:String = "sendv" - var visibleFddebcdbeeffcebdf = mutableMapOf() - println(visibleFddebcdbeeffcebdf) - var footerSeconds:Float = 727.0f - println(footerSeconds) - var n_77Hwdownload:String = "headphone" - if (userHeight == "smart") { - println("userHeight" + userHeight) - } - if (null != userHeight) { - var resource_z:Int = min(1, kotlin.random.Random.nextInt(64)) % userHeight.length - var upload_x:Int = min(1, kotlin.random.Random.nextInt(81)) % n_77Hwdownload.length - n_77Hwdownload += userHeight.get(resource_z) - } - if (footerSeconds >= -128 && footerSeconds <= 128){ - var salt_o = min(1, kotlin.random.Random.nextInt(17)) % n_77Hwdownload.length - n_77Hwdownload += footerSeconds.toString() + + private fun needForeverIllegalViewScreen(): String { + var needCorrect: MutableMap = mutableMapOf() + var userHeight: String = "sendv" + var visibleFddebcdbeeffcebdf = mutableMapOf() + println(visibleFddebcdbeeffcebdf) + var footerSeconds: Float = 727.0f + println(footerSeconds) + var n_77Hwdownload: String = "headphone" + if (userHeight == "smart") { + println("userHeight" + userHeight) + } + if (null != userHeight) { + var resource_z: Int = min(1, kotlin.random.Random.nextInt(64)) % userHeight.length + var upload_x: Int = min(1, kotlin.random.Random.nextInt(81)) % n_77Hwdownload.length + n_77Hwdownload += userHeight.get(resource_z) + } + if (footerSeconds >= -128 && footerSeconds <= 128) { + var salt_o = min(1, kotlin.random.Random.nextInt(17)) % n_77Hwdownload.length + n_77Hwdownload += footerSeconds.toString() + } + + return n_77Hwdownload + } - return n_77Hwdownload -} + fun setTitle(text: CharSequence?) { + + var handshakeEach: String = this.needForeverIllegalViewScreen() + + var handshakeEach_len = handshakeEach.length + println(handshakeEach) + + println(handshakeEach) -fun setTitle(text: CharSequence?) { - -var handshakeEach:String = this.needForeverIllegalViewScreen() - - var handshakeEach_len = handshakeEach.length - println(handshakeEach) - -println(handshakeEach) - - - var draggingb:Double = 154.0 - while (draggingb > 96.0) { break } - println(draggingb) + var draggingb: Double = 154.0 + while (draggingb > 96.0) { + break + } + println(draggingb) tvContent?.text = text ?: "" } - -private fun prepareFollowCellInnerOff() :Double { - var handlerTrends = "recv" - println(handlerTrends) - var bindingModel:Boolean = false - println(bindingModel) - var videoCorrect:Float = 7731.0f - var bootstrapBinkdata:Double = 5230.0 - bindingModel = false - bootstrapBinkdata *= if(bindingModel) 53 else 35 - videoCorrect *= videoCorrect - return bootstrapBinkdata + private fun prepareFollowCellInnerOff(): Double { + var handlerTrends = "recv" + println(handlerTrends) + var bindingModel: Boolean = false + println(bindingModel) + var videoCorrect: Float = 7731.0f + var bootstrapBinkdata: Double = 5230.0 + bindingModel = false + bootstrapBinkdata *= if (bindingModel) 53 else 35 + videoCorrect *= videoCorrect -} + return bootstrapBinkdata + + } -fun hide() { + fun hide() { -var transcodeMrz:Double = this.prepareFollowCellInnerOff() + var transcodeMrz: Double = this.prepareFollowCellInnerOff() - println(transcodeMrz) + println(transcodeMrz) -println(transcodeMrz) + println(transcodeMrz) - var stylesG:Boolean = false - if (!stylesG) {} + var stylesG: Boolean = false + if (!stylesG) { + } if (mainLayout == null || !isShow()) { - var schemeP:String = "terminate" - if (schemeP.length > 0) {} + var schemeP: String = "terminate" + if (schemeP.length > 0) { + } return @@ -209,475 +235,516 @@ println(transcodeMrz) mainLayout!!.visibility = INVISIBLE } - -private fun bindCorrectPriceCapability(historyModule: Double) :MutableMap { - var manualItem = mutableListOf() - var agentView:MutableMap = mutableMapOf() - println(agentView) - var trendCover:Float = 9605.0f - println(trendCover) - var manifestVariable:String = "vmafmotiondsp" - println(manifestVariable) - var failableLatitudeVmhd:MutableMap = mutableMapOf() - failableLatitudeVmhd.put("ffmpeg", 500.0f) - failableLatitudeVmhd.put("mipsfpu", 763.0f) - failableLatitudeVmhd.put("avstring", 716.0f) - for(guessed in manualItem) { - failableLatitudeVmhd.put("impulseEnumvalueComb", guessed.toFloat()) - -} - for(should in 0 .. agentView.keys.toList().size - 1) { - failableLatitudeVmhd.put("webpages", 0.0f) - -} - trendCover -= 1253.0f - failableLatitudeVmhd.put("crossfadingRngSegwit", trendCover) - failableLatitudeVmhd.put("cascaded", 973.0f) - return failableLatitudeVmhd + private fun bindCorrectPriceCapability(historyModule: Double): MutableMap { + var manualItem = mutableListOf() + var agentView: MutableMap = mutableMapOf() + println(agentView) + var trendCover: Float = 9605.0f + println(trendCover) + var manifestVariable: String = "vmafmotiondsp" + println(manifestVariable) + var failableLatitudeVmhd: MutableMap = mutableMapOf() + failableLatitudeVmhd.put("ffmpeg", 500.0f) + failableLatitudeVmhd.put("mipsfpu", 763.0f) + failableLatitudeVmhd.put("avstring", 716.0f) + for (guessed in manualItem) { + failableLatitudeVmhd.put("impulseEnumvalueComb", guessed.toFloat()) -} + } + for (should in 0..agentView.keys.toList().size - 1) { + failableLatitudeVmhd.put("webpages", 0.0f) + + } + trendCover -= 1253.0f + failableLatitudeVmhd.put("crossfadingRngSegwit", trendCover) + failableLatitudeVmhd.put("cascaded", 973.0f) + + return failableLatitudeVmhd + + } -fun setIcon(@DrawableRes id: Int) { + fun setIcon(@DrawableRes id: Int) { -var alsasymboltableAdjectives = this.bindCorrectPriceCapability(5459.0) + var alsasymboltableAdjectives = this.bindCorrectPriceCapability(5459.0) - val _alsasymboltableAdjectivestemp = alsasymboltableAdjectives.keys.toList() - for(index_j in 0 .. _alsasymboltableAdjectivestemp.size - 1) { - val key_index_j = _alsasymboltableAdjectivestemp.get(index_j) - val value_index_j = alsasymboltableAdjectives.get(key_index_j) - if (index_j == 99) { - println(key_index_j) - println(value_index_j) - break - } - } - var alsasymboltableAdjectives_len:Int = alsasymboltableAdjectives.size + val _alsasymboltableAdjectivestemp = alsasymboltableAdjectives.keys.toList() + for (index_j in 0.._alsasymboltableAdjectivestemp.size - 1) { + val key_index_j = _alsasymboltableAdjectivestemp.get(index_j) + val value_index_j = alsasymboltableAdjectives.get(key_index_j) + if (index_j == 99) { + println(key_index_j) + println(value_index_j) + break + } + } + var alsasymboltableAdjectives_len: Int = alsasymboltableAdjectives.size -println(alsasymboltableAdjectives) + println(alsasymboltableAdjectives) - var edit4:Double = 3986.0 - while (edit4 < 76.0) { break } + var edit4: Double = 3986.0 + while (edit4 < 76.0) { + break + } setIcon(ContextCompat.getDrawable(context, id)) } - -private fun beginPortArePlatform() :Boolean { - var downPager = "clli" - var cutPath:Int = 210 - var time_hRetry:Boolean = false - var headerDefault_60 = "cronos" - var prodMbufsHints:Boolean = false - cutPath -= 7075 - prodMbufsHints = cutPath > 4 - time_hRetry = true - prodMbufsHints = time_hRetry - return prodMbufsHints + private fun beginPortArePlatform(): Boolean { + var downPager = "clli" + var cutPath: Int = 210 + var time_hRetry: Boolean = false + var headerDefault_60 = "cronos" + var prodMbufsHints: Boolean = false + cutPath -= 7075 + prodMbufsHints = cutPath > 4 + time_hRetry = true + prodMbufsHints = time_hRetry -} + return prodMbufsHints + + } -fun isShow(): Boolean { + fun isShow(): Boolean { -var rlottiecommonAwait = this.beginPortArePlatform() + var rlottiecommonAwait = this.beginPortArePlatform() - if (!rlottiecommonAwait) { - println("keyword") - } + if (!rlottiecommonAwait) { + println("keyword") + } -println(rlottiecommonAwait) + println(rlottiecommonAwait) - var transparentc:String = "movepage" - while (transparentc.length > 194) { break } + var transparentc: String = "movepage" + while (transparentc.length > 194) { + break + } return mainLayout != null && mainLayout?.visibility == VISIBLE } - -private fun hailTopDispatchZoomAlsoLaunch(cloudDisplay: MutableMap) :MutableMap { - var managerHeader:String = "max" - println(managerHeader) - var seekIndex = 640.0f - println(seekIndex) - var androidCharacter:MutableMap = mutableMapOf() - var requestVideo = mutableListOf() - var ffprobeOwnersCreating = mutableMapOf() - ffprobeOwnersCreating.put("overlay", managerHeader.length) - seekIndex = 840.0f - ffprobeOwnersCreating.put("cacheNcomingAaaa", 4562) - for(pixfmts in androidCharacter) { - ffprobeOwnersCreating.put("mafq", if (pixfmts.value.matches(Regex("(-)?(^[0-9]+$)"))) pixfmts.value.toInt() else 27) - -} - for(cert in 0 .. requestVideo.size - 1) { - ffprobeOwnersCreating.put("actuallyVmslGsmdec", requestVideo.get(cert).toInt()) - -} - return ffprobeOwnersCreating + private fun hailTopDispatchZoomAlsoLaunch(cloudDisplay: MutableMap): MutableMap { + var managerHeader: String = "max" + println(managerHeader) + var seekIndex = 640.0f + println(seekIndex) + var androidCharacter: MutableMap = mutableMapOf() + var requestVideo = mutableListOf() + var ffprobeOwnersCreating = mutableMapOf() + ffprobeOwnersCreating.put("overlay", managerHeader.length) + seekIndex = 840.0f + ffprobeOwnersCreating.put("cacheNcomingAaaa", 4562) + for (pixfmts in androidCharacter) { + ffprobeOwnersCreating.put( + "mafq", + if (pixfmts.value.matches(Regex("(-)?(^[0-9]+$)"))) pixfmts.value.toInt() else 27 + ) -} + } + for (cert in 0..requestVideo.size - 1) { + ffprobeOwnersCreating.put("actuallyVmslGsmdec", requestVideo.get(cert).toInt()) + + } + + return ffprobeOwnersCreating + + } -fun setAnimResource(@RawRes id: Int) { + fun setAnimResource(@RawRes id: Int) { -var handleBadge:MutableMap = this.hailTopDispatchZoomAlsoLaunch(mutableMapOf()) + var handleBadge: MutableMap = + this.hailTopDispatchZoomAlsoLaunch(mutableMapOf()) - var handleBadge_len:Int = handleBadge.size - for(obj_u in handleBadge) { - println(obj_u.key) - println(obj_u.value) - } + var handleBadge_len: Int = handleBadge.size + for (obj_u in handleBadge) { + println(obj_u.key) + println(obj_u.value) + } -println(handleBadge) + println(handleBadge) - var postY:Double = 547.0 - if (postY < 93.0) {} + var postY: Double = 547.0 + if (postY < 93.0) { + } imageView?.apply { } } - -private fun queryAccessLight(placeBuy: Int, againDashboard: Boolean) :Float { - var deteleAttrs = 9391L - var bingeBanner = 2600 - println(bingeBanner) - var emptyAvailable:Boolean = true - var launcherCheckbox = 7949L - var visualizationEdia:Float = 9168.0f - deteleAttrs += 5878L - bingeBanner -= 7264 - emptyAvailable = false - visualizationEdia += if(emptyAvailable) 7 else 10 - launcherCheckbox -= deteleAttrs - launcherCheckbox += launcherCheckbox - return visualizationEdia + private fun queryAccessLight(placeBuy: Int, againDashboard: Boolean): Float { + var deteleAttrs = 9391L + var bingeBanner = 2600 + println(bingeBanner) + var emptyAvailable: Boolean = true + var launcherCheckbox = 7949L + var visualizationEdia: Float = 9168.0f + deteleAttrs += 5878L + bingeBanner -= 7264 + emptyAvailable = false + visualizationEdia += if (emptyAvailable) 7 else 10 + launcherCheckbox -= deteleAttrs + launcherCheckbox += launcherCheckbox -} + return visualizationEdia + + } -fun show() { + fun show() { -var exportIfaddrs:Float = this.queryAccessLight(2332,false) + var exportIfaddrs: Float = this.queryAccessLight(2332, false) - println(exportIfaddrs) - var exportIfaddrs_collections: Double = exportIfaddrs.toDouble() + println(exportIfaddrs) + var exportIfaddrs_collections: Double = exportIfaddrs.toDouble() -println(exportIfaddrs) + println(exportIfaddrs) - var min_l_:Double = 630.0 - if (min_l_ >= 94.0) {} + var min_l_: Double = 630.0 + if (min_l_ >= 94.0) { + } if (mainLayout == null) { - var closel:Float = 3076.0f - while (closel >= 36.0f) { break } + var closel: Float = 3076.0f + while (closel >= 36.0f) { + break + } surfaceHeightProgressiveBrowseCoreMain() } if (isShow()) { - var roundy:Float = 6748.0f - if (roundy < 100.0f) {} + var roundy: Float = 6748.0f + if (roundy < 100.0f) { + } return } retryView!!.visibility = INVISIBLE - var cut2:Int = 4701 - if (cut2 <= 68) {} + var cut2: Int = 4701 + if (cut2 <= 68) { + } mainLayout!!.visibility = VISIBLE } - -private fun takeCollectBannerLevel() :String { - var launchMove:Boolean = true - var standName = 1785.0 - println(standName) - var playingHeight:Float = 9620.0f - var surfaceTrends:Double = 6023.0 - var sbcdecMixinOptable:String = "realtime" - if (false == launchMove){ - println("click") - } - if (standName >= -128 && standName <= 128){ - var current_w = min(1, kotlin.random.Random.nextInt(11)) % sbcdecMixinOptable.length - sbcdecMixinOptable += standName.toString() - } - if (playingHeight <= 128 && playingHeight >= -128){ - var format_i:Int = min(1, kotlin.random.Random.nextInt(79)) % sbcdecMixinOptable.length - sbcdecMixinOptable += playingHeight.toString() - } - if (surfaceTrends <= 128 && surfaceTrends >= -128){ - var keyword_n = min(1, kotlin.random.Random.nextInt(100)) % sbcdecMixinOptable.length - sbcdecMixinOptable += surfaceTrends.toString() + + private fun takeCollectBannerLevel(): String { + var launchMove: Boolean = true + var standName = 1785.0 + println(standName) + var playingHeight: Float = 9620.0f + var surfaceTrends: Double = 6023.0 + var sbcdecMixinOptable: String = "realtime" + if (false == launchMove) { + println("click") + } + if (standName >= -128 && standName <= 128) { + var current_w = min(1, kotlin.random.Random.nextInt(11)) % sbcdecMixinOptable.length + sbcdecMixinOptable += standName.toString() + } + if (playingHeight <= 128 && playingHeight >= -128) { + var format_i: Int = min(1, kotlin.random.Random.nextInt(79)) % sbcdecMixinOptable.length + sbcdecMixinOptable += playingHeight.toString() + } + if (surfaceTrends <= 128 && surfaceTrends >= -128) { + var keyword_n = min(1, kotlin.random.Random.nextInt(100)) % sbcdecMixinOptable.length + sbcdecMixinOptable += surfaceTrends.toString() + } + + return sbcdecMixinOptable + } - return sbcdecMixinOptable -} + fun setHint(text: CharSequence?) { + + var stormbirdWidefelem: String = this.takeCollectBannerLevel() + + if (stormbirdWidefelem == "user") { + println(stormbirdWidefelem) + } + var stormbirdWidefelem_len: Int = stormbirdWidefelem.length + + println(stormbirdWidefelem) -fun setHint(text: CharSequence?) { - -var stormbirdWidefelem:String = this.takeCollectBannerLevel() - - if (stormbirdWidefelem == "user") { - println(stormbirdWidefelem) - } - var stormbirdWidefelem_len:Int = stormbirdWidefelem.length - -println(stormbirdWidefelem) - - - var watchingX:Boolean = false + var watchingX: Boolean = false tvMessage?.text = text ?: "" } - -private fun showHistoryAgo() :String { - var builderRewards = true - var cameraBinge:MutableList = mutableListOf() - println(cameraBinge) - var closeType_tk:Boolean = false - var default_gxVisit = 1581L - var capsHevmask = "user" - if (builderRewards == false){ - println("remove") - } - if (closeType_tk){ - println("banner") - } - if (default_gxVisit >= -128 && default_gxVisit <= 128){ - var again_u = min(1, kotlin.random.Random.nextInt(75)) % capsHevmask.length - capsHevmask += default_gxVisit.toString() + + private fun showHistoryAgo(): String { + var builderRewards = true + var cameraBinge: MutableList = mutableListOf() + println(cameraBinge) + var closeType_tk: Boolean = false + var default_gxVisit = 1581L + var capsHevmask = "user" + if (builderRewards == false) { + println("remove") + } + if (closeType_tk) { + println("banner") + } + if (default_gxVisit >= -128 && default_gxVisit <= 128) { + var again_u = min(1, kotlin.random.Random.nextInt(75)) % capsHevmask.length + capsHevmask += default_gxVisit.toString() + } + + return capsHevmask + } - return capsHevmask -} + fun setOnRetryListener(listener: OnRetryListener?) { + + var allpassSerialize = this.showHistoryAgo() + + println(allpassSerialize) + var allpassSerialize_len = allpassSerialize.length + + println(allpassSerialize) -fun setOnRetryListener(listener: OnRetryListener?) { - -var allpassSerialize = this.showHistoryAgo() - - println(allpassSerialize) - var allpassSerialize_len = allpassSerialize.length - -println(allpassSerialize) - - - var utilsb:MutableList = mutableListOf() - utilsb.add(false) - utilsb.add(false) - utilsb.add(true) - utilsb.add(false) - utilsb.add(true) - while (utilsb.size > 199) { break } - println(utilsb) + var utilsb: MutableList = mutableListOf() + utilsb.add(false) + utilsb.add(false) + utilsb.add(true) + utilsb.add(false) + utilsb.add(true) + while (utilsb.size > 199) { + break + } + println(utilsb) this.listener = listener - var explorem:Int = 6157 - while (explorem > 200) { break } + var explorem: Int = 6157 + while (explorem > 200) { + break + } if (isShow()) { - var clipG:Double = 7440.0 - while (clipG > 58.0) { break } + var clipG: Double = 7440.0 + while (clipG > 58.0) { + break + } retryView!!.visibility = if (this.listener == null) INVISIBLE else VISIBLE } } - -private fun requireMathAgentBody(animatorKeyword: Boolean) :Long { - var handlerFooter:MutableMap = mutableMapOf() - var collectAnimator:Double = 1861.0 - var logoName = 7849L - println(logoName) - var paintModel:Long = 5558L - var devpollAutocapitalization:Long = 7487L - collectAnimator -= collectAnimator - logoName = logoName * paintModel - devpollAutocapitalization *= logoName - paintModel = 5803L - devpollAutocapitalization += paintModel - return devpollAutocapitalization + private fun requireMathAgentBody(animatorKeyword: Boolean): Long { + var handlerFooter: MutableMap = mutableMapOf() + var collectAnimator: Double = 1861.0 + var logoName = 7849L + println(logoName) + var paintModel: Long = 5558L + var devpollAutocapitalization: Long = 7487L + collectAnimator -= collectAnimator + logoName = logoName * paintModel + devpollAutocapitalization *= logoName + paintModel = 5803L + devpollAutocapitalization += paintModel -} + return devpollAutocapitalization + + } -fun setIcon(drawable: Drawable?) { + fun setIcon(drawable: Drawable?) { -var modmContaining = this.requireMathAgentBody(false) + var modmContaining = this.requireMathAgentBody(false) - var local_d6_modmContaining: Int = modmContaining.toInt() - println(modmContaining) + var local_d6_modmContaining: Int = modmContaining.toInt() + println(modmContaining) -println(modmContaining) + println(modmContaining) - var adapterX:MutableMap = mutableMapOf() - adapterX.put("sea", false) - adapterX.put("srp", false) - adapterX.put("jobq", true) - if (adapterX.get("g") != null) {} - println(adapterX) + var adapterX: MutableMap = mutableMapOf() + adapterX.put("sea", false) + adapterX.put("srp", false) + adapterX.put("jobq", true) + if (adapterX.get("g") != null) { + } + println(adapterX) imageView?.apply { - var window_o7:MutableList = mutableListOf() - window_o7.add(919L) - window_o7.add(651L) - window_o7.add(874L) - while (window_o7.size > 67) { break } + var window_o7: MutableList = mutableListOf() + window_o7.add(919L) + window_o7.add(651L) + window_o7.add(874L) + while (window_o7.size > 67) { + break + } setImageDrawable(drawable) } } - -private fun commitDriverBottom(bindingProfile: MutableMap, userHelp: Int, handlerBottom: MutableMap) :String { - var latestDisplay = 4878L - var uploadHome = 1707.0f - println(uploadHome) - var giftBackground = true - var navigationbarHqdspIntle:String = "twopoint" - if (latestDisplay >= -128 && latestDisplay <= 128){ - var active_i:Int = min(1, kotlin.random.Random.nextInt(41)) % navigationbarHqdspIntle.length - navigationbarHqdspIntle += latestDisplay.toString() - } - if (uploadHome >= -128 && uploadHome <= 128){ - var point_s:Int = min(1, kotlin.random.Random.nextInt(57)) % navigationbarHqdspIntle.length - navigationbarHqdspIntle += uploadHome.toString() - } - if (giftBackground){ - println("binge") + + private fun commitDriverBottom( + bindingProfile: MutableMap, + userHelp: Int, + handlerBottom: MutableMap + ): String { + var latestDisplay = 4878L + var uploadHome = 1707.0f + println(uploadHome) + var giftBackground = true + var navigationbarHqdspIntle: String = "twopoint" + if (latestDisplay >= -128 && latestDisplay <= 128) { + var active_i: Int = + min(1, kotlin.random.Random.nextInt(41)) % navigationbarHqdspIntle.length + navigationbarHqdspIntle += latestDisplay.toString() + } + if (uploadHome >= -128 && uploadHome <= 128) { + var point_s: Int = + min(1, kotlin.random.Random.nextInt(57)) % navigationbarHqdspIntle.length + navigationbarHqdspIntle += uploadHome.toString() + } + if (giftBackground) { + println("binge") + } + + return navigationbarHqdspIntle + } - return navigationbarHqdspIntle -} + fun netWorkShow() { + + var contextRingtone = + this.commitDriverBottom(mutableMapOf(), 834, mutableMapOf()) + + var contextRingtone_len: Int = contextRingtone.length + println(contextRingtone) + + println(contextRingtone) -fun netWorkShow() { - -var contextRingtone = this.commitDriverBottom(mutableMapOf(),834,mutableMapOf()) - - var contextRingtone_len:Int = contextRingtone.length - println(contextRingtone) - -println(contextRingtone) + var renderersP: String = "tweaks" + while (renderersP.length > 166) { + break + } - var renderersP:String = "tweaks" - while (renderersP.length > 166) { break } + this.traceTestPadding = 640.0f + this.movePlayfairMeasureArray = mutableListOf() -this.traceTestPadding = 640.0f + this.rewardsRightDelete_p0Index = 9454L - this.movePlayfairMeasureArray = mutableListOf() - - this.rewardsRightDelete_p0Index = 9454L - - this.scannerBingeListener_idx = 9955L + this.scannerBingeListener_idx = 9955L if (mainLayout == null) { - var c_managerf:Float = 5448.0f - while (c_managerf == 116.0f) { break } + var c_managerf: Float = 5448.0f + while (c_managerf == 116.0f) { + break + } surfaceHeightProgressiveBrowseCoreMain() } if (isShow()) { - var closeS:Int = 9872 - while (closeS <= 115) { break } + var closeS: Int = 9872 + while (closeS <= 115) { + break + } return } setIcon(R.mipmap.button_banner) - var giftA:Double = 7976.0 - if (giftA > 120.0) {} + var giftA: Double = 7976.0 + if (giftA > 120.0) { + } setHint("Network anomaly") - var saltE:Boolean = true - if (saltE) {} + var saltE: Boolean = true + if (saltE) { + } retryView!!.visibility = if (listener == null) INVISIBLE else VISIBLE mainLayout!!.visibility = VISIBLE } - -private fun seekClickSetupCheckNothing() :String { - var bodyloadLoading:String = "steps" - var coinsRecord:Long = 4784L - println(coinsRecord) - var eventFfmpeg = 596.0 - println(eventFfmpeg) - var profileCamera = 8023.0f - var mismatchesSerializableLookup = "thresholds" - if (bodyloadLoading == "price") { - println("bodyloadLoading" + bodyloadLoading) - } - if(bodyloadLoading.length > 0 && mismatchesSerializableLookup.length > 0) { - mismatchesSerializableLookup += bodyloadLoading.get(0) - } - if (coinsRecord <= 128 && coinsRecord >= -128){ - var free_w = min(1, kotlin.random.Random.nextInt(52)) % mismatchesSerializableLookup.length - mismatchesSerializableLookup += coinsRecord.toString() - } - if (eventFfmpeg >= -128 && eventFfmpeg <= 128){ - var select_r:Int = min(1, kotlin.random.Random.nextInt(60)) % mismatchesSerializableLookup.length - mismatchesSerializableLookup += eventFfmpeg.toString() - } - if (profileCamera >= -128 && profileCamera <= 128){ - var ffmpeg_q = min(1, kotlin.random.Random.nextInt(18)) % mismatchesSerializableLookup.length - mismatchesSerializableLookup += profileCamera.toString() + + private fun seekClickSetupCheckNothing(): String { + var bodyloadLoading: String = "steps" + var coinsRecord: Long = 4784L + println(coinsRecord) + var eventFfmpeg = 596.0 + println(eventFfmpeg) + var profileCamera = 8023.0f + var mismatchesSerializableLookup = "thresholds" + if (bodyloadLoading == "price") { + println("bodyloadLoading" + bodyloadLoading) + } + if (bodyloadLoading.length > 0 && mismatchesSerializableLookup.length > 0) { + mismatchesSerializableLookup += bodyloadLoading.get(0) + } + if (coinsRecord <= 128 && coinsRecord >= -128) { + var free_w = + min(1, kotlin.random.Random.nextInt(52)) % mismatchesSerializableLookup.length + mismatchesSerializableLookup += coinsRecord.toString() + } + if (eventFfmpeg >= -128 && eventFfmpeg <= 128) { + var select_r: Int = + min(1, kotlin.random.Random.nextInt(60)) % mismatchesSerializableLookup.length + mismatchesSerializableLookup += eventFfmpeg.toString() + } + if (profileCamera >= -128 && profileCamera <= 128) { + var ffmpeg_q = + min(1, kotlin.random.Random.nextInt(18)) % mismatchesSerializableLookup.length + mismatchesSerializableLookup += profileCamera.toString() + } + + return mismatchesSerializableLookup + } - return mismatchesSerializableLookup -} + fun setHint(@StringRes id: Int) { + + var accuratePolls: String = this.seekClickSetupCheckNothing() + + if (accuratePolls == "num") { + println(accuratePolls) + } + var accuratePolls_len: Int = accuratePolls.length + + println(accuratePolls) -fun setHint(@StringRes id: Int) { - -var accuratePolls:String = this.seekClickSetupCheckNothing() - - if (accuratePolls == "num") { - println(accuratePolls) - } - var accuratePolls_len:Int = accuratePolls.length - -println(accuratePolls) - - - var recommendsk:Long = 7632L + var recommendsk: Long = 7632L setHint(resources.getString(id)) diff --git a/app/src/main/java/com/veloria/now/shortapp/subtractionCroll/adminSourceid/GColorsFragment.kt b/app/src/main/java/com/veloria/now/shortapp/subtractionCroll/adminSourceid/GColorsFragment.kt index 0349214..34b61f7 100644 --- a/app/src/main/java/com/veloria/now/shortapp/subtractionCroll/adminSourceid/GColorsFragment.kt +++ b/app/src/main/java/com/veloria/now/shortapp/subtractionCroll/adminSourceid/GColorsFragment.kt @@ -325,6 +325,8 @@ class GColorsFragment : JItemServiceFragment = mutableMapOf() diff --git a/app/src/main/java/com/veloria/now/shortapp/subtractionCroll/adminSourceid/NOEditRegisterFragment.kt b/app/src/main/java/com/veloria/now/shortapp/subtractionCroll/adminSourceid/NOEditRegisterFragment.kt index 9b54444..ae76a19 100644 --- a/app/src/main/java/com/veloria/now/shortapp/subtractionCroll/adminSourceid/NOEditRegisterFragment.kt +++ b/app/src/main/java/com/veloria/now/shortapp/subtractionCroll/adminSourceid/NOEditRegisterFragment.kt @@ -18,6 +18,7 @@ import com.scwang.smart.refresh.layout.api.RefreshLayout import com.scwang.smart.refresh.layout.listener.OnRefreshLoadMoreListener import com.veloria.now.shortapp.R import com.veloria.now.shortapp.civil.JActivityAdapter +import com.veloria.now.shortapp.civil.JActivityAdapter.CONSTANTS_QUALITY_REFRESH import com.veloria.now.shortapp.civil.JActivityAdapter.VIDEO_SHORT_PLAY_ID import com.veloria.now.shortapp.civil.NOFfmpeg import com.veloria.now.shortapp.civil.RYAction @@ -544,7 +545,7 @@ class NOEditRegisterFragment : JItemServiceFragment } - binding.constraint.visibility = View.GONE + binding.clRoot.visibility = View.GONE var bolda: Int = 5532 if (bolda == 91) { } @@ -586,6 +587,7 @@ class NOEditRegisterFragment : JItemServiceFragment }) return } + showComplete() EventBus.getDefault().register(this) var bbfdebaffdk: Boolean = true if (!bbfdebaffdk) { @@ -594,7 +596,6 @@ class NOEditRegisterFragment : JItemServiceFragment if (TranslationHelper.getTranslation() != null) { binding.textHome.text = TranslationHelper.getTranslation()?.veloria_addictive_short_await - binding.tvMenuBinge.text = TranslationHelper.getTranslation()?.veloria_worthy_picks binding.tvMenuDrama.text = TranslationHelper.getTranslation()?.veloria_drama_champions binding.tvMenuCategories.text = TranslationHelper.getTranslation()?.veloria_select_categories @@ -608,7 +609,6 @@ class NOEditRegisterFragment : JItemServiceFragment } else { binding.textHome.text = getString(R.string.home_addictive_shorts_await) - binding.tvMenuBinge.text = getString(R.string.binge_worthy_picks) binding.tvMenuDrama.text = getString(R.string.drama_champions) binding.tvMenuCategories.text = getString(R.string.select_categories) binding.tvMenuCategories1.text = getString(R.string.select_categories) @@ -627,7 +627,7 @@ class NOEditRegisterFragment : JItemServiceFragment println(message6) - binding.constraint.visibility = View.VISIBLE + binding.clRoot.visibility = View.VISIBLE var viewsL: Long = 2629L while (viewsL > 95L) { break @@ -1242,6 +1242,17 @@ class NOEditRegisterFragment : JItemServiceFragment viewModel.userInfo.observe(this){ if (it?.data != null) { RYAction.saveUserInfoBean(it.data) + + if (!RYAction.isVipTo()) { + if (RYAction.isTouristTo()){ + RYAction.getMMKV() + .putInt(JActivityAdapter.CONSTANTS_QUALITY, 540) + }else { + RYAction.getMMKV() + .putInt(JActivityAdapter.CONSTANTS_QUALITY, 720) + } + EventBus.getDefault().post(CONSTANTS_QUALITY_REFRESH) + } } } @@ -1477,7 +1488,7 @@ class NOEditRegisterFragment : JItemServiceFragment } println(infoO) - + binding.tvMenuBinge.text = homeTotal.title homeBingeAdapter?.submitList(homeTotal.list) } else { var register__9: Double = 7713.0 @@ -1656,9 +1667,10 @@ class NOEditRegisterFragment : JItemServiceFragment while (helpqb >= 138) { break } + val maxSize = appearanceBase.size - (appearanceBase.size % 3) + val dramaList = appearanceBase.take(maxSize) - - homeDramaAdapter?.submitList(appearanceBase) + homeDramaAdapter?.submitList(dramaList) } else { var loginm: String = "downmix" while (loginm.length > 104) { diff --git a/app/src/main/java/com/veloria/now/shortapp/subtractionCroll/adminSourceid/UColorsAvatarFragment.kt b/app/src/main/java/com/veloria/now/shortapp/subtractionCroll/adminSourceid/UColorsAvatarFragment.kt index 2c9c3c7..ce0bafb 100644 --- a/app/src/main/java/com/veloria/now/shortapp/subtractionCroll/adminSourceid/UColorsAvatarFragment.kt +++ b/app/src/main/java/com/veloria/now/shortapp/subtractionCroll/adminSourceid/UColorsAvatarFragment.kt @@ -7,6 +7,17 @@ import android.view.View import android.view.ViewGroup import androidx.fragment.app.activityViewModels import androidx.lifecycle.ViewModelProvider +import androidx.lifecycle.lifecycleScope +import com.android.billingclient.api.AcknowledgePurchaseParams +import com.android.billingclient.api.BillingClient +import com.android.billingclient.api.BillingClientStateListener +import com.android.billingclient.api.BillingFlowParams +import com.android.billingclient.api.BillingResult +import com.android.billingclient.api.ProductDetails +import com.android.billingclient.api.ProductDetailsResponseListener +import com.android.billingclient.api.Purchase +import com.android.billingclient.api.PurchasesUpdatedListener +import com.android.billingclient.api.QueryProductDetailsParams import com.bumptech.glide.Glide import com.bumptech.glide.load.engine.DiskCacheStrategy import com.bumptech.glide.load.resource.bitmap.CircleCrop @@ -16,8 +27,10 @@ import com.scwang.smart.refresh.layout.api.RefreshLayout import com.scwang.smart.refresh.layout.listener.OnRefreshLoadMoreListener import com.veloria.now.shortapp.R import com.veloria.now.shortapp.civil.JActivityAdapter +import com.veloria.now.shortapp.civil.JActivityAdapter.CONSTANTS_QUALITY_REFRESH import com.veloria.now.shortapp.civil.RYAction import com.veloria.now.shortapp.civil.TranslationHelper +import com.veloria.now.shortapp.civil.YFHome import com.veloria.now.shortapp.civil.setShowVIPSlash import com.veloria.now.shortapp.civil.singleOnClick import com.veloria.now.shortapp.civil.timeToString @@ -36,6 +49,10 @@ import com.veloria.now.shortapp.subtractionCroll.bidirectional.VeMyWalletActivit import com.veloria.now.shortapp.subtractionCroll.bidirectional.VeRewardsActivity import com.veloria.now.shortapp.subtractionCroll.bidirectional.VeStoreActivity import com.veloria.now.shortapp.subtractionCroll.bidirectional.coordinate.JService +import com.veloria.now.shortapp.texturedAsink.VeCreatePayOrderReqBean +import com.veloria.now.shortapp.texturedAsink.VePayBean +import com.veloria.now.shortapp.texturedAsink.VePaySettingsBean +import kotlinx.coroutines.launch import org.greenrobot.eventbus.EventBus import org.greenrobot.eventbus.Subscribe import org.greenrobot.eventbus.ThreadMode @@ -215,7 +232,7 @@ class UColorsAvatarFragment : JItemServiceFragment querySubVipProductDetails(it1) } + } + } + } + viewModel.createPayOrderData.observe(this) { + if (it?.data != null) { + order_code = it.data.order_code.toString() + vipData?.android_template_id?.let { it1 -> getProduct(it1) } + } else { + if (TranslationHelper.getTranslation() != null) { + toast(TranslationHelper.getTranslation()?.veloria_network.toString()) + } else { + toast(getString(R.string.shapeSelected)) + } + hideLoading() + } + } + viewModel.googlePaidData.observe(this) { + if (it?.data != null) { + if (TranslationHelper.getTranslation() != null) { + toast(TranslationHelper.getTranslation()?.veloria_google_pay_success.toString()) + } else { + toast(getString(R.string.ve_google_pay_success)) + } + viewModel.getUserInfo() + vipSplashDialog?.dismiss() + } else { + payBeanReq?.let { it1 -> RYAction.saveOrder(it1) } + if (TranslationHelper.getTranslation() != null) { + toast(TranslationHelper.getTranslation()?.veloria_network.toString()) + } else { + toast(getString(R.string.shapeSelected)) + } + hideLoading() + } + + } binding.tvUserAgreement.setOnClickListener { var fragmentsP: Long = 2747L if (fragmentsP == 197L) { @@ -655,6 +726,8 @@ class UColorsAvatarFragment : JItemServiceFragment) { + if (!isFragmentVisible()) { + return + } + vipSplashDialog = VipSplashDialog(requireContext(), vipBeans).apply { setOnVipSplashOnClickListener(object : VipSplashDialog.SetVipSplashOnClick { override fun onVipSplash() { @@ -781,27 +870,54 @@ class UColorsAvatarFragment : JItemServiceFragment + when (billingResult.responseCode) { + BillingClient.BillingResponseCode.OK -> { + for (purchase in purchases!!) { + if (purchase.purchaseState == Purchase.PurchaseState.PURCHASED) { + consumePurchaseSubMe(purchase) + } + } + } + + BillingClient.BillingResponseCode.ITEM_ALREADY_OWNED -> { + queryAndConsumePurchases() + hideLoading() + } + + BillingClient.BillingResponseCode.USER_CANCELED -> { + if (TranslationHelper.getTranslation() != null) { + toast(TranslationHelper.getTranslation()?.veloria_google_pay_canceled.toString()) + } else { + toast(getString(R.string.ve_google_pay_canceled)) + } + hideLoading() + } + + else -> { + if (TranslationHelper.getTranslation() != null) { + toast(TranslationHelper.getTranslation()?.veloria_google_pay_error.toString()) + } else { + toast(getString(R.string.ve_google_pay_error)) + } + hideLoading() + } + } + } + + + billingClientMe = BillingClient.newBuilder(requireContext()) + .setListener(purchasesUpdatedMeListener) + .enablePendingPurchases() + .build() + + + val stateMeListener: BillingClientStateListener = object : BillingClientStateListener { + override fun onBillingSetupFinished(billingResult: BillingResult) { + if (billingResult.responseCode == BillingClient.BillingResponseCode.OK) { + isConnect = true + } + } + + override fun onBillingServiceDisconnected() { + if (connectNum < 5) { + connectNum++ + isConnect = false + billingClientMe?.startConnection(this) + } + } + } + billingClientMe?.startConnection(stateMeListener) + } + + private fun consumePurchaseSubMe( + purchase: Purchase + ) { + if (billingClientMe?.isReady == true) { + if (!purchase.isAcknowledged) { + val acknowledgePurchaseParams = + AcknowledgePurchaseParams.newBuilder() + .setPurchaseToken(purchase.purchaseToken) + .build() + billingClientMe?.acknowledgePurchase( + acknowledgePurchaseParams + ) { + val vePayBean = VePayBean( + order_code, + vipData?.id.toString(), + YFHome.getPackageName(), + vipData?.android_template_id.toString(), + purchase.purchaseToken, + purchase.orderId.toString(), + vipData?.price.toString() + ) + payBeanReq = vePayBean + if (it.responseCode == BillingClient.BillingResponseCode.OK) { + lifecycleScope.launch { + viewModel.setGooglePaid(vePayBean) + } + } else { + RYAction.saveOrder(vePayBean) + lifecycleScope.launch { + toast(it.toString()) + hideLoading() + } + } + } + } else { + if (TranslationHelper.getTranslation() != null) { + toast(TranslationHelper.getTranslation()?.veloria_google_pay_error.toString()) + } else { + toast(getString(R.string.ve_google_pay_error)) + } + hideLoading() + } + } else { + if (TranslationHelper.getTranslation() != null) { + toast(TranslationHelper.getTranslation()?.veloria_google_pay_error.toString()) + } else { + toast(getString(R.string.ve_google_pay_error)) + } + hideLoading() + } + } + + private fun querySubVipProductDetails(listSubVip: List) { + val productDetailsResponseListener = + ProductDetailsResponseListener { billingResult, productDetailsList -> + if (billingResult.responseCode == BillingClient.BillingResponseCode.OK) { + val priceInfo = productDetailsList.mapNotNull { productDetails -> + productDetails.subscriptionOfferDetails?.get(0)?.pricingPhases?.pricingPhaseList?.get( + 0 + )?.let { + productDetails.productId to (it.formattedPrice to it.priceCurrencyCode) + } + }.toMap() + + // 更新VIP列表的价格和货币代码 + val updatedVipList = listSubVip.map { vip -> + priceInfo[vip.android_template_id]?.let { (price, currency) -> + vip.copy(price_google = price, currency_goolge = currency) + } ?: vip + } + + binding.root.postDelayed({ + vipSplashDialog?.setAdapterSubmitList(updatedVipList) + hideLoading() + }, 500) + } else { + hideLoading() + } + } + + val productType: String = BillingClient.ProductType.SUBS + + val inAppProductInfo = listSubVip.map { + QueryProductDetailsParams.Product.newBuilder() + .setProductId(it.android_template_id) + .setProductType(productType) + .build() + } + if (inAppProductInfo.isNotEmpty()) { + val productDetailsParams = QueryProductDetailsParams.newBuilder() + .setProductList(inAppProductInfo) + .build() + billingClientMe?.queryProductDetailsAsync( + productDetailsParams, + productDetailsResponseListener + ) + } else { + hideLoading() + } + } + + private fun getProduct(productId: String) { + val productDetailsResponseListener = + ProductDetailsResponseListener { billingResult, productDetailsList -> + if (productDetailsList.isNotEmpty()) { + setPay(productDetailsList[0]) + } else { + lifecycleScope.launch { + toast(billingResult.toString()) + hideLoading() + } + } + } + val productType: String = + BillingClient.ProductType.SUBS + + val inAppProductInfo = ArrayList() + inAppProductInfo.add( + QueryProductDetailsParams.Product.newBuilder() + .setProductId(productId) + .setProductType(productType) + .build() + ) + val productDetailsParams = QueryProductDetailsParams.newBuilder() + .setProductList(inAppProductInfo) + .build() + billingClientMe?.queryProductDetailsAsync( + productDetailsParams, + productDetailsResponseListener + ) + } + + private fun setPay(productDetailInfo: ProductDetails) { + if (productDetailInfo.subscriptionOfferDetails?.isNotEmpty() == true) { + val params = ArrayList() + productDetailInfo.subscriptionOfferDetails?.get(0)?.offerToken?.let { + BillingFlowParams.ProductDetailsParams.newBuilder() + .setProductDetails(productDetailInfo) + .setOfferToken(it) + .build() + }?.let { + params.add( + it + ) + } + val billingFlowParams = BillingFlowParams.newBuilder() + .setObfuscatedProfileId(order_code) + .setObfuscatedAccountId(RYAction.getCustomId()) + .setProductDetailsParamsList(params) + .build() + + billingClientMe?.launchBillingFlow(requireActivity(), billingFlowParams) + } + } + + private fun queryAndConsumePurchases() { + // 查询所有未消费的购买记录 + billingClientMe?.queryPurchasesAsync(BillingClient.ProductType.INAPP) { billingResult, purchaseList -> + if (billingResult.responseCode == BillingClient.BillingResponseCode.OK) { + for (purchase in purchaseList) { +// consumePurchase(purchase) + } + } + } + } + } \ No newline at end of file diff --git a/app/src/main/java/com/veloria/now/shortapp/subtractionCroll/adminSourceid/ZEpisodeFragment.kt b/app/src/main/java/com/veloria/now/shortapp/subtractionCroll/adminSourceid/ZEpisodeFragment.kt index 0fdfce3..1e52288 100644 --- a/app/src/main/java/com/veloria/now/shortapp/subtractionCroll/adminSourceid/ZEpisodeFragment.kt +++ b/app/src/main/java/com/veloria/now/shortapp/subtractionCroll/adminSourceid/ZEpisodeFragment.kt @@ -398,6 +398,7 @@ class ZEpisodeFragment : JItemServiceFragment(), NOFf }) return } + showComplete() EventBus.getDefault().register(this) var s_heightN: String = "uplink" diff --git a/app/src/main/java/com/veloria/now/shortapp/subtractionCroll/adminSourceid/coordinate/OMNormalInstrumented.kt b/app/src/main/java/com/veloria/now/shortapp/subtractionCroll/adminSourceid/coordinate/OMNormalInstrumented.kt index 300759d..c8ba849 100644 --- a/app/src/main/java/com/veloria/now/shortapp/subtractionCroll/adminSourceid/coordinate/OMNormalInstrumented.kt +++ b/app/src/main/java/com/veloria/now/shortapp/subtractionCroll/adminSourceid/coordinate/OMNormalInstrumented.kt @@ -6,6 +6,11 @@ import com.veloria.now.shortapp.newsletter.SStringsHelp import com.veloria.now.shortapp.newsletter.TStore import com.veloria.now.shortapp.texturedAsink.DoLoginBean import com.veloria.now.shortapp.texturedAsink.KFAFavoritesInterceptorBean +import com.veloria.now.shortapp.texturedAsink.VeCreatePayOrderBean +import com.veloria.now.shortapp.texturedAsink.VeCreatePayOrderReqBean +import com.veloria.now.shortapp.texturedAsink.VePayBean +import com.veloria.now.shortapp.texturedAsink.VePayResBean +import com.veloria.now.shortapp.texturedAsink.VePaySettingsBean class OMNormalInstrumented : SStringsHelp() { @@ -35,4 +40,29 @@ class OMNormalInstrumented : SStringsHelp() { repository.setLogout().observeForever { result -> _logoutLiveData.value = result.getOrNull() } + + private val _paySettingsV3 = MutableLiveData?>() + val PaySettingsV3: MutableLiveData?> get() = _paySettingsV3 + fun getPaySettingsV3(short_play_id: Int, short_play_video_id: Int) = + repository.getPaySettingsV3(short_play_id,short_play_video_id).observeForever { result -> + _paySettingsV3.value = result.getOrNull() + } + + + private val createPayOrderLiveData = MutableLiveData?>() + val createPayOrderData: MutableLiveData?> get() = createPayOrderLiveData + fun setCreatePayOrder(createOrderReq: VeCreatePayOrderReqBean) { + repository.setCreatePayOrder(createOrderReq).observeForever { result -> + createPayOrderLiveData.value = result.getOrNull() + } + } + + private val googlePaidLiveData = MutableLiveData?>() + val googlePaidData: MutableLiveData?> get() = googlePaidLiveData + fun setGooglePaid(vePayBean: VePayBean?) { + repository.setGooglePaid(vePayBean).observeForever { result -> + googlePaidLiveData.value = result.getOrNull() + } + } + } \ No newline at end of file diff --git a/app/src/main/java/com/veloria/now/shortapp/subtractionCroll/avcintraRelock/PlayerBuyDialogFragment.kt b/app/src/main/java/com/veloria/now/shortapp/subtractionCroll/avcintraRelock/PlayerBuyDialogFragment.kt index 93f9407..909a131 100644 --- a/app/src/main/java/com/veloria/now/shortapp/subtractionCroll/avcintraRelock/PlayerBuyDialogFragment.kt +++ b/app/src/main/java/com/veloria/now/shortapp/subtractionCroll/avcintraRelock/PlayerBuyDialogFragment.kt @@ -33,16 +33,17 @@ import com.veloria.now.shortapp.civil.JActivityAdapter import com.veloria.now.shortapp.civil.RYAction import com.veloria.now.shortapp.civil.TranslationHelper import com.veloria.now.shortapp.civil.YFHome +import com.veloria.now.shortapp.civil.singleOnClick import com.veloria.now.shortapp.civil.toast import com.veloria.now.shortapp.databinding.LayoutVePlayerBuyDialogBinding import com.veloria.now.shortapp.subtractionCroll.bidirectional.coordinate.VeStoreViewModel -import com.veloria.now.shortapp.subtractionCroll.modificationsPretch.VeBannerVipPayAdapter import com.veloria.now.shortapp.subtractionCroll.modificationsPretch.VeStoreCoinAdapter +import com.veloria.now.shortapp.subtractionCroll.modificationsPretch.VeStoreCoinBigAdapter +import com.veloria.now.shortapp.subtractionCroll.modificationsPretch.VeStoreVipAdapter import com.veloria.now.shortapp.texturedAsink.VeCreatePayOrderReqBean import com.veloria.now.shortapp.texturedAsink.VePayBean import com.veloria.now.shortapp.texturedAsink.VePaySettingsBean import com.veloria.now.shortapp.texturedAsink.XAboutBean -import com.youth.banner.listener.OnPageChangeListener import kotlinx.coroutines.launch import org.greenrobot.eventbus.EventBus @@ -53,7 +54,8 @@ class PlayerBuyDialogFragment : BottomSheetDialogFragment() { private val viewModel by lazy { ViewModelProvider(this)[VeStoreViewModel::class.java] } private var coinAdapter: VeStoreCoinAdapter? = null - private var bannerAdapter: VeBannerVipPayAdapter? = null + private var coinBigAdapter: VeStoreCoinBigAdapter? = null + private var vipAdapter: VeStoreVipAdapter? = null private var promise_view_ad: Int? = -1 private var connectNum = 0 private var short_play_id: Int? = 0 @@ -66,6 +68,7 @@ class PlayerBuyDialogFragment : BottomSheetDialogFragment() { private var order_code = "" private var vipData: VePaySettingsBean.VipBean? = null private var coinsData: VePaySettingsBean.CoinsBean? = null + private var coinsBigData: VePaySettingsBean.CoinsBean? = null private var isBuy = false private var purchaseData: Purchase? = null @@ -91,7 +94,8 @@ class PlayerBuyDialogFragment : BottomSheetDialogFragment() { if (TranslationHelper.getTranslation() != null) { binding?.tvCoinsText?.text = TranslationHelper.getTranslation()?.veloria_your_coins - + binding?.tvCoinTitle?.text = TranslationHelper.getTranslation()?.veloria_coin_buy_title + binding?.tvUnlockText?.text = TranslationHelper.getTranslation()?.veloria_unlock if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.N) { binding?.tvTips?.text = Html.fromHtml( TranslationHelper.getTranslation()?.veloria_store_tips @@ -104,18 +108,23 @@ class PlayerBuyDialogFragment : BottomSheetDialogFragment() { ?: getString(R.string.ve_store_tips_br) ) } + } initLoading() binding?.tvCoins?.text = RYAction.getAllCoinTotal().toString() + binding?.tvUnlock?.text = parcelable?.coins?.toString() binding?.ivCloseDialog?.setOnClickListener { dismiss() } + vipAdapter = VeStoreVipAdapter() + binding?.recyclerVip?.layoutManager = LinearLayoutManager(requireContext()) + binding?.recyclerVip?.adapter = vipAdapter + coinAdapter = VeStoreCoinAdapter() - binding?.recyclerCoin?.layoutManager = - LinearLayoutManager(context, LinearLayoutManager.HORIZONTAL, false) + binding?.recyclerCoin?.layoutManager = GridLayoutManager(requireContext(), 3) binding?.recyclerCoin?.adapter = coinAdapter binding?.recyclerCoin?.addItemDecoration(object : RecyclerView.ItemDecoration() { override fun getItemOffsets( @@ -124,43 +133,70 @@ class PlayerBuyDialogFragment : BottomSheetDialogFragment() { parent: RecyclerView, state: RecyclerView.State ) { - outRect.right = resources.getDimension(R.dimen.dp_10).toInt() + outRect.left = resources.getDimension(R.dimen.dp_5).toInt() + outRect.right = resources.getDimension(R.dimen.dp_5).toInt() outRect.bottom = resources.getDimension(R.dimen.dp_10).toInt() } }) + coinBigAdapter = VeStoreCoinBigAdapter() + binding?.recyclerCoinBig?.layoutManager = GridLayoutManager(requireContext(), 2) + binding?.recyclerCoinBig?.adapter = coinBigAdapter + binding?.recyclerCoinBig?.addItemDecoration(object : RecyclerView.ItemDecoration() { + override fun getItemOffsets( + outRect: Rect, + view: View, + parent: RecyclerView, + state: RecyclerView.State + ) { + outRect.left = resources.getDimension(R.dimen.dp_5).toInt() + outRect.right = resources.getDimension(R.dimen.dp_5).toInt() + outRect.bottom = resources.getDimension(R.dimen.dp_10).toInt() + } + }) + + showLoading() viewModel.getPaySettingsV3(0, 0) + vipAdapter?.setOnItemClickListener { adapter, view, position -> + if (typeOnClick != 1) { + coinAdapter?.currentPosition = -1 + coinAdapter?.notifyDataSetChanged() + coinBigAdapter?.currentPosition = -1 + coinBigAdapter?.notifyDataSetChanged() + } + typeOnClick = 1 + vipAdapter?.currentPosition = position + vipAdapter?.notifyDataSetChanged() + + setOnPayNowClick() + } coinAdapter?.setOnItemClickListener { adapter, view, position -> - if (typeOnClick == 1) { - if (bannerAdapter?.currentPosition!! >= 0) { - bannerAdapter?.notifyItemChanged(bannerAdapter?.currentPosition!!) - } - bannerAdapter?.oldPosition = -1 - bannerAdapter?.currentPosition = -1 + if (typeOnClick != 0) { + vipAdapter?.currentPosition = -1 + vipAdapter?.notifyDataSetChanged() + coinBigAdapter?.currentPosition = -1 + coinBigAdapter?.notifyDataSetChanged() } typeOnClick = 0 coinAdapter?.currentPosition = position coinAdapter?.notifyDataSetChanged() - coinsData = - coinAdapter!!.getItem(position) as VePaySettingsBean.CoinsBean - showLoading() - if (parcelable != null) { - short_play_id?.let { - VeCreatePayOrderReqBean( - coinsData?.id.toString(), - "google", - it, - parcelable!!.short_play_video_id - ) - }?.let { - viewModel.setCreatePayOrder( - it - ) - } + setOnPayNowClick() + } + coinBigAdapter?.setOnItemClickListener { adapter, view, position -> + if (typeOnClick != 2) { + vipAdapter?.currentPosition = -1 + vipAdapter?.notifyDataSetChanged() + coinAdapter?.currentPosition = -1 + coinAdapter?.notifyDataSetChanged() } + typeOnClick = 2 + coinBigAdapter?.currentPosition = position + coinBigAdapter?.notifyDataSetChanged() + + setOnPayNowClick() } observeData() @@ -175,34 +211,45 @@ class PlayerBuyDialogFragment : BottomSheetDialogFragment() { window?.setGravity(Gravity.BOTTOM) val layoutParams = window?.attributes layoutParams?.width = WindowManager.LayoutParams.MATCH_PARENT - layoutParams?.height = resources.getDimensionPixelSize(R.dimen.dp_600) + layoutParams?.height = (requireActivity().resources.displayMetrics.heightPixels - requireActivity().resources.getDimension(R.dimen.dp_90)).toInt() window?.attributes = layoutParams return dialog } - private fun setBannerListener() { - binding?.bannerVip?.setOnBannerListener { data, position -> - if (typeOnClick == 0) { - coinAdapter?.currentPosition = -1 - coinAdapter?.notifyDataSetChanged() - } - if (bannerAdapter?.currentPosition!! >= 0) { - bannerAdapter?.oldPosition = bannerAdapter?.currentPosition!! - } - typeOnClick = 1 - bannerAdapter?.currentPosition = position - bannerAdapter?.notifyItemChanged(position) - if (bannerAdapter?.oldPosition!! >= 0) { - bannerAdapter?.notifyItemChanged(bannerAdapter?.oldPosition!!) - } - vipData = - bannerAdapter?.getData(bannerAdapter!!.currentPosition) as VePaySettingsBean.VipBean + fun setOnPayNowClick() { + singleOnClick { + if (!isConnect) { + if (TranslationHelper.getTranslation() != null) { + toast(TranslationHelper.getTranslation()?.veloria_google_pay_error.toString()) + } else { + toast(getString(R.string.ve_google_pay_error)) + } + return@singleOnClick + } + if (typeOnClick == 0) { + coinsData = + coinAdapter?.getItem(coinAdapter!!.currentPosition) as VePaySettingsBean.CoinsBean + } else if (typeOnClick == 1) { + vipData = + vipAdapter?.getItem(vipAdapter!!.currentPosition) as VePaySettingsBean.VipBean + } else { + coinsBigData = + coinBigAdapter?.getItem(coinBigAdapter!!.currentPosition) as VePaySettingsBean.CoinsBean + } showLoading() + var idStr = "" + if (typeOnClick == 0) { + idStr = coinsData?.id.toString() + } else if (typeOnClick == 1) { + idStr = vipData?.id.toString() + } else { + idStr = coinsBigData?.id.toString() + } if (parcelable != null) { short_play_id?.let { VeCreatePayOrderReqBean( - vipData?.id.toString(), + idStr, "google", it, parcelable!!.short_play_video_id @@ -213,84 +260,48 @@ class PlayerBuyDialogFragment : BottomSheetDialogFragment() { ) } } - } - - binding?.bannerVip?.addOnPageChangeListener(object : OnPageChangeListener { - override fun onPageScrolled( - position: Int, - positionOffset: Float, - positionOffsetPixels: Int - ) { - } - - override fun onPageSelected(position: Int) { - val data = bannerAdapter?.getData(position) - data?.let { setVipContentText(it) } - - } - - override fun onPageScrollStateChanged(state: Int) { - } - - }) - - val itemData = bannerAdapter?.getData(0) - itemData?.let { setVipContentText(it) } - - } - - private fun setVipContentText(data: VePaySettingsBean.VipBean){ - if (TranslationHelper.getTranslation() != null) { - var oneDate = "" - when (data?.vip_type_key) { - "week" -> { - oneDate = TranslationHelper.getTranslation()?.veloria_week.toString() - } - - "month" -> { - oneDate = TranslationHelper.getTranslation()?.veloria_month.toString() - } - - "quarter" -> { - oneDate = TranslationHelper.getTranslation()?.veloria_quarter.toString() - } - - "year" -> { - oneDate = TranslationHelper.getTranslation()?.veloria_year.toString() - } - } - - val vipContent1 = TranslationHelper.replaces( - TranslationHelper.getTranslation()?.veloria_unlimited_access_to.toString(), - oneDate,data.send_coin_ttl.toString() - ) - binding?.tvBuyHint?.text = - Html.fromHtml(vipContent1, Html.FROM_HTML_MODE_LEGACY) - - } else { - val vipContent1 = TranslationHelper.replaces(getString(R.string.unlimited_access_to_all_series_for_1_br),data?.vip_type_key.toString(),data.send_coin_ttl.toString()) - binding?.tvBuyHint?.text = - Html.fromHtml(vipContent1, Html.FROM_HTML_MODE_LEGACY) - } - } fun observeData() { viewModel.PaySettingsV3.observe(this) { if (it?.data != null) { - coinAdapter?.submitList(it.data.list_coins) - bannerAdapter = - VeBannerVipPayAdapter(it.data.list_sub_vip) - binding?.bannerVip?.setBannerGalleryEffect( - resources.getDimension(R.dimen.dp_5).toInt(), - resources.getDimension(R.dimen.dp_5).toInt() - ) - binding?.bannerVip?.setAdapter(bannerAdapter) - setBannerListener() + if (it.data.list_sub_vip.isNotEmpty()) { + vipAdapter?.submitList(it.data.list_sub_vip) + binding?.recyclerVip?.visibility = View.VISIBLE - it.data.list_sub_vip.let { it1 -> querySubVipProductDetails(it1) } - it.data.list_coins.let { it1 -> queryInAppCoinsProductDetails(it1) } + it.data.list_sub_vip.let { it1 -> querySubVipProductDetails(it1) } + + } else { + binding?.recyclerVip?.visibility = View.GONE + } + if (it.data.list_coins.isNotEmpty()) { + val small = it.data.list_coins.filter { coins -> coins.size == "small" } + val big = it.data.list_coins.filter { coins -> coins.size == "big" } + if (small.isNotEmpty()) { + coinAdapter?.submitList(small) + binding?.recyclerCoin?.visibility = View.VISIBLE + } else { + binding?.recyclerCoin?.visibility = View.GONE + } + if (big.isNotEmpty()) { + coinBigAdapter?.submitList(big) + binding?.recyclerCoinBig?.visibility = View.VISIBLE + } else { + binding?.recyclerCoinBig?.visibility = View.GONE + } + if (small?.isNotEmpty() == true) { + small?.let { it1 -> queryInAppCoinsProductDetails(it1, "small") } + } + if (big?.isNotEmpty() == true) { + big?.let { it1 -> queryInAppCoinsProductDetails(it1, "big") } + } + binding?.tvCoinTitle?.visibility = View.VISIBLE + } else { + binding?.recyclerCoin?.visibility = View.GONE + binding?.recyclerCoinBig?.visibility = View.GONE + binding?.tvCoinTitle?.visibility = View.GONE + } } binding?.root?.postDelayed({ @@ -303,8 +314,10 @@ class PlayerBuyDialogFragment : BottomSheetDialogFragment() { order_code = it.data.order_code.toString() if (typeOnClick == 0) { coinsData?.android_template_id?.let { it1 -> getProduct(it1) } - } else { + } else if (typeOnClick == 1) { vipData?.android_template_id?.let { it1 -> getProduct(it1) } + } else { + coinsBigData?.android_template_id?.let { it1 -> getProduct(it1) } } } else { if (TranslationHelper.getTranslation() != null) { @@ -335,7 +348,6 @@ class PlayerBuyDialogFragment : BottomSheetDialogFragment() { } } hideLoading() - } } @@ -347,15 +359,20 @@ class PlayerBuyDialogFragment : BottomSheetDialogFragment() { BillingClient.BillingResponseCode.OK -> { for (purchase in purchases!!) { if (purchase.purchaseState == Purchase.PurchaseState.PURCHASED) { - if (typeOnClick == 0) { - consumePurchase(purchase) - } else { + if (typeOnClick == 1) { consumePurchaseSub(purchase) + } else { + consumePurchase(purchase) } } } } + BillingClient.BillingResponseCode.ITEM_ALREADY_OWNED -> { + queryAndConsumePurchases() + hideLoading() + } + BillingClient.BillingResponseCode.USER_CANCELED -> { if (TranslationHelper.getTranslation() != null) { toast(TranslationHelper.getTranslation()?.veloria_google_pay_canceled.toString()) @@ -459,7 +476,7 @@ class PlayerBuyDialogFragment : BottomSheetDialogFragment() { } binding?.root?.postDelayed({ - bannerAdapter?.setDatas(updatedVipList) + vipAdapter?.submitList(updatedVipList) hideLoading() }, 500) } else { @@ -489,7 +506,8 @@ class PlayerBuyDialogFragment : BottomSheetDialogFragment() { } private fun queryInAppCoinsProductDetails( - coinsList: List + coinsList: List, + type: String ) { val productDetailsResponseListener = ProductDetailsResponseListener { billingResult, productDetailsList -> @@ -508,7 +526,11 @@ class PlayerBuyDialogFragment : BottomSheetDialogFragment() { } coinAdapter?.recyclerView?.postDelayed({ - coinAdapter?.submitList(updatedCoinsList) + if (type == "small") { + coinAdapter?.submitList(updatedCoinsList) + } else { + coinBigAdapter?.submitList(updatedCoinsList) + } }, 500) } else { hideLoading() @@ -549,10 +571,10 @@ class PlayerBuyDialogFragment : BottomSheetDialogFragment() { } } } - val productType: String = if (typeOnClick == 0) { - BillingClient.ProductType.INAPP - } else { + val productType: String = if (typeOnClick == 1) { BillingClient.ProductType.SUBS + } else { + BillingClient.ProductType.INAPP } val inAppProductInfo = ArrayList() @@ -613,12 +635,12 @@ class PlayerBuyDialogFragment : BottomSheetDialogFragment() { ConsumeResponseListener { billingResult, purchaseToken -> val vePayBean = VePayBean( order_code, - if (typeOnClick == 0) coinsData?.id.toString() else vipData?.id.toString(), + if (typeOnClick == 0) coinsData?.id.toString() else coinsBigData?.id.toString(), YFHome.getPackageName(), - if (typeOnClick == 0) coinsData?.android_template_id.toString() else vipData?.android_template_id.toString(), + if (typeOnClick == 0) coinsData?.android_template_id.toString() else coinsBigData?.android_template_id.toString(), purchaseToken, purchaseData?.orderId.toString(), - if (typeOnClick == 0) coinsData?.price.toString() else vipData?.price.toString() + if (typeOnClick == 0) coinsData?.price.toString() else coinsBigData?.price.toString() ) payBeanReq = vePayBean if (billingResult.responseCode == BillingClient.BillingResponseCode.OK) { @@ -652,6 +674,16 @@ class PlayerBuyDialogFragment : BottomSheetDialogFragment() { } } + private fun queryAndConsumePurchases() { + // 查询所有未消费的购买记录 + billingClientData?.queryPurchasesAsync(BillingClient.ProductType.INAPP) { billingResult, purchaseList -> + if (billingResult.responseCode == BillingClient.BillingResponseCode.OK) { + for (purchase in purchaseList) { + consumePurchase(purchase) + } + } + } + } override fun onDismiss(dialog: DialogInterface) { payBeanReq = null diff --git a/app/src/main/java/com/veloria/now/shortapp/subtractionCroll/avcintraRelock/VersionControlDialog.kt b/app/src/main/java/com/veloria/now/shortapp/subtractionCroll/avcintraRelock/VersionControlDialog.kt new file mode 100644 index 0000000..5741520 --- /dev/null +++ b/app/src/main/java/com/veloria/now/shortapp/subtractionCroll/avcintraRelock/VersionControlDialog.kt @@ -0,0 +1,95 @@ +package com.veloria.now.shortapp.subtractionCroll.avcintraRelock + +import android.app.Dialog +import android.content.Context +import android.content.Intent +import android.graphics.Color +import android.graphics.drawable.ColorDrawable +import android.net.Uri +import android.os.Build +import android.text.Html +import android.view.Gravity +import android.view.Window +import android.view.WindowManager +import androidx.appcompat.widget.AppCompatImageView +import androidx.appcompat.widget.AppCompatTextView +import com.veloria.now.shortapp.R +import com.veloria.now.shortapp.civil.JActivityAdapter +import com.veloria.now.shortapp.civil.RYAction +import com.veloria.now.shortapp.civil.TranslationHelper +import com.veloria.now.shortapp.civil.YFHome +import com.veloria.now.shortapp.texturedAsink.VersionControlBean + +class VersionControlDialog(context: Context, versionControlBean: VersionControlBean) : + Dialog(context) { + + init { + requestWindowFeature(Window.FEATURE_NO_TITLE) + setContentView(R.layout.dialog_version_control) + + window?.apply { + setBackgroundDrawable(ColorDrawable(Color.TRANSPARENT)) + setLayout( + (context.resources.displayMetrics.widthPixels * 0.8).toInt(), + WindowManager.LayoutParams.WRAP_CONTENT + ) + setGravity(Gravity.CENTER) + } + setCancelable(false) + + val ivClose = findViewById(R.id.iv_close) + val tvVersion = findViewById(R.id.tv_version) + val tvNow = findViewById(R.id.tv_now) + val tvContent = findViewById(R.id.tv_content) + val tvTitle = findViewById(R.id.tv_title) + + tvVersion.text = "v".plus(versionControlBean.version_name) + if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.N) { + tvContent?.text = Html.fromHtml( + versionControlBean.description, Html.FROM_HTML_MODE_COMPACT + ) + } else { + tvContent?.text = Html.fromHtml( + versionControlBean.description + ) + } + + if (TranslationHelper.getTranslation() != null) { + tvTitle.text = TranslationHelper.getTranslation()?.veloria_update_title + tvNow.text = TranslationHelper.getTranslation()?.veloria_update_now + } + + ivClose.setOnClickListener { + dismiss() + } + + tvNow.setOnClickListener { + setOpenGooglePlayStore(YFHome.getPackageName()) + dismiss() + } + + this.setOnDismissListener { + RYAction.getMMKV().putLong( + JActivityAdapter.ACCOUNT_VERSION_CONTROL_TIME, + System.currentTimeMillis() + ) + } + } + + private fun setOpenGooglePlayStore(packageName: String) { + try { + val intent = Intent(Intent.ACTION_VIEW, Uri.parse("market://details?id=$packageName")) + intent.flags = Intent.FLAG_ACTIVITY_NEW_TASK + context.startActivity(intent) + } catch (e: Exception) { + val intent = Intent( + Intent.ACTION_VIEW, + Uri.parse("https://play.google.com/store/apps/details?id=$packageName") + ) + intent.flags = Intent.FLAG_ACTIVITY_NEW_TASK + context.startActivity(intent) + } + } + + +} \ No newline at end of file diff --git a/app/src/main/java/com/veloria/now/shortapp/subtractionCroll/avcintraRelock/VipQualityDialog.kt b/app/src/main/java/com/veloria/now/shortapp/subtractionCroll/avcintraRelock/VipQualityDialog.kt index d738d85..16b0594 100644 --- a/app/src/main/java/com/veloria/now/shortapp/subtractionCroll/avcintraRelock/VipQualityDialog.kt +++ b/app/src/main/java/com/veloria/now/shortapp/subtractionCroll/avcintraRelock/VipQualityDialog.kt @@ -25,6 +25,7 @@ class VipQualityDialog(context: Context, revolutionsBean: VeRevolutionsBean) : D interface SetQualityBackOnClick { fun qualityBackOnClick(quality: Int) + fun loginOnClick() fun showActivateOnClick() } @@ -98,13 +99,8 @@ class VipQualityDialog(context: Context, revolutionsBean: VeRevolutionsBean) : D tvQuality720.setTextColor(Color.parseColor("#8B8B8B")) tvQuality720.setBackgroundResource(R.mipmap.iv_quality_bg_off) tvQuality720.setOnClickListener { - context.startActivity( - Intent( - context, - PSVHomeSearchActivity::class.java - ) - ) - EventBus.getDefault().post(JActivityAdapter.HOME_LOGIN) +// EventBus.getDefault().post(JActivityAdapter.VIDEO_PAUSE_PLAY) + setQualityBackOnClick?.loginOnClick() dismiss() } } diff --git a/app/src/main/java/com/veloria/now/shortapp/subtractionCroll/avcintraRelock/VipSplashDialog.kt b/app/src/main/java/com/veloria/now/shortapp/subtractionCroll/avcintraRelock/VipSplashDialog.kt index cc052bc..d4c5578 100644 --- a/app/src/main/java/com/veloria/now/shortapp/subtractionCroll/avcintraRelock/VipSplashDialog.kt +++ b/app/src/main/java/com/veloria/now/shortapp/subtractionCroll/avcintraRelock/VipSplashDialog.kt @@ -6,21 +6,29 @@ import android.content.Context import android.graphics.Color import android.graphics.drawable.ColorDrawable import android.view.Gravity +import android.view.View import android.view.Window import android.view.WindowManager +import android.widget.TextView import androidx.appcompat.widget.AppCompatImageView import androidx.appcompat.widget.AppCompatTextView +import androidx.recyclerview.widget.LinearLayoutManager +import androidx.recyclerview.widget.RecyclerView import com.veloria.now.shortapp.R import com.veloria.now.shortapp.civil.TranslationHelper import com.veloria.now.shortapp.civil.singleOnClick +import com.veloria.now.shortapp.subtractionCroll.modificationsPretch.VeStoreCoinAdapter +import com.veloria.now.shortapp.subtractionCroll.modificationsPretch.VeVipSplashAdapter +import com.veloria.now.shortapp.texturedAsink.VePaySettingsBean @SuppressLint("MissingInflatedId") -class VipSplashDialog(context: Context) : Dialog(context) { +class VipSplashDialog(context: Context,vipBeans: List) : Dialog(context) { var setVipSplashOnClick: SetVipSplashOnClick? = null + private var vipAdapter: VeVipSplashAdapter? = null interface SetVipSplashOnClick { fun onVipSplash() - fun onVipDismiss() + fun onVipOnAdapterBuy(vipBean: VePaySettingsBean.VipBean) } init { @@ -33,43 +41,59 @@ class VipSplashDialog(context: Context) : Dialog(context) { (context.resources.displayMetrics.widthPixels * 0.8).toInt(), WindowManager.LayoutParams.WRAP_CONTENT ) - setGravity(Gravity.CENTER) + setGravity(Gravity.TOP or Gravity.CENTER_HORIZONTAL) } setCancelable(true) val ivClose = findViewById(R.id.iv_close) - val tvToStore = findViewById(R.id.tv_to_store) val tvContent = findViewById(R.id.tv_content) val tvTitle = findViewById(R.id.tv_title) + val recyclerView = findViewById(R.id.recyclerView) if (TranslationHelper.getTranslation() != null) { tvTitle.text = TranslationHelper.getTranslation()?.veloria_vip_splash_title tvContent.text = TranslationHelper.getTranslation()?.veloria_vip_splash_content - tvToStore.text = TranslationHelper.getTranslation()?.veloria_vip_splash_onclick } else { tvTitle.text = "Unlock VIP Privileges!" tvContent.text = "Enjoy ad-free streaming, early access, and exclusive content!" - tvToStore.text = "Unlock VIP Benefits" } + recyclerView.layoutManager = LinearLayoutManager(context) + vipAdapter = VeVipSplashAdapter() + recyclerView.adapter = vipAdapter + vipAdapter?.submitList(vipBeans) + + ivClose.setOnClickListener { singleOnClick { - setVipSplashOnClick?.onVipDismiss() dismiss() } } - tvToStore.setOnClickListener { + + vipAdapter?.setOnItemClickListener { adapter, view, position -> singleOnClick { - setVipSplashOnClick?.onVipSplash() - dismiss() + + val data = adapter.getItem(position) + + vipAdapter?.currentPosition = position + vipAdapter?.notifyDataSetChanged() + + if (data != null) { + setVipSplashOnClick?.onVipOnAdapterBuy(data) + } } } + } fun setOnVipSplashOnClickListener(listener: SetVipSplashOnClick) { this.setVipSplashOnClick = listener } + fun setAdapterSubmitList(data: List){ + vipAdapter?.submitList(data) + } + } \ No newline at end of file diff --git a/app/src/main/java/com/veloria/now/shortapp/subtractionCroll/bidirectional/HLanguageActivity.kt b/app/src/main/java/com/veloria/now/shortapp/subtractionCroll/bidirectional/HLanguageActivity.kt index 47a19d5..4b43b7d 100644 --- a/app/src/main/java/com/veloria/now/shortapp/subtractionCroll/bidirectional/HLanguageActivity.kt +++ b/app/src/main/java/com/veloria/now/shortapp/subtractionCroll/bidirectional/HLanguageActivity.kt @@ -151,6 +151,26 @@ class HLanguageActivity : AIXTextActivity() + binding.ivBack.setOnClickListener { + var complete9: Long = 6360L + if (complete9 == 49L) { + } + + + var system2: Float = 1503.0f + + + finish() + } + if (TranslationHelper.getTranslation() != null){ + binding.etSearch.hint = TranslationHelper.getTranslation()?.veloria_recersal_of_fate + binding.tvTitleRecent.text = TranslationHelper.getTranslation()?.veloria_recent_searches + binding.tvTitleRecommended.text = TranslationHelper.getTranslation()?.veloria_recommended + binding.tvTrendingTop.text = TranslationHelper.getTranslation()?.veloria_trending_top + binding.tvLatestTrends.text = TranslationHelper.getTranslation()?.veloria_latest_trends + binding.tvResultTitle.text = TranslationHelper.getTranslation()?.veloria_search_results + } + if (!NetworkUtils.isConnected()) { var langR: Float = 4492.0f @@ -213,7 +233,7 @@ class HLanguageActivity : AIXTextActivity 179.0) { @@ -223,15 +243,6 @@ class HLanguageActivity : AIXTextActivity 46.0f) { } @@ -554,12 +561,12 @@ class MQVAutoWidthActivity : break } - + binding.ivBack.setOnClickListener { finish() } if (!NetworkUtils.isConnected()) { var lightf: Long = 4156L - + binding.ivBack.visibility = View.VISIBLE showErrorData(object : VSNotificationsDefault.OnRetryListener { public fun spanLoveWhatBinge(): Boolean { @@ -591,6 +598,7 @@ class MQVAutoWidthActivity : initView() } }) + return } else { var playh: MutableList = mutableListOf() @@ -599,17 +607,29 @@ class MQVAutoWidthActivity : playh.add(941.0) if (playh.size > 20) { } - + binding.ivBack.visibility = View.GONE showComplete() var marqueeo: Float = 1740.0f if (marqueeo < 162.0f) { } +// if (revolution == "1080" && !RYAction.isVipTo()) { +// if (RYAction.isTouristTo()) { +// RYAction.getMMKV() +// .putInt(JActivityAdapter.CONSTANTS_QUALITY, 540) +// } else { +// RYAction.getMMKV() +// .putInt(JActivityAdapter.CONSTANTS_QUALITY, 720) +// } +// EventBus.getDefault().post(CONSTANTS_QUALITY_REFRESH) +// revolution = +// RYAction.getMMKV().getInt(JActivityAdapter.CONSTANTS_QUALITY, 540).toString() +// } viewModel.getVideoPlayDetails(shortPlayId, 0, activityId, revolution) } - + EventBus.getDefault().register(this) onBackPressedDispatcher.addCallback(this, object : OnBackPressedCallback(true) { override fun handleOnBackPressed() { @@ -932,6 +952,10 @@ class MQVAutoWidthActivity : manifestAnyBuildGravityView()?.play() + + if (binding.layoutRecommend.root.visibility == View.VISIBLE) { + bannerAdapter?.getCurrentPlayerView()?.play() + } } else { var listso: String = "agate" @@ -1371,9 +1395,10 @@ class MQVAutoWidthActivity : manifestAnyBuildGravityView()?.release() - - bannerAdapter.getCurrentPlayerView()?.stop() - bannerAdapter.getCurrentPlayerView()?.release() + if (::bannerAdapter.isInitialized) { + bannerAdapter?.getCurrentPlayerView()?.stop() + bannerAdapter?.getCurrentPlayerView()?.release() + } } recommendAdapter?.shortVideo = null @@ -1618,7 +1643,7 @@ class MQVAutoWidthActivity : } println(startA) - + binding.ivBack.visibility = View.GONE showComplete() var rights: Long = 9660L if (rights > 16L) { @@ -1670,7 +1695,7 @@ class MQVAutoWidthActivity : break } - + binding.ivBack.visibility = View.VISIBLE showEmptyData() } } @@ -1913,15 +1938,23 @@ class MQVAutoWidthActivity : it?.data?.let { RYAction.saveUserInfoBean(it) if (needRestart) { - binding.layoutLock.tvBalance.text = - "Balance: ".plus(RYAction.getUserInfoBean()?.coin_left_total.toString()) - .plus(" Coins | ") - .plus(RYAction.getUserInfoBean()?.send_coin_left_total.toString()) - .plus(" Bonus") - if (RYAction.isVipTo()) { - revolution = "1080" - RYAction.getMMKV().putInt(JActivityAdapter.CONSTANTS_QUALITY, 1080) + if (TranslationHelper.getTranslation() != null) { + binding.layoutLock.tvBalance.text = + TranslationHelper.getTranslation()?.veloria_balance.plus(": ") + .plus(RYAction.getUserInfoBean()?.coin_left_total.toString()) + .plus(TranslationHelper.getTranslation()?.veloria_coins) + .plus(" | ") + .plus(RYAction.getUserInfoBean()?.send_coin_left_total.toString()) + .plus(" ") + .plus(TranslationHelper.getTranslation()?.veloria_bonus) + } else { + binding.layoutLock.tvBalance.text = + "Balance: ".plus(RYAction.getUserInfoBean()?.coin_left_total.toString()) + .plus(" Coins | ") + .plus(RYAction.getUserInfoBean()?.send_coin_left_total.toString()) + .plus(" Bonus") } + detailRefresh() } } @@ -1979,6 +2012,89 @@ class MQVAutoWidthActivity : } } + callbackManager = create() + LoginManager.getInstance().registerCallback(callbackManager, + object : FacebookCallback { + override fun onSuccess(loginResult: LoginResult) { + val enableButtons = AccessToken.getCurrentAccessToken() != null + if (enableButtons) { + val mGraphRequest = GraphRequest.newMeRequest( + loginResult.accessToken + ) { jsonObject, response -> + if (response!!.error != null) { + if (TranslationHelper.getTranslation() != null) { + toast( + "Facebook ".plus(TranslationHelper.getTranslation()?.veloria_login_exception) + .plus(".${response.error?.exception.toString()}") + ) + } else { + toast("Facebook Error") + } + } else { + val id = jsonObject?.optString("id") + val name = jsonObject?.optString("name") + val object_pic: JSONObject? = jsonObject!!.optJSONObject("picture") + val object_data = object_pic?.optJSONObject("data") + val photo = object_data?.optString("url") + viewModel.setLeaveApp() + viewModel.setDoLogin( + LoginDataBean( + photo.toString(), + "", + name.toString(), + "", + "facebook", + id.toString() + ) + ) + } + } + val parameters = Bundle() + parameters.putString("fields", "id,name,email,picture") + mGraphRequest.parameters = parameters + mGraphRequest.executeAsync() + } + } + + override fun onCancel() { + if (TranslationHelper.getTranslation() != null) { + toast("Facebook ".plus(TranslationHelper.getTranslation()?.veloria_login_cancel)) + } else { + toast("Facebook Cancel") + } + } + + override fun onError(exception: FacebookException) { + if (TranslationHelper.getTranslation() != null) { + toast( + "Facebook ".plus(TranslationHelper.getTranslation()?.veloria_login_exception) + .plus("n.$exception") + ) + } else { + toast("Facebook Error") + } + } + }) + + + + viewModel.loginLiveData.observe(this) { + if (it?.data != null) { + if (TranslationHelper.getTranslation() != null) { + toast(TranslationHelper.getTranslation()?.veloria_succeed.toString()) + } + RYAction.getMMKV() + .putString(JActivityAdapter.ACCOUNT_TOKEN, it.data.token) + EventBus.getDefault() + .post(JActivityAdapter.HOME_ENTER_THE_APP) + EventBus.getDefault() + .post(JActivityAdapter.HOME_ON_LINE) + EventBus.getDefault() + .post(JActivityAdapter.HOME_USER_REFRESH) + + } + } + } @@ -2008,6 +2124,14 @@ class MQVAutoWidthActivity : } private fun showGoldShortageDialog(episode1: XAboutBean.Episode) { + if (!NetworkUtils.isConnected()) { + if (TranslationHelper.getTranslation() != null) { + toast(TranslationHelper.getTranslation()?.veloria_network.toString()) + } else { + toast(XNBackground.instance.getString(R.string.shapeSelected)) + } + return + } val allCoin = RYAction.getAllCoinTotal() if (allCoin >= episode1.coins) { if (currentPosition > 0) { @@ -2090,6 +2214,13 @@ class MQVAutoWidthActivity : @SuppressLint("UnsafeOptInUsageError") private fun setDetailsRecommendation(data: VeDetailsRecommendBean) { if (data.list.isNotEmpty()) { + if (TranslationHelper.getTranslation() != null) { + binding.layoutRecommend.tvTitle.text = + TranslationHelper.getTranslation()?.veloria_detail_recommand_title + binding.layoutRecommend.tvWatchNow.text = + TranslationHelper.getTranslation()?.veloria_watch_now + } + PLAYER_DETAILS_CAN_PLAY = false binding.layoutRecommend.root.visibility = View.VISIBLE bannerAdapter = @@ -2137,7 +2268,8 @@ class MQVAutoWidthActivity : }) binding.layoutRecommend.tvWatchNow.setOnClickListener { - val data = binding.layoutRecommend.bannerRecommend.getData()[bannerPosition] as VeDetailsRecommendBean.ItemDaraBean + val data = + binding.layoutRecommend.bannerRecommend.getData()[bannerPosition] as VeDetailsRecommendBean.ItemDaraBean watchNow(data, data?.short_play_id) } val data = data.list[0] @@ -2196,6 +2328,10 @@ class MQVAutoWidthActivity : setVipActivateDialog() } + override fun loginOnClick() { + setLogin() + } + }) } dialog.show() @@ -2207,4 +2343,32 @@ class MQVAutoWidthActivity : dialog.show() } + private var callbackManager: CallbackManager? = null + fun setLogin() { + val dialog = LoginDialog(this).apply { + setOnLoginOnclickListener(object : LoginDialog.LoginOnClick { + override fun onLoginFacebook() { + onFacebook() + } + }) + } + dialog.show() + dialog.loginOnclick + + } + + private fun onFacebook() { + singleOnClick { + LoginManager.getInstance() + .logInWithReadPermissions(this, arrayListOf("public_profile", "email")) + } + } + + + @Deprecated("Deprecated in Java") + override fun onActivityResult(requestCode: Int, resultCode: Int, data: Intent?) { + super.onActivityResult(requestCode, resultCode, data) + callbackManager?.onActivityResult(requestCode, resultCode, data) + } + } \ No newline at end of file diff --git a/app/src/main/java/com/veloria/now/shortapp/subtractionCroll/bidirectional/PSVHomeSearchActivity.kt b/app/src/main/java/com/veloria/now/shortapp/subtractionCroll/bidirectional/PSVHomeSearchActivity.kt index 7f37629..e31c782 100644 --- a/app/src/main/java/com/veloria/now/shortapp/subtractionCroll/bidirectional/PSVHomeSearchActivity.kt +++ b/app/src/main/java/com/veloria/now/shortapp/subtractionCroll/bidirectional/PSVHomeSearchActivity.kt @@ -38,7 +38,9 @@ import com.veloria.now.shortapp.civil.JActivityAdapter.VIDEO_SHORT_PLAY_ID import com.veloria.now.shortapp.civil.RYAction import com.veloria.now.shortapp.civil.TranslationHelper import com.veloria.now.shortapp.civil.VeNotificationHelper +import com.veloria.now.shortapp.civil.YFHome.getPackageVersionCode import com.veloria.now.shortapp.civil.setShowNotifications +import com.veloria.now.shortapp.civil.shouldVersionControl import com.veloria.now.shortapp.civil.singleOnClick import com.veloria.now.shortapp.civil.toast import com.veloria.now.shortapp.databinding.JsDramaFragmentBinding @@ -50,10 +52,12 @@ import com.veloria.now.shortapp.subtractionCroll.adminSourceid.UColorsAvatarFrag import com.veloria.now.shortapp.subtractionCroll.adminSourceid.YYLoginHistoryFragment import com.veloria.now.shortapp.subtractionCroll.avcintraRelock.LoginDialog import com.veloria.now.shortapp.subtractionCroll.avcintraRelock.NotificationsDialog +import com.veloria.now.shortapp.subtractionCroll.avcintraRelock.VersionControlDialog import com.veloria.now.shortapp.subtractionCroll.bidirectional.coordinate.JService import com.veloria.now.shortapp.texturedAsink.LoginDataBean import com.veloria.now.shortapp.texturedAsink.VeHomeWatchBean import com.veloria.now.shortapp.texturedAsink.VeUploadNotificationBean +import com.veloria.now.shortapp.texturedAsink.VersionControlBean import kotlinx.coroutines.CoroutineScope import kotlinx.coroutines.Dispatchers import kotlinx.coroutines.flow.debounce @@ -217,7 +221,7 @@ class PSVHomeSearchActivity : AIXTextActivity( it.data?.token?.let { it1 -> RYAction.saveToken(it1) - EventBus.getDefault().post(JActivityAdapter.REFRESH_HOME) + EventBus.getDefault().post(JActivityAdapter.HOME_REFRESH_ME) } } } @@ -249,12 +253,6 @@ class PSVHomeSearchActivity : AIXTextActivity( EventBus.getDefault() .post(JActivityAdapter.HOME_USER_REFRESH) - val revolution = - RYAction.getMMKV().getInt(JActivityAdapter.CONSTANTS_QUALITY, 540).toString() - if (revolution == "540") { - RYAction.getMMKV() - .putInt(JActivityAdapter.CONSTANTS_QUALITY, 720) - } } } @@ -272,6 +270,23 @@ class PSVHomeSearchActivity : AIXTextActivity( } + viewModel.versionControlData.observe(this) { + if (it != null) { + if (it.data?.version_code?.isNotEmpty() == true) { + val toInt = it.data.version_code.toInt() + if (shouldVersionControl() && toInt > getPackageVersionCode(this)) { + setVersionControlDialog(it.data) + } + } + } + } + + } + + fun setVersionControlDialog(versionControlBean: VersionControlBean) { + val dialog = VersionControlDialog(this, versionControlBean) + dialog.show() + } private val items = listOf( @@ -573,7 +588,12 @@ class PSVHomeSearchActivity : AIXTextActivity( } }) - + JActivityAdapter.IS_HOME_SET_NOTIFICATIONS = VeNotificationHelper.isNotification(this) + viewModel.setUploadNoticeStatus( + VeUploadNotificationBean( + if (JActivityAdapter.IS_HOME_SET_NOTIFICATIONS) "1" else "0" + ) + ) GoogleApiAvailability.getInstance().makeGooglePlayServicesAvailable(this) .addOnCompleteListener { if (it.isSuccessful) { @@ -598,6 +618,8 @@ class PSVHomeSearchActivity : AIXTextActivity( } }, 3000) + viewModel.getVersionControl() + } private fun stayPrimaryRecommendSearchToast( @@ -808,6 +830,15 @@ class PSVHomeSearchActivity : AIXTextActivity( if (JActivityAdapter.ACCOUNT_FIREBASE_TOKEN_REFRESH == event) { getFirebaseMessaging() } + if (JActivityAdapter.ACCOUNT_OUT_LOGIN == event) { + viewModel.loadData() + if (TranslationHelper.getTranslation() != null) { + toast( + TranslationHelper.getTranslation()?.veloria_network_error_1 + ?: getString(R.string.veloria_network_error_1) + ) + } + } } private fun restartApplication(context: Context) { @@ -1078,6 +1109,9 @@ class PSVHomeSearchActivity : AIXTextActivity( ) { getFirebaseMessaging() viewModel.setOpenNotify() + viewModel.setUploadNoticeStatus( + VeUploadNotificationBean("1") + ) } else { if (setShowNotifications()) { setNotifications() @@ -1087,6 +1121,9 @@ class PSVHomeSearchActivity : AIXTextActivity( if (VeNotificationHelper.isNotification(this)) { getFirebaseMessaging() viewModel.setOpenNotify() + viewModel.setUploadNoticeStatus( + VeUploadNotificationBean("1") + ) } else { if (setShowNotifications()) { setNotifications() @@ -1129,6 +1166,9 @@ class PSVHomeSearchActivity : AIXTextActivity( if (isGranted) { getFirebaseMessaging() viewModel.setOpenNotify() + viewModel.setUploadNoticeStatus( + VeUploadNotificationBean("1") + ) } else { VeNotificationHelper.setNotification(this) } diff --git a/app/src/main/java/com/veloria/now/shortapp/subtractionCroll/bidirectional/RBZLatestDeteleActivity.kt b/app/src/main/java/com/veloria/now/shortapp/subtractionCroll/bidirectional/RBZLatestDeteleActivity.kt index 8ad30b3..7db8c27 100644 --- a/app/src/main/java/com/veloria/now/shortapp/subtractionCroll/bidirectional/RBZLatestDeteleActivity.kt +++ b/app/src/main/java/com/veloria/now/shortapp/subtractionCroll/bidirectional/RBZLatestDeteleActivity.kt @@ -2,24 +2,28 @@ package com.veloria.now.shortapp.subtractionCroll.bidirectional import android.annotation.SuppressLint import android.graphics.Bitmap +import android.view.View import android.webkit.WebChromeClient import android.webkit.WebResourceError import android.webkit.WebResourceRequest import android.webkit.WebSettings import android.webkit.WebView import android.webkit.WebViewClient +import com.blankj.utilcode.util.NetworkUtils import com.veloria.now.shortapp.R import com.veloria.now.shortapp.civil.JActivityAdapter +import com.veloria.now.shortapp.civil.NOFfmpeg import com.veloria.now.shortapp.civil.TranslationHelper import com.veloria.now.shortapp.civil.toast import com.veloria.now.shortapp.databinding.IPlaceBinding import com.veloria.now.shortapp.newsletter.AIXTextActivity +import com.veloria.now.shortapp.rewards.VSNotificationsDefault import com.veloria.now.shortapp.subtractionCroll.bidirectional.coordinate.LXMService import kotlin.math.max import kotlin.math.min -class RBZLatestDeteleActivity : AIXTextActivity() { +class RBZLatestDeteleActivity : AIXTextActivity(), NOFfmpeg { @Volatile var centerTrendPaint_min: Double = 5869.0 @@ -168,7 +172,6 @@ class RBZLatestDeteleActivity : AIXTextActivity() { println(messageL) - when (urlString) { JActivityAdapter.WEB_VIEW_USER_AGREEMENT -> { var modelE: Float = 6376.0f @@ -206,6 +209,20 @@ class RBZLatestDeteleActivity : AIXTextActivity() { binding.tvTitle.text = "Veloria" } } + + + if (!NetworkUtils.isConnected()) { + binding.webView.visibility = View.GONE + showErrorData(object : VSNotificationsDefault.OnRetryListener { + + override fun onRetry(layout: VSNotificationsDefault) { + initView() + } + }) + return + } + binding.webView.visibility = View.VISIBLE + showComplete() showLoading() var helpF: MutableMap = mutableMapOf() helpF.put("texturedspenc", 528L) @@ -502,4 +519,7 @@ class RBZLatestDeteleActivity : AIXTextActivity() { } override fun getViewBinding() = IPlaceBinding.inflate(layoutInflater) + override fun getStatusLayout(): VSNotificationsDefault? { + return binding.stateLayout + } } \ No newline at end of file diff --git a/app/src/main/java/com/veloria/now/shortapp/subtractionCroll/bidirectional/VeFeedbackActivity.kt b/app/src/main/java/com/veloria/now/shortapp/subtractionCroll/bidirectional/VeFeedbackActivity.kt index 8d63207..d8e862d 100644 --- a/app/src/main/java/com/veloria/now/shortapp/subtractionCroll/bidirectional/VeFeedbackActivity.kt +++ b/app/src/main/java/com/veloria/now/shortapp/subtractionCroll/bidirectional/VeFeedbackActivity.kt @@ -27,13 +27,14 @@ import androidx.lifecycle.lifecycleScope import com.blankj.utilcode.util.PermissionUtils import com.veloria.now.shortapp.R import com.veloria.now.shortapp.civil.JActivityAdapter +import com.veloria.now.shortapp.civil.NOFfmpeg import com.veloria.now.shortapp.civil.TranslationHelper import com.veloria.now.shortapp.civil.singleOnClick import com.veloria.now.shortapp.civil.toast import com.veloria.now.shortapp.databinding.ActivityVeFeedbackBinding import com.veloria.now.shortapp.newsletter.AIXTextActivity -import com.veloria.now.shortapp.newsletter.XNBackground import com.veloria.now.shortapp.other.FeedbackJsBridge +import com.veloria.now.shortapp.rewards.VSNotificationsDefault import com.veloria.now.shortapp.subtractionCroll.bidirectional.coordinate.VeFeedbackViewModel import kotlinx.coroutines.Dispatchers import kotlinx.coroutines.launch @@ -44,7 +45,8 @@ import org.greenrobot.eventbus.ThreadMode import java.io.ByteArrayOutputStream import java.io.InputStream -class VeFeedbackActivity : AIXTextActivity() { +class VeFeedbackActivity : AIXTextActivity(), + NOFfmpeg { val viewModel: VeFeedbackViewModel by viewModels() @@ -55,7 +57,7 @@ class VeFeedbackActivity : AIXTextActivity() { +class VeFeedbackDetailActivity : AIXTextActivity() , + NOFfmpeg { val viewModel: VeFeedbackViewModel by viewModels() @@ -91,7 +95,8 @@ class VeFeedbackDetailActivity : AIXTextActivity() { + AIXTextActivity() , NOFfmpeg { val viewModel: VeFeedbackViewModel by viewModels() @@ -67,7 +70,8 @@ class VeFeedbackListActivity : binding.webFeedbackList.webViewClient = object : WebViewClient() { override fun onPageStarted(view: WebView?, url: String?, favicon: Bitmap?) { super.onPageStarted(view, url, favicon) - + showComplete() + binding.webFeedbackList.visibility = View.VISIBLE } override fun onPageFinished(view: WebView?, url: String?) { @@ -82,6 +86,14 @@ class VeFeedbackListActivity : error: WebResourceError? ) { super.onReceivedError(view, request, error) + showErrorData(object : VSNotificationsDefault.OnRetryListener { + + override fun onRetry(layout: VSNotificationsDefault) { + showLoading() + loadPageUrl(JActivityAdapter.FEEDBACK_URL_LIST) + } + }) + binding.webFeedbackList.visibility = View.INVISIBLE if (TranslationHelper.getTranslation() != null){ toast(TranslationHelper.getTranslation()?.veloria_network.toString()) }else { @@ -123,4 +135,8 @@ class VeFeedbackListActivity : EventBus.getDefault().unregister(this) } + override fun getStatusLayout(): VSNotificationsDefault? { + return binding.stateLayout + } + } \ No newline at end of file diff --git a/app/src/main/java/com/veloria/now/shortapp/subtractionCroll/bidirectional/VeLanguageActivity.kt b/app/src/main/java/com/veloria/now/shortapp/subtractionCroll/bidirectional/VeLanguageActivity.kt index 8b56239..30cf846 100644 --- a/app/src/main/java/com/veloria/now/shortapp/subtractionCroll/bidirectional/VeLanguageActivity.kt +++ b/app/src/main/java/com/veloria/now/shortapp/subtractionCroll/bidirectional/VeLanguageActivity.kt @@ -6,6 +6,7 @@ import androidx.appcompat.app.AppCompatDelegate import androidx.core.os.LocaleListCompat import androidx.lifecycle.lifecycleScope import androidx.recyclerview.widget.LinearLayoutManager +import com.blankj.utilcode.util.NetworkUtils import com.veloria.now.shortapp.civil.JActivityAdapter import com.veloria.now.shortapp.civil.NOFfmpeg import com.veloria.now.shortapp.civil.RYAction @@ -33,16 +34,28 @@ class VeLanguageActivity : AIXTextActivity(), - OnRefreshLoadMoreListener { + OnRefreshLoadMoreListener , NOFfmpeg { val viewModel: VeMyWalletViewModel by viewModels() @@ -41,9 +44,20 @@ class VeMyWalletActivity : AIXTextActivity(), OnRefreshLoadMoreListener, NOFfmpeg { @@ -53,6 +84,7 @@ class VeRewardsActivity : AIXTextActivity= Build.VERSION_CODES.TIRAMISU) { + if (ContextCompat.checkSelfPermission( + this, Manifest.permission.POST_NOTIFICATIONS + ) == PackageManager.PERMISSION_GRANTED + ) { + getFirebaseMessaging() + viewModel.setOpenNotify() + loadingData() + } else { + requestPermissionLauncher.launch(Manifest.permission.POST_NOTIFICATIONS) + } + } else { + if (VeNotificationHelper.isNotification(this)) { + getFirebaseMessaging() + viewModel.setOpenNotify() + loadingData() + } else { + VeNotificationHelper.setNotification(this) + } + } + } + + + override fun onActivityResult(requestCode: Int, resultCode: Int, data: Intent?) { + super.onActivityResult(requestCode, resultCode, data) + if (requestCode == VeNotificationHelper.VE_NOTIFICATION_REQUEST_CODE) { + JActivityAdapter.IS_HOME_SET_NOTIFICATIONS = VeNotificationHelper.isNotification(this) + if (JActivityAdapter.IS_HOME_SET_NOTIFICATIONS) { + getFirebaseMessaging() + viewModel.setOpenNotify() + } + loadingData() + }else { + callbackManager?.onActivityResult(requestCode, resultCode, data) + } + } + + + private val requestPermissionLauncher = registerForActivityResult( + ActivityResultContracts.RequestPermission(), + ) { isGranted: Boolean -> + JActivityAdapter.IS_HOME_SET_NOTIFICATIONS = isGranted + if (isGranted) { + getFirebaseMessaging() + viewModel.setOpenNotify() + loadingData() + } else { + openAppNotificationSettings() + } + } + + private fun openAppNotificationSettings() { + if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.TIRAMISU) { + val intent = Intent() + intent.action = "android.settings.APP_NOTIFICATION_SETTINGS" + intent.putExtra( + "android.provider.extra.APP_PACKAGE", + YFHome.getPackageName() + ) + startActivity(intent) + } else { + val intent = Intent() + intent.action = "android.settings.APPLICATION_DETAILS_SETTINGS" + intent.data = + Uri.fromParts("package", YFHome.getPackageName(), null) + startActivity(intent) + } + } + + private fun getFirebaseMessaging() { + FirebaseMessaging.getInstance().token.addOnCompleteListener(OnCompleteListener { task -> + if (!task.isSuccessful) { + return@OnCompleteListener + } + // Get new FCM registration token + val token = task.result + // Log and toast + Log.d("LOG_TAG", token) + viewModel.setFirebaseToken(token) + }) + } + + private var callbackManager: CallbackManager? = null + + fun setLogin() { + val dialog = LoginDialog(this).apply { + setOnLoginOnclickListener(object : LoginDialog.LoginOnClick { + override fun onLoginFacebook() { + onFacebook() + } + }) + } + dialog.show() + dialog.loginOnclick + + } + + private fun onFacebook() { + singleOnClick { + LoginManager.getInstance() + .logInWithReadPermissions(this, arrayListOf("public_profile", "email")) + } + } + + + fun initLogin(){ + callbackManager = create() + LoginManager.getInstance().registerCallback(callbackManager, + object : FacebookCallback { + override fun onSuccess(loginResult: LoginResult) { + val enableButtons = AccessToken.getCurrentAccessToken() != null + if (enableButtons) { + val mGraphRequest = GraphRequest.newMeRequest( + loginResult.accessToken + ) { jsonObject, response -> + if (response!!.error != null) { + if (TranslationHelper.getTranslation() != null) { + toast( + "Facebook ".plus(TranslationHelper.getTranslation()?.veloria_login_exception) + .plus(".${response.error?.exception.toString()}") + ) + } else { + toast("Facebook Error") + } + } else { + val id = jsonObject?.optString("id") + val name = jsonObject?.optString("name") + val object_pic: JSONObject? = jsonObject!!.optJSONObject("picture") + val object_data = object_pic?.optJSONObject("data") + val photo = object_data?.optString("url") + viewModel.setLeaveApp() + viewModel.setDoLogin( + LoginDataBean( + photo.toString(), + "", + name.toString(), + "", + "facebook", + id.toString() + ) + ) + } + } + val parameters = Bundle() + parameters.putString("fields", "id,name,email,picture") + mGraphRequest.parameters = parameters + mGraphRequest.executeAsync() + } + } + + override fun onCancel() { + if (TranslationHelper.getTranslation() != null) { + toast("Facebook ".plus(TranslationHelper.getTranslation()?.veloria_login_cancel)) + } else { + toast("Facebook Cancel") + } + } + + override fun onError(exception: FacebookException) { + if (TranslationHelper.getTranslation() != null) { + toast( + "Facebook ".plus(TranslationHelper.getTranslation()?.veloria_login_exception) + .plus("n.$exception") + ) + } else { + toast("Facebook Error") + } + } + }) + + } + } \ No newline at end of file diff --git a/app/src/main/java/com/veloria/now/shortapp/subtractionCroll/bidirectional/VeStoreActivity.kt b/app/src/main/java/com/veloria/now/shortapp/subtractionCroll/bidirectional/VeStoreActivity.kt index 3b3c1a5..4e83fb0 100644 --- a/app/src/main/java/com/veloria/now/shortapp/subtractionCroll/bidirectional/VeStoreActivity.kt +++ b/app/src/main/java/com/veloria/now/shortapp/subtractionCroll/bidirectional/VeStoreActivity.kt @@ -7,6 +7,7 @@ import android.view.View import androidx.activity.viewModels import androidx.lifecycle.lifecycleScope import androidx.recyclerview.widget.GridLayoutManager +import androidx.recyclerview.widget.LinearLayoutManager import androidx.recyclerview.widget.RecyclerView import com.android.billingclient.api.AcknowledgePurchaseParams import com.android.billingclient.api.BillingClient @@ -20,7 +21,9 @@ import com.android.billingclient.api.ProductDetailsResponseListener import com.android.billingclient.api.Purchase import com.android.billingclient.api.PurchasesUpdatedListener import com.android.billingclient.api.QueryProductDetailsParams +import com.blankj.utilcode.util.NetworkUtils import com.veloria.now.shortapp.R +import com.veloria.now.shortapp.civil.NOFfmpeg import com.veloria.now.shortapp.civil.RYAction import com.veloria.now.shortapp.civil.TranslationHelper import com.veloria.now.shortapp.civil.YFHome @@ -28,27 +31,35 @@ import com.veloria.now.shortapp.civil.singleOnClick import com.veloria.now.shortapp.civil.toast import com.veloria.now.shortapp.databinding.ActivityVeStoreBinding import com.veloria.now.shortapp.newsletter.AIXTextActivity +import com.veloria.now.shortapp.rewards.VSNotificationsDefault import com.veloria.now.shortapp.subtractionCroll.bidirectional.coordinate.VeStoreViewModel -import com.veloria.now.shortapp.subtractionCroll.modificationsPretch.VeBannerVipPayAdapter import com.veloria.now.shortapp.subtractionCroll.modificationsPretch.VeStoreCoinAdapter +import com.veloria.now.shortapp.subtractionCroll.modificationsPretch.VeStoreCoinBigAdapter +import com.veloria.now.shortapp.subtractionCroll.modificationsPretch.VeStoreVipAdapter import com.veloria.now.shortapp.texturedAsink.VeCreatePayOrderReqBean import com.veloria.now.shortapp.texturedAsink.VePayBean import com.veloria.now.shortapp.texturedAsink.VePaySettingsBean -import com.youth.banner.listener.OnPageChangeListener +import kotlinx.coroutines.CoroutineScope +import kotlinx.coroutines.Dispatchers +import kotlinx.coroutines.flow.debounce +import kotlinx.coroutines.flow.flow +import kotlinx.coroutines.flow.onEach import kotlinx.coroutines.launch -class VeStoreActivity : AIXTextActivity() { +class VeStoreActivity : AIXTextActivity() , NOFfmpeg { val viewModel: VeStoreViewModel by viewModels() override fun getViewBinding() = ActivityVeStoreBinding.inflate(layoutInflater) private var coinAdapter: VeStoreCoinAdapter? = null - private var bannerAdapter: VeBannerVipPayAdapter? = null + private var coinBigAdapter: VeStoreCoinBigAdapter? = null + private var vipAdapter: VeStoreVipAdapter? = null private var typeOnClick = 0 private var isConnect = false private var vipData: VePaySettingsBean.VipBean? = null private var coinsData: VePaySettingsBean.CoinsBean? = null + private var coinsBigData: VePaySettingsBean.CoinsBean? = null private var payBeanReq: VePayBean? = null private var billingClientData: BillingClient? = null @@ -57,21 +68,14 @@ class VeStoreActivity : AIXTextActivity= Build.VERSION_CODES.N) { binding.tvTips.text = Html.fromHtml( TranslationHelper.getTranslation()?.veloria_store_tips @@ -85,27 +89,27 @@ class VeStoreActivity : AIXTextActivity + if (typeOnClick != 1) { + coinAdapter?.currentPosition = -1 + coinAdapter?.notifyDataSetChanged() + coinBigAdapter?.currentPosition = -1 + coinBigAdapter?.notifyDataSetChanged() + } + typeOnClick = 1 + vipAdapter?.currentPosition = position + vipAdapter?.notifyDataSetChanged() + + setOnPayNowClick() + } coinAdapter?.setOnItemClickListener { adapter, view, position -> - if (typeOnClick == 1) { - if (bannerAdapter?.currentPosition!! >= 0) { - bannerAdapter?.notifyItemChanged(bannerAdapter?.currentPosition!!) - } - bannerAdapter?.oldPosition = -1 - bannerAdapter?.currentPosition = -1 + if (typeOnClick != 0) { + vipAdapter?.currentPosition = -1 + vipAdapter?.notifyDataSetChanged() + coinBigAdapter?.currentPosition = -1 + coinBigAdapter?.notifyDataSetChanged() } typeOnClick = 0 coinAdapter?.currentPosition = position @@ -139,50 +170,48 @@ class VeStoreActivity : AIXTextActivity - if (typeOnClick == 0) { + coinBigAdapter?.setOnItemClickListener { adapter, view, position -> + if (typeOnClick != 2) { + vipAdapter?.currentPosition = -1 + vipAdapter?.notifyDataSetChanged() coinAdapter?.currentPosition = -1 coinAdapter?.notifyDataSetChanged() } - if (bannerAdapter?.currentPosition!! >= 0) { - bannerAdapter?.oldPosition = bannerAdapter?.currentPosition!! - } - typeOnClick = 1 - bannerAdapter?.currentPosition = position - bannerAdapter?.notifyItemChanged(position) - if (bannerAdapter?.oldPosition!! >= 0) { - bannerAdapter?.notifyItemChanged(bannerAdapter?.oldPosition!!) - } + typeOnClick = 2 + coinBigAdapter?.currentPosition = position + coinBigAdapter?.notifyDataSetChanged() + setOnPayNowClick() } - - binding.bannerVip.addOnPageChangeListener(object : OnPageChangeListener { - override fun onPageScrolled( - position: Int, - positionOffset: Float, - positionOffsetPixels: Int - ) { + binding.tvRestore.setOnClickListener{ + singleOnClick { + if (RYAction.getOrder().isNotEmpty() + ) { + showLoading() + val string = RYAction.getOrder() + scope.launch { + flow { + for (item in string) { + emit(item) + } + } + .onEach { item -> + viewModel.setRestorePaid(item) + } + .debounce(500) + .collect {} + } + } else { + if (TranslationHelper.getTranslation() != null){ + TranslationHelper.getTranslation()?.veloria_no_restore?.let { it1 -> toast(it1) } + }else { + toast("No orders to restore") + } + } } + } - override fun onPageSelected(position: Int) { - val data = bannerAdapter?.getData(position) - data?.let { setVipContentText(it) } - - } - - override fun onPageScrollStateChanged(state: Int) { - } - - }) - - val itemData = bannerAdapter?.getData(0) - itemData?.let { setVipContentText(it) } - + initPayData() } fun setOnPayNowClick() { @@ -197,15 +226,26 @@ class VeStoreActivity : AIXTextActivity querySubVipProductDetails(it1) } - it.data.list_sub_vip.let { it1 -> querySubVipProductDetails(it1) } - it.data.list_coins.let { it1 -> queryInAppCoinsProductDetails(it1) } + } else { + binding.recyclerVip.visibility = View.GONE + } + if (it.data.list_coins.isNotEmpty()) { + val small = it.data.list_coins.filter { coins -> coins.size == "small" } + val big = it.data.list_coins.filter { coins -> coins.size == "big" } + if (small.isNotEmpty()) { + coinAdapter?.submitList(small) + binding.recyclerCoin.visibility = View.VISIBLE + } else { + binding.recyclerCoin.visibility = View.GONE + } + if (big.isNotEmpty()) { + coinBigAdapter?.submitList(big) + binding.recyclerCoinBig.visibility = View.VISIBLE + } else { + binding.recyclerCoinBig.visibility = View.GONE + } + if (small?.isNotEmpty() == true) { + small?.let { it1 -> queryInAppCoinsProductDetails(it1, "small") } + } + if (big?.isNotEmpty() == true) { + big?.let { it1 -> queryInAppCoinsProductDetails(it1, "big") } + } + binding.tvCoinTitle.visibility = View.VISIBLE + } else { + binding.recyclerCoin.visibility = View.GONE + binding.recyclerCoinBig.visibility = View.GONE + binding.tvCoinTitle.visibility = View.GONE + } } - hideLoading() } viewModel.createPayOrderData.observe(this) { @@ -240,8 +302,10 @@ class VeStoreActivity : AIXTextActivity getProduct(it1) } - } else { + } else if (typeOnClick == 1) { vipData?.android_template_id?.let { it1 -> getProduct(it1) } + } else { + coinsBigData?.android_template_id?.let { it1 -> getProduct(it1) } } } else { if (TranslationHelper.getTranslation() != null) { @@ -271,67 +335,38 @@ class VeStoreActivity : AIXTextActivity { - oneDate = TranslationHelper.getTranslation()?.veloria_week.toString() + viewModel.restorePaidData.observe(this){ + if (it != null) { + it.data?.order_code?.let { it1 -> RYAction.removeOrderString(it1) } + if (RYAction.getOrder().size == 0) { + if (TranslationHelper.getTranslation() != null) { + toast(TranslationHelper.getTranslation()?.veloria_google_pay_success.toString()) + } else { + toast(getString(R.string.ve_google_pay_success)) + } + viewModel.getUserInfo() + isBuy = true } - - "month" -> { - oneDate = TranslationHelper.getTranslation()?.veloria_month.toString() - } - - "quarter" -> { - oneDate = TranslationHelper.getTranslation()?.veloria_quarter.toString() - } - - "year" -> { - oneDate = TranslationHelper.getTranslation()?.veloria_year.toString() + }else { + if (TranslationHelper.getTranslation() != null) { + toast(TranslationHelper.getTranslation()?.veloria_network.toString()) + } else { + toast(getString(R.string.shapeSelected)) } + hideLoading() } - - val vipContent1 = TranslationHelper.replace( - TranslationHelper.getTranslation()?.veloria_store_no_ads.toString(), - "".plus(oneDate).plus("") - ) - binding.tvVipContent1.text = - Html.fromHtml(vipContent1, Html.FROM_HTML_MODE_LEGACY) - val vipContent2 = TranslationHelper.replace( - TranslationHelper.getTranslation()?.veloria_store_donate_coins.toString(), - data.send_coin_ttl.toString() - ) - binding.tvVipContent2.text = - Html.fromHtml(vipContent2, Html.FROM_HTML_MODE_LEGACY) - - } else { - val vipContent1 = - "Unlimited access to all series for 1 ".plus(data?.vip_type_key) - .plus(" (No Ads)") - binding.tvVipContent1.text = - Html.fromHtml(vipContent1, Html.FROM_HTML_MODE_LEGACY) - val vipContent2 = - "The donate coins will expire in ".plus(data.send_coin_ttl.toString()) - .plus(" days") - binding.tvVipContent2.text = - Html.fromHtml(vipContent2, Html.FROM_HTML_MODE_LEGACY) } } + private fun initPayData() { val purchasesUpdatedListener = PurchasesUpdatedListener { billingResult, purchases -> @@ -339,15 +374,20 @@ class VeStoreActivity : AIXTextActivity { for (purchase in purchases!!) { if (purchase.purchaseState == Purchase.PurchaseState.PURCHASED) { - if (typeOnClick == 0) { - consumePurchase(purchase) - } else { + if (typeOnClick == 1) { consumePurchaseSub(purchase) + } else { + consumePurchase(purchase) } } } } + BillingClient.BillingResponseCode.ITEM_ALREADY_OWNED -> { + queryAndConsumePurchases() + hideLoading() + } + BillingClient.BillingResponseCode.USER_CANCELED -> { if (TranslationHelper.getTranslation() != null) { toast(TranslationHelper.getTranslation()?.veloria_google_pay_canceled.toString()) @@ -451,7 +491,7 @@ class VeStoreActivity : AIXTextActivity + coinsList: List, + type: String ) { val productDetailsResponseListener = ProductDetailsResponseListener { billingResult, productDetailsList -> @@ -500,7 +541,11 @@ class VeStoreActivity : AIXTextActivity() @@ -623,12 +668,12 @@ class VeStoreActivity : AIXTextActivity val vePayBean = VePayBean( order_code, - if (typeOnClick == 0) coinsData?.id.toString() else vipData?.id.toString(), + if (typeOnClick == 0) coinsData?.id.toString() else coinsBigData?.id.toString(), YFHome.getPackageName(), - if (typeOnClick == 0) coinsData?.android_template_id.toString() else vipData?.android_template_id.toString(), + if (typeOnClick == 0) coinsData?.android_template_id.toString() else coinsBigData?.android_template_id.toString(), purchaseToken, purchaseData?.orderId.toString(), - if (typeOnClick == 0) coinsData?.price.toString() else vipData?.price.toString() + if (typeOnClick == 0) coinsData?.price.toString() else coinsBigData?.price.toString() ) payBeanReq = vePayBean if (billingResult.responseCode == BillingClient.BillingResponseCode.OK) { @@ -644,6 +689,18 @@ class VeStoreActivity : AIXTextActivity + if (billingResult.responseCode == BillingClient.BillingResponseCode.OK) { + for (purchase in purchaseList) { + consumePurchase(purchase) + } + } + } + } + + override fun onDestroy() { super.onDestroy() payBeanReq = null @@ -652,4 +709,8 @@ class VeStoreActivity : AIXTextActivity?>() + val versionControlData: MutableLiveData?> get() = _versionControlLiveData + + fun getVersionControl() { + repository.getVersionControl().observeForever { result -> + _versionControlLiveData.value = result.getOrNull() + } + } + } \ No newline at end of file diff --git a/app/src/main/java/com/veloria/now/shortapp/subtractionCroll/bidirectional/coordinate/UKBottomCollection.kt b/app/src/main/java/com/veloria/now/shortapp/subtractionCroll/bidirectional/coordinate/UKBottomCollection.kt index 18f0de2..b92b272 100644 --- a/app/src/main/java/com/veloria/now/shortapp/subtractionCroll/bidirectional/coordinate/UKBottomCollection.kt +++ b/app/src/main/java/com/veloria/now/shortapp/subtractionCroll/bidirectional/coordinate/UKBottomCollection.kt @@ -6,7 +6,9 @@ import com.veloria.now.shortapp.newsletter.SStringsHelp import com.veloria.now.shortapp.texturedAsink.PURLockBean import com.veloria.now.shortapp.texturedAsink.XAboutBean import com.veloria.now.shortapp.highbits.qscaleqlog.PDeteleResource +import com.veloria.now.shortapp.texturedAsink.DoLoginBean import com.veloria.now.shortapp.texturedAsink.KFAFavoritesInterceptorBean +import com.veloria.now.shortapp.texturedAsink.LoginDataBean import com.veloria.now.shortapp.texturedAsink.VeBuyVideoBean import com.veloria.now.shortapp.texturedAsink.VeDetailsRecommendBean import com.veloria.now.shortapp.texturedAsink.VeRevolutionsBean @@ -109,4 +111,16 @@ private var moreSecond_sum: Int = 6970 } } + fun setLeaveApp() { + repository.setLeaveApp().observeForever {} + } + + private val _loginLiveData = MutableLiveData?>() + val loginLiveData: MutableLiveData?> get() = _loginLiveData + fun setDoLogin(loginDataBean: LoginDataBean) { + repository.setDoLogin(loginDataBean).observeForever { result -> + _loginLiveData.value = result.getOrNull() + } + } + } diff --git a/app/src/main/java/com/veloria/now/shortapp/subtractionCroll/bidirectional/coordinate/VeFeedbackViewModel.kt b/app/src/main/java/com/veloria/now/shortapp/subtractionCroll/bidirectional/coordinate/VeFeedbackViewModel.kt index 165c732..2c5db7f 100644 --- a/app/src/main/java/com/veloria/now/shortapp/subtractionCroll/bidirectional/coordinate/VeFeedbackViewModel.kt +++ b/app/src/main/java/com/veloria/now/shortapp/subtractionCroll/bidirectional/coordinate/VeFeedbackViewModel.kt @@ -4,7 +4,11 @@ import androidx.lifecycle.MutableLiveData import com.veloria.now.shortapp.highbits.qscaleqlog.ANotifications import com.veloria.now.shortapp.newsletter.SStringsHelp import com.veloria.now.shortapp.newsletter.TStore +import com.veloria.now.shortapp.texturedAsink.DoLoginBean +import com.veloria.now.shortapp.texturedAsink.LoginDataBean import com.veloria.now.shortapp.texturedAsink.VeNoticeNumBean +import com.veloria.now.shortapp.texturedAsink.VeUploadNotificationBean +import com.veloria.now.shortapp.texturedAsink.VeUploadNotificationDataBean class VeFeedbackViewModel : SStringsHelp() { @@ -19,4 +23,42 @@ class VeFeedbackViewModel : SStringsHelp() { _noticeNumLiveData.value = result.getOrNull() } } + + + private val _notificationLiveData = MutableLiveData?>() + val notificationLiveData: MutableLiveData?> get() = _notificationLiveData + fun setUploadNoticeStatus(veUploadNotificationBean: VeUploadNotificationBean) { + repository.setUploadNoticeStatus(veUploadNotificationBean) + .observeForever { result -> + _notificationLiveData.value = result.getOrNull() + } + } + + private val firebaseTokenLiveData = MutableLiveData?>() + fun setFirebaseToken( + fcm_token: String + ) { + repository.setFirebaseToken(fcm_token).observeForever { result -> + firebaseTokenLiveData.value = result.getOrNull() + } + } + + private val _openNotifyLiveData = MutableLiveData?>() + val openNotifyLiveData: MutableLiveData?> get() = _openNotifyLiveData + fun setOpenNotify() { + repository.setOpenNotify().observeForever { result -> + _openNotifyLiveData.value = result.getOrNull() + } + } + + fun setLeaveApp() { + repository.setLeaveApp().observeForever {} + } + private val _loginLiveData = MutableLiveData?>() + val loginLiveData: MutableLiveData?> get() = _loginLiveData + fun setDoLogin(loginDataBean: LoginDataBean) { + repository.setDoLogin(loginDataBean).observeForever { result -> + _loginLiveData.value = result.getOrNull() + } + } } \ No newline at end of file diff --git a/app/src/main/java/com/veloria/now/shortapp/subtractionCroll/bidirectional/coordinate/VeStoreViewModel.kt b/app/src/main/java/com/veloria/now/shortapp/subtractionCroll/bidirectional/coordinate/VeStoreViewModel.kt index a8da23c..e193688 100644 --- a/app/src/main/java/com/veloria/now/shortapp/subtractionCroll/bidirectional/coordinate/VeStoreViewModel.kt +++ b/app/src/main/java/com/veloria/now/shortapp/subtractionCroll/bidirectional/coordinate/VeStoreViewModel.kt @@ -63,4 +63,13 @@ class VeStoreViewModel : SStringsHelp() { repository.getUserInfo().observeForever { result -> _userInfo.value = result.getOrNull() } + + private val restorePaidLiveData = MutableLiveData?>() + val restorePaidData: MutableLiveData?> get() = restorePaidLiveData + fun setRestorePaid(vePayBean: VePayBean?) { + repository.setGooglePaid(vePayBean).observeForever { result -> + restorePaidLiveData.value = result.getOrNull() + } + } + } \ No newline at end of file diff --git a/app/src/main/java/com/veloria/now/shortapp/subtractionCroll/modificationsPretch/GFFavorites.kt b/app/src/main/java/com/veloria/now/shortapp/subtractionCroll/modificationsPretch/GFFavorites.kt index b821ffc..ce91f0b 100644 --- a/app/src/main/java/com/veloria/now/shortapp/subtractionCroll/modificationsPretch/GFFavorites.kt +++ b/app/src/main/java/com/veloria/now/shortapp/subtractionCroll/modificationsPretch/GFFavorites.kt @@ -7,21 +7,20 @@ import androidx.recyclerview.widget.RecyclerView import com.bumptech.glide.Glide import com.chad.library.adapter4.BaseQuickAdapter import com.veloria.now.shortapp.R +import com.veloria.now.shortapp.civil.TranslationHelper +import com.veloria.now.shortapp.civil.getTimeAgoDetailed +import com.veloria.now.shortapp.databinding.IDisplayTrendsBinding import com.veloria.now.shortapp.newsletter.XNBackground import com.veloria.now.shortapp.texturedAsink.TMainExtractionBean -import com.veloria.now.shortapp.databinding.IDisplayTrendsBinding -import com.veloria.now.shortapp.civil.getTimeAgoDetailed -import kotlin.math.min -import kotlin.math.max class GFFavorites : BaseQuickAdapter() { -@Volatile - var default_0mTabBingeSum: Long = 3471L -@Volatile - var freeRetrofitMark: Int = 5934 + @Volatile + var default_0mTabBingeSum: Long = 3471L + @Volatile + var freeRetrofitMark: Int = 5934 var collectionOnClick: CollectionOnClick? = null @@ -38,90 +37,96 @@ class GFFavorites : ), ) : RecyclerView.ViewHolder(binding.root) - -private fun playDramaAppendModeForeverTest(lifecycleHttp: MutableList, secondsStarted: MutableMap) :MutableMap { - var durationFailure:MutableList = mutableListOf() - var setupMin__6:MutableList = mutableListOf() - var toastCurrent:MutableMap = mutableMapOf() - println(toastCurrent) - var correspondentsTableinit:MutableMap = mutableMapOf() - for(clips in toastCurrent) { - correspondentsTableinit.put("multiframe", 0.0f) - -} - return correspondentsTableinit + private fun playDramaAppendModeForeverTest( + lifecycleHttp: MutableList, + secondsStarted: MutableMap + ): MutableMap { + var durationFailure: MutableList = mutableListOf() + var setupMin__6: MutableList = mutableListOf() + var toastCurrent: MutableMap = mutableMapOf() + println(toastCurrent) + var correspondentsTableinit: MutableMap = mutableMapOf() + for (clips in toastCurrent) { + correspondentsTableinit.put("multiframe", 0.0f) -} + } + + return correspondentsTableinit + + } -override fun onCreateViewHolder(context: Context, parent: ViewGroup, viewType: Int): VH { -var scheduling_r = mutableListOf() + override fun onCreateViewHolder(context: Context, parent: ViewGroup, viewType: Int): VH { + var scheduling_r = mutableListOf() -var elisionUnhighlight = this.playDramaAppendModeForeverTest(scheduling_r,mutableMapOf()) + var elisionUnhighlight = + this.playDramaAppendModeForeverTest(scheduling_r, mutableMapOf()) - var elisionUnhighlight_len:Int = elisionUnhighlight.size - for(object_i in elisionUnhighlight) { - println(object_i.key) - println(object_i.value) - } + var elisionUnhighlight_len: Int = elisionUnhighlight.size + for (object_i in elisionUnhighlight) { + println(object_i.key) + println(object_i.value) + } -println(elisionUnhighlight) + println(elisionUnhighlight) - var dashboardI:String = "rscc" - if (dashboardI.length > 171) {} - println(dashboardI) + var dashboardI: String = "rscc" + if (dashboardI.length > 171) { + } + println(dashboardI) return VH(parent) } - -private fun liveOutputCallAnyEpisodeApplication(chooseSeries: Long) :Long { - var responseSeekbar = mutableListOf() - println(responseSeekbar) - var eventFree:Double = 1094.0 - var seekbarHttp:String = "kanna" - println(seekbarHttp) - var iconSkewed:Int = 9958 - println(iconSkewed) - var armthFreadSqrt:Long = 5210L - eventFree = eventFree - iconSkewed -= iconSkewed - return armthFreadSqrt + private fun liveOutputCallAnyEpisodeApplication(chooseSeries: Long): Long { + var responseSeekbar = mutableListOf() + println(responseSeekbar) + var eventFree: Double = 1094.0 + var seekbarHttp: String = "kanna" + println(seekbarHttp) + var iconSkewed: Int = 9958 + println(iconSkewed) + var armthFreadSqrt: Long = 5210L + eventFree = eventFree + iconSkewed -= iconSkewed -} + return armthFreadSqrt + + } -override fun onBindViewHolder( + override fun onBindViewHolder( holder: VH, position: Int, item: TMainExtractionBean.DataListBean? ) { -var splittingSigning:Long = this.liveOutputCallAnyEpisodeApplication(1455L) + var splittingSigning: Long = this.liveOutputCallAnyEpisodeApplication(1455L) - var interpolator_splittingSigning: Int = splittingSigning.toInt() - if (splittingSigning >= 2L) { - println(splittingSigning) - } + var interpolator_splittingSigning: Int = splittingSigning.toInt() + if (splittingSigning >= 2L) { + println(splittingSigning) + } -println(splittingSigning) + println(splittingSigning) - var loading6:Int = 1947 - if (loading6 > 87) {} + var loading6: Int = 1947 + if (loading6 > 87) { + } -this.default_0mTabBingeSum = 9956L + this.default_0mTabBingeSum = 9956L - this.freeRetrofitMark = 4850 + this.freeRetrofitMark = 4850 if (null != item) { - var transparent1:Boolean = true + var transparent1: Boolean = true Glide.with(XNBackground.instance) @@ -129,54 +134,75 @@ this.default_0mTabBingeSum = 9956L .placeholder(R.mipmap.collection_trending_recommend) .error(R.mipmap.collection_trending_recommend) .into(holder.binding.ivImage2) - var factoryu:Int = 4239 - if (factoryu > 62) {} + var factoryu: Int = 4239 + if (factoryu > 62) { + } holder.binding.tvName2.text = item.name - var progressJ:Long = 3354L - while (progressJ >= 27L) { break } + var progressJ: Long = 3354L + while (progressJ >= 27L) { + break + } + + if (TranslationHelper.getTranslation() != null) { + holder.binding.tvSeries.text = TranslationHelper.replace( + TranslationHelper.getTranslation()?.mireo_EP.toString(), + item.current_episode + ) + holder.binding.tvSeriesAll.text = "/".plus( + TranslationHelper.replace( + TranslationHelper.getTranslation()?.veloria_all_episodes.toString(), + item.episode_total.toString() + ) + ) + } else { + holder.binding.tvSeries.text = + "EP.".plus(item.current_episode) + holder.binding.tvSeriesAll.text = "/EP.".plus(item.episode_total) + } + var uploadp: Int = 6616 + while (uploadp >= 157) { + break + } - - holder.binding.tvSeries.text = - "EP.".plus(item.current_episode) - var uploadp:Int = 6616 - while (uploadp >= 157) { break } - - - holder.binding.tvSeriesAll.text = "/EP.".plus(item.episode_total) - var indexJ:Long = 6061L - if (indexJ > 169L) {} + var indexJ: Long = 6061L + if (indexJ > 169L) { + } if (item.is_collect == 1) { - var login_:Float = 4781.0f - while (login_ >= 30.0f) { break } + var login_: Float = 4781.0f + while (login_ >= 30.0f) { + break + } holder.binding.ivCollection.setImageResource(R.mipmap.detele_rewards_episode) } else { - var tabA:Float = 2603.0f - if (tabA <= 39.0f) {} + var tabA: Float = 2603.0f + if (tabA <= 39.0f) { + } holder.binding.ivCollection.setImageResource(R.mipmap.episode_utils) } if (!item.updated_at.isNullOrEmpty()) { - var outV:Float = 6386.0f - if (outV == 10.0f) {} + var outV: Float = 6386.0f + if (outV == 10.0f) { + } - holder.binding.tvTime.text = getTimeAgoDetailed(item.updated_at) + holder.binding.tvTime.text = item.updated_at } holder.binding.ivCollection.setOnClickListener { - var processa:Boolean = false - println(processa) + var processa: Boolean = false + println(processa) item.let { it1 -> collectionOnClick?.collection(position, it1) } diff --git a/app/src/main/java/com/veloria/now/shortapp/subtractionCroll/modificationsPretch/VeCustomerBuyRecordAdapter.kt b/app/src/main/java/com/veloria/now/shortapp/subtractionCroll/modificationsPretch/VeCustomerBuyRecordAdapter.kt index 3bb40cc..6ceb9b9 100644 --- a/app/src/main/java/com/veloria/now/shortapp/subtractionCroll/modificationsPretch/VeCustomerBuyRecordAdapter.kt +++ b/app/src/main/java/com/veloria/now/shortapp/subtractionCroll/modificationsPretch/VeCustomerBuyRecordAdapter.kt @@ -30,7 +30,11 @@ class VeCustomerBuyRecordAdapter : item: VeCustomerBuyRecordsBean.DataBean? ) { if (null != item) { - holder.binding.tvBalance.text = "EP.".plus(item.episode).plus(" ").plus(item.name) + if (TranslationHelper.getTranslation()!=null){ + holder.binding.tvBalance.text = TranslationHelper.replace(TranslationHelper.getTranslation()?.mireo_EP.toString(),item.episode.toString()).plus(" ").plus(item.name) + }else{ + holder.binding.tvBalance.text = "EP.".plus(item.episode).plus(" ").plus(item.name) + } holder.binding.tvName.text = TranslationHelper.getTranslation() ?.let { TranslationHelper.getTranslation()?.veloria_purchase_single_episode } ?: "Purchase Single Episode" diff --git a/app/src/main/java/com/veloria/now/shortapp/subtractionCroll/modificationsPretch/VeStoreCoinAdapter.kt b/app/src/main/java/com/veloria/now/shortapp/subtractionCroll/modificationsPretch/VeStoreCoinAdapter.kt index 5605d01..41a2308 100644 --- a/app/src/main/java/com/veloria/now/shortapp/subtractionCroll/modificationsPretch/VeStoreCoinAdapter.kt +++ b/app/src/main/java/com/veloria/now/shortapp/subtractionCroll/modificationsPretch/VeStoreCoinAdapter.kt @@ -7,6 +7,7 @@ import android.view.ViewGroup import androidx.recyclerview.widget.RecyclerView import com.chad.library.adapter4.BaseQuickAdapter import com.veloria.now.shortapp.R +import com.veloria.now.shortapp.civil.TranslationHelper import com.veloria.now.shortapp.databinding.ItemVeStoreCoinBinding import com.veloria.now.shortapp.texturedAsink.VePaySettingsBean import kotlin.math.floor @@ -36,7 +37,15 @@ class VeStoreCoinAdapter : holder.binding.tvCoins.text = "+".plus(item.coins.toString()) holder.binding.tvPrice.text = item.price_google if (item.send_coins > 0) { - holder.binding.tvBonus.text = "+".plus(item.send_coins).plus(" Bonus") + if (TranslationHelper.getTranslation() != null) { + holder.binding.tvBonus.text = TranslationHelper.replace( + TranslationHelper.getTranslation()?.veloria_bonus_count_text.toString(), + item.send_coins.toString() + ) + + } else { + holder.binding.tvBonus.text = "+".plus(item.send_coins).plus(" Bonus") + } } else { holder.binding.tvBonus.text = "" } @@ -53,7 +62,7 @@ class VeStoreCoinAdapter : } else { holder.binding.tvSelect.visibility = View.GONE - holder.binding.root.setBackgroundResource(R.drawable.bg_store_coin_bg) + holder.binding.root.setBackgroundResource(R.mipmap.bg_store_coin_bg) } val sendCoins = item?.send_coins?.toDouble() if (sendCoins != null) { diff --git a/app/src/main/java/com/veloria/now/shortapp/subtractionCroll/modificationsPretch/VeStoreCoinBigAdapter.kt b/app/src/main/java/com/veloria/now/shortapp/subtractionCroll/modificationsPretch/VeStoreCoinBigAdapter.kt new file mode 100644 index 0000000..23e5e6b --- /dev/null +++ b/app/src/main/java/com/veloria/now/shortapp/subtractionCroll/modificationsPretch/VeStoreCoinBigAdapter.kt @@ -0,0 +1,82 @@ +package com.veloria.now.shortapp.subtractionCroll.modificationsPretch + +import android.content.Context +import android.view.LayoutInflater +import android.view.View +import android.view.ViewGroup +import androidx.recyclerview.widget.RecyclerView +import com.chad.library.adapter4.BaseQuickAdapter +import com.veloria.now.shortapp.R +import com.veloria.now.shortapp.civil.TranslationHelper +import com.veloria.now.shortapp.databinding.ItemVeStoreCoinBigBinding +import com.veloria.now.shortapp.texturedAsink.VePaySettingsBean +import kotlin.math.floor + +class VeStoreCoinBigAdapter : + BaseQuickAdapter() { + + var currentPosition = -1 + + class VH( + parent: ViewGroup, + val binding: ItemVeStoreCoinBigBinding = ItemVeStoreCoinBigBinding.inflate( + LayoutInflater.from(parent.context), parent, false + ), + ) : RecyclerView.ViewHolder(binding.root) + + override fun onCreateViewHolder(context: Context, parent: ViewGroup, viewType: Int): VH { + return VH(parent) + } + + override fun onBindViewHolder( + holder: VH, + position: Int, + item: VePaySettingsBean.CoinsBean? + ) { + if (null != item) { + holder.binding.tvCoins.text = "+".plus(item.coins.toString()) + holder.binding.tvPrice.text = item.price_google + if (item.send_coins > 0) { + if (TranslationHelper.getTranslation() != null) { + holder.binding.tvBonus.text = TranslationHelper.replace( + TranslationHelper.getTranslation()?.veloria_bonus_count_text.toString(), + item.send_coins.toString() + ) + } else { + holder.binding.tvBonus.text = "+".plus(item.send_coins).plus(" Bonus") + } + } else { + holder.binding.tvBonus.text = "" + } + if (item.corner_marker.isNotEmpty()) { + holder.binding.tvHot.visibility = View.VISIBLE + } else { + holder.binding.tvHot.visibility = View.INVISIBLE + } + if (currentPosition == position) { + holder.binding.tvSelect.visibility = View.VISIBLE + holder.binding.root.setBackgroundResource(R.drawable.bg_store_coin_on) + } else { + holder.binding.tvSelect.visibility = View.GONE + holder.binding.root.setBackgroundResource(R.drawable.bg_store_coin_off) + } + val sendCoins = item?.send_coins?.toDouble() + if (sendCoins != null) { + if (sendCoins > 0) { + val coins = item?.coins?.toDouble() + val let = coins?.let { sendCoins?.div(it) } + val times = let?.times(100) + if (times != null) { + val floor = floor(times).toInt() + holder.binding.tvCorner.text = "+".plus(floor).plus("%") + holder.binding.tvCorner.visibility = View.VISIBLE + } + } else { + holder.binding.tvCorner.visibility = View.INVISIBLE + } + } + + } + + } +} \ No newline at end of file diff --git a/app/src/main/java/com/veloria/now/shortapp/subtractionCroll/modificationsPretch/VeStoreVipAdapter.kt b/app/src/main/java/com/veloria/now/shortapp/subtractionCroll/modificationsPretch/VeStoreVipAdapter.kt index 8fc9f48..aa4676a 100644 --- a/app/src/main/java/com/veloria/now/shortapp/subtractionCroll/modificationsPretch/VeStoreVipAdapter.kt +++ b/app/src/main/java/com/veloria/now/shortapp/subtractionCroll/modificationsPretch/VeStoreVipAdapter.kt @@ -36,15 +36,39 @@ class VeStoreVipAdapter : if (null != item) { holder.binding.tvDay.text = item.brief holder.binding.tvMoney.text = item.price_google - holder.binding.tvMoneyDay.text = "/".plus(item.vip_type_key) + holder.binding.tvMoneyDay.text = "/".plus(item.short_type) + holder.binding.tvDescription.text = item.description + if (TranslationHelper.getTranslation() != null) { + holder.binding.tvInfo.text = TranslationHelper.getTranslation()?.veloria_store_auto_renew + } if ((item.send_coins ?: 0) > 0) { holder.binding.tvExtra.text = - "+".plus(TranslationHelper.getTranslation()?.let { TranslationHelper.getTranslation()?.veloria_extra } ?: "Extra").plus(" ").plus(item.send_coins) + "+".plus( + TranslationHelper.getTranslation() + ?.let { TranslationHelper.getTranslation()?.veloria_extra } ?: "Extra") + .plus(" ").plus(item.send_coins) + + if (TranslationHelper.getTranslation() != null) { + holder.binding.tvExpire.text = + TranslationHelper.getTranslation()?.veloria_store_donate_coins_ios?.let { + TranslationHelper.replace( + it, + item.send_coin_ttl.toString() + ) + } + } else { + holder.binding.tvExpire.text = + "The donate coins will expire in ".plus(item.send_coin_ttl.toString()) + .plus(" days") + } holder.binding.tvExtra.visibility = View.VISIBLE + holder.binding.tvExpire.visibility = View.VISIBLE } else { holder.binding.tvExtra.visibility = View.GONE + holder.binding.tvExpire.visibility = View.GONE } + if (currentPosition == position) { holder.binding.tvSelect.visibility = View.VISIBLE } else { @@ -53,40 +77,56 @@ class VeStoreVipAdapter : when (item.vip_type_key) { - "week" -> { + "month" -> { holder.binding.root.setBackgroundResource(R.mipmap.iv_store_vip_bg_1) + holder.binding.tvDay.setTextColor(Color.parseColor("#647DA7")) + holder.binding.tvMoney.setTextColor(Color.parseColor("#647DA7")) + holder.binding.tvMoneyDay.setTextColor(Color.parseColor("#647DA7")) + holder.binding.tvExtra.setTextColor(Color.parseColor("#214170")) + holder.binding.tvExtra.setBackgroundResource(R.drawable.bg_store_vip_1) + holder.binding.tvDescription.setTextColor(Color.parseColor("#303962")) + holder.binding.tvDescription.setBackgroundResource(R.drawable.bg_store_vip_text_1) + holder.binding.tvInfo.setTextColor(Color.parseColor("#8790B7")) + holder.binding.tvExpire.setTextColor(Color.parseColor("#8790B7")) + } + + "week" -> { + holder.binding.root.setBackgroundResource(R.mipmap.iv_store_vip_bg_2) holder.binding.tvDay.setTextColor(Color.parseColor("#64A3A7")) holder.binding.tvMoney.setTextColor(Color.parseColor("#64A3A7")) holder.binding.tvMoneyDay.setTextColor(Color.parseColor("#64A3A7")) - holder.binding.tvExtra.setTextColor(Color.parseColor("#416767")) - holder.binding.tvExtra.setBackgroundResource(R.drawable.bg_store_vip_1) - } - - "month" -> { - holder.binding.root.setBackgroundResource(R.mipmap.iv_store_vip_bg_2) - holder.binding.tvDay.setTextColor(Color.parseColor("#9C7565")) - holder.binding.tvMoney.setTextColor(Color.parseColor("#9C7565")) - holder.binding.tvMoneyDay.setTextColor(Color.parseColor("#9C7565")) - holder.binding.tvExtra.setTextColor(Color.parseColor("#573D31")) + holder.binding.tvExtra.setTextColor(Color.parseColor("#16706A")) holder.binding.tvExtra.setBackgroundResource(R.drawable.bg_store_vip_2) + holder.binding.tvDescription.setTextColor(Color.parseColor("#416767")) + holder.binding.tvDescription.setBackgroundResource(R.drawable.bg_store_vip_text_2) + holder.binding.tvInfo.setTextColor(Color.parseColor("#8AAEA6")) + holder.binding.tvExpire.setTextColor(Color.parseColor("#8AAEA6")) } "quarter" -> { holder.binding.root.setBackgroundResource(R.mipmap.iv_store_vip_bg_3) - holder.binding.tvDay.setTextColor(Color.parseColor("#647DA7")) - holder.binding.tvMoney.setTextColor(Color.parseColor("#647DA7")) - holder.binding.tvMoneyDay.setTextColor(Color.parseColor("#647DA7")) - holder.binding.tvExtra.setTextColor(Color.parseColor("#303962")) + holder.binding.tvDay.setTextColor(Color.parseColor("#7869FF")) + holder.binding.tvMoney.setTextColor(Color.parseColor("#7869FF")) + holder.binding.tvMoneyDay.setTextColor(Color.parseColor("#7869FF")) + holder.binding.tvExtra.setTextColor(Color.parseColor("#510087")) holder.binding.tvExtra.setBackgroundResource(R.drawable.bg_store_vip_3) + holder.binding.tvDescription.setTextColor(Color.parseColor("#5F1EB9")) + holder.binding.tvDescription.setBackgroundResource(R.drawable.bg_store_vip_text_3) + holder.binding.tvInfo.setTextColor(Color.parseColor("#A395D9")) + holder.binding.tvExpire.setTextColor(Color.parseColor("#A395D9")) } "year" -> { holder.binding.root.setBackgroundResource(R.mipmap.iv_store_vip_bg_4) - holder.binding.tvDay.setTextColor(Color.parseColor("#9C6586")) - holder.binding.tvMoney.setTextColor(Color.parseColor("#9C6586")) - holder.binding.tvMoneyDay.setTextColor(Color.parseColor("#9C6586")) - holder.binding.tvExtra.setTextColor(Color.parseColor("#674162")) + holder.binding.tvDay.setTextColor(Color.parseColor("#573D31")) + holder.binding.tvMoney.setTextColor(Color.parseColor("#573D31")) + holder.binding.tvMoneyDay.setTextColor(Color.parseColor("#573D31")) + holder.binding.tvExtra.setTextColor(Color.parseColor("#683D00")) holder.binding.tvExtra.setBackgroundResource(R.drawable.bg_store_vip_4) + holder.binding.tvDescription.setTextColor(Color.parseColor("#573D31")) + holder.binding.tvDescription.setBackgroundResource(R.drawable.bg_store_vip_text_4) + holder.binding.tvInfo.setTextColor(Color.parseColor("#AC978D")) + holder.binding.tvExpire.setTextColor(Color.parseColor("#AC978D")) } } } diff --git a/app/src/main/java/com/veloria/now/shortapp/subtractionCroll/modificationsPretch/VeVipSplashAdapter.kt b/app/src/main/java/com/veloria/now/shortapp/subtractionCroll/modificationsPretch/VeVipSplashAdapter.kt new file mode 100644 index 0000000..4997625 --- /dev/null +++ b/app/src/main/java/com/veloria/now/shortapp/subtractionCroll/modificationsPretch/VeVipSplashAdapter.kt @@ -0,0 +1,100 @@ +package com.veloria.now.shortapp.subtractionCroll.modificationsPretch + +import android.content.Context +import android.graphics.Color +import android.view.LayoutInflater +import android.view.View +import android.view.ViewGroup +import androidx.recyclerview.widget.RecyclerView +import com.chad.library.adapter4.BaseQuickAdapter +import com.veloria.now.shortapp.R +import com.veloria.now.shortapp.civil.TranslationHelper +import com.veloria.now.shortapp.databinding.ItemVeStoreVipBinding +import com.veloria.now.shortapp.databinding.ItemVeVipSplashBinding +import com.veloria.now.shortapp.texturedAsink.VePaySettingsBean + +class VeVipSplashAdapter : + BaseQuickAdapter() { + + var currentPosition = -1 + + class VH( + parent: ViewGroup, + val binding: ItemVeVipSplashBinding = ItemVeVipSplashBinding.inflate( + LayoutInflater.from(parent.context), parent, false + ), + ) : RecyclerView.ViewHolder(binding.root) + + override fun onCreateViewHolder(context: Context, parent: ViewGroup, viewType: Int): VH { + return VH(parent) + } + + override fun onBindViewHolder( + holder: VH, + position: Int, + item: VePaySettingsBean.VipBean? + ) { + if (null != item) { + holder.binding.tvMoney.text = item.price_google + holder.binding.tvMoneyDay.text = "/".plus(item.short_type) + if ((item.send_coins ?: 0) > 0) { + holder.binding.tvExtra.text = + "+".plus( + TranslationHelper.getTranslation() + ?.let { TranslationHelper.getTranslation()?.veloria_extra } ?: "Extra") + .plus(" ").plus(item.send_coins) + + holder.binding.tvExtra.visibility = View.VISIBLE + } else { + holder.binding.tvExtra.visibility = View.GONE + } + if (position == 0){ + holder.binding.tvHot.visibility = View.VISIBLE + }else { + holder.binding.tvHot.visibility = View.GONE + } + + if (currentPosition == position) { + holder.binding.tvSelect.visibility = View.VISIBLE + } else { + holder.binding.tvSelect.visibility = View.GONE + } + + + when (item.vip_type_key) { + "month" -> { + holder.binding.root.setBackgroundResource(R.mipmap.iv_dialog_vip_splash_vip_1) + holder.binding.tvMoney.setTextColor(Color.parseColor("#414867")) + holder.binding.tvMoneyDay.setTextColor(Color.parseColor("#414867")) + holder.binding.tvExtra.setTextColor(Color.parseColor("#303962")) + holder.binding.tvExtra.setBackgroundResource(R.drawable.bg_store_vip_text_1) + } + + "week" -> { + holder.binding.root.setBackgroundResource(R.mipmap.iv_dialog_vip_splash_vip_2) + holder.binding.tvMoney.setTextColor(Color.parseColor("#416767")) + holder.binding.tvMoneyDay.setTextColor(Color.parseColor("#416767")) + holder.binding.tvExtra.setTextColor(Color.parseColor("#416767")) + holder.binding.tvExtra.setBackgroundResource(R.drawable.bg_store_vip_text_2) + } + + "quarter" -> { + holder.binding.root.setBackgroundResource(R.mipmap.iv_dialog_vip_splash_vip_3) + holder.binding.tvMoney.setTextColor(Color.parseColor("#5F1EB9")) + holder.binding.tvMoneyDay.setTextColor(Color.parseColor("#5F1EB9")) + holder.binding.tvExtra.setTextColor(Color.parseColor("#5F1EB9")) + holder.binding.tvExtra.setBackgroundResource(R.drawable.bg_store_vip_text_3) + } + + "year" -> { + holder.binding.root.setBackgroundResource(R.mipmap.iv_dialog_vip_splash_vip_4) + holder.binding.tvMoney.setTextColor(Color.parseColor("#573D31")) + holder.binding.tvMoneyDay.setTextColor(Color.parseColor("#573D31")) + holder.binding.tvExtra.setTextColor(Color.parseColor("#573D31")) + holder.binding.tvExtra.setBackgroundResource(R.drawable.bg_store_vip_text_4) + } + } + } + + } +} \ No newline at end of file diff --git a/app/src/main/java/com/veloria/now/shortapp/texturedAsink/VeTranslationBean.kt b/app/src/main/java/com/veloria/now/shortapp/texturedAsink/VeTranslationBean.kt index 5d92cc7..c939030 100644 --- a/app/src/main/java/com/veloria/now/shortapp/texturedAsink/VeTranslationBean.kt +++ b/app/src/main/java/com/veloria/now/shortapp/texturedAsink/VeTranslationBean.kt @@ -16,6 +16,19 @@ class VeTranslationBean( ) data class Translation( + val veloria_update_title : String, + val veloria_update_now : String, + val veloria_no_restore : String, + val veloria_store_donate_coins_ios : String, + val veloria_coin_buy_title : String, + val mireo_EP : String, + val veloria_try_again : String, + val veloria_network_error_1 : String, + val veloria_search_results : String, + val veloria_watch_now : String, + val veloria_detail_recommand_title : String, + val veloria_bonus_count_text : String, + val veloria_donate_expire : String, val veloria_open_notice_at_watch_video : String, val veloria_allow : String, val veloria_open_notice_alert_text : String, @@ -80,6 +93,7 @@ class VeTranslationBean( val veloria_recersal_of_fate : String, val veloria_extra : String, val veloria_store_tips : String, + val veloria_unlock : String, val veloria_your_coins : String, val veloria_get_more_coins : String, val veloria_buy_now : String, @@ -115,6 +129,7 @@ class VeTranslationBean( val veloria_order_record : String, val veloria_rewards : String, val veloria_store : String, + val veloria_restore : String, val veloria_wallet : String, val veloria_bonus : String, val veloria_coins : String, diff --git a/app/src/main/java/com/veloria/now/shortapp/texturedAsink/VersionControlBean.kt b/app/src/main/java/com/veloria/now/shortapp/texturedAsink/VersionControlBean.kt new file mode 100644 index 0000000..359504a --- /dev/null +++ b/app/src/main/java/com/veloria/now/shortapp/texturedAsink/VersionControlBean.kt @@ -0,0 +1,7 @@ +package com.veloria.now.shortapp.texturedAsink + +class VersionControlBean ( + val description: String, + val version_code: String, + val version_name: String +) \ No newline at end of file diff --git a/app/src/main/res/drawable/bg_coin_big_right.xml b/app/src/main/res/drawable/bg_coin_big_right.xml new file mode 100644 index 0000000..adc0a43 --- /dev/null +++ b/app/src/main/res/drawable/bg_coin_big_right.xml @@ -0,0 +1,5 @@ + + + + + \ No newline at end of file diff --git a/app/src/main/res/drawable/bg_coin_left_big.xml b/app/src/main/res/drawable/bg_coin_left_big.xml new file mode 100644 index 0000000..560eee8 --- /dev/null +++ b/app/src/main/res/drawable/bg_coin_left_big.xml @@ -0,0 +1,5 @@ + + + + + \ No newline at end of file diff --git a/app/src/main/res/drawable/bg_coin_right.xml b/app/src/main/res/drawable/bg_coin_right.xml index c94b818..5a2fe40 100644 --- a/app/src/main/res/drawable/bg_coin_right.xml +++ b/app/src/main/res/drawable/bg_coin_right.xml @@ -1,5 +1,5 @@ - + \ No newline at end of file diff --git a/app/src/main/res/drawable/bg_coin_right_hot.xml b/app/src/main/res/drawable/bg_coin_right_hot.xml new file mode 100644 index 0000000..f64eb6e --- /dev/null +++ b/app/src/main/res/drawable/bg_coin_right_hot.xml @@ -0,0 +1,5 @@ + + + + + \ No newline at end of file diff --git a/app/src/main/res/drawable/bg_store_coin_money_bottom.xml b/app/src/main/res/drawable/bg_store_coin_money_bottom.xml new file mode 100644 index 0000000..40b0530 --- /dev/null +++ b/app/src/main/res/drawable/bg_store_coin_money_bottom.xml @@ -0,0 +1,5 @@ + + + + + \ No newline at end of file diff --git a/app/src/main/res/drawable/bg_store_coin_money_bottom_big.xml b/app/src/main/res/drawable/bg_store_coin_money_bottom_big.xml new file mode 100644 index 0000000..85c70f9 --- /dev/null +++ b/app/src/main/res/drawable/bg_store_coin_money_bottom_big.xml @@ -0,0 +1,11 @@ + + + + + + + + + \ No newline at end of file diff --git a/app/src/main/res/drawable/bg_store_coin_off.xml b/app/src/main/res/drawable/bg_store_coin_off.xml new file mode 100644 index 0000000..10285a1 --- /dev/null +++ b/app/src/main/res/drawable/bg_store_coin_off.xml @@ -0,0 +1,9 @@ + + + + + + + + + \ No newline at end of file diff --git a/app/src/main/res/drawable/bg_store_coin_on.xml b/app/src/main/res/drawable/bg_store_coin_on.xml new file mode 100644 index 0000000..fde40ce --- /dev/null +++ b/app/src/main/res/drawable/bg_store_coin_on.xml @@ -0,0 +1,11 @@ + + + + + + + + + + + \ No newline at end of file diff --git a/app/src/main/res/drawable/bg_store_vip_1.xml b/app/src/main/res/drawable/bg_store_vip_1.xml index 3c813cf..23b66d7 100644 --- a/app/src/main/res/drawable/bg_store_vip_1.xml +++ b/app/src/main/res/drawable/bg_store_vip_1.xml @@ -2,8 +2,10 @@ - - + + \ No newline at end of file diff --git a/app/src/main/res/drawable/bg_store_vip_2.xml b/app/src/main/res/drawable/bg_store_vip_2.xml index 43863aa..b5d9447 100644 --- a/app/src/main/res/drawable/bg_store_vip_2.xml +++ b/app/src/main/res/drawable/bg_store_vip_2.xml @@ -2,8 +2,10 @@ - - + + \ No newline at end of file diff --git a/app/src/main/res/drawable/bg_store_vip_3.xml b/app/src/main/res/drawable/bg_store_vip_3.xml index 76c2b48..a602b9d 100644 --- a/app/src/main/res/drawable/bg_store_vip_3.xml +++ b/app/src/main/res/drawable/bg_store_vip_3.xml @@ -2,8 +2,10 @@ - - + + \ No newline at end of file diff --git a/app/src/main/res/drawable/bg_store_vip_4.xml b/app/src/main/res/drawable/bg_store_vip_4.xml index ca3db9f..687e080 100644 --- a/app/src/main/res/drawable/bg_store_vip_4.xml +++ b/app/src/main/res/drawable/bg_store_vip_4.xml @@ -2,8 +2,10 @@ - - + + \ No newline at end of file diff --git a/app/src/main/res/drawable/bg_store_vip_text_1.xml b/app/src/main/res/drawable/bg_store_vip_text_1.xml new file mode 100644 index 0000000..86e2c9a --- /dev/null +++ b/app/src/main/res/drawable/bg_store_vip_text_1.xml @@ -0,0 +1,9 @@ + + + + + + + + + \ No newline at end of file diff --git a/app/src/main/res/drawable/bg_store_vip_text_2.xml b/app/src/main/res/drawable/bg_store_vip_text_2.xml new file mode 100644 index 0000000..81f7616 --- /dev/null +++ b/app/src/main/res/drawable/bg_store_vip_text_2.xml @@ -0,0 +1,9 @@ + + + + + + + + + \ No newline at end of file diff --git a/app/src/main/res/drawable/bg_store_vip_text_3.xml b/app/src/main/res/drawable/bg_store_vip_text_3.xml new file mode 100644 index 0000000..b34a509 --- /dev/null +++ b/app/src/main/res/drawable/bg_store_vip_text_3.xml @@ -0,0 +1,9 @@ + + + + + + + + + \ No newline at end of file diff --git a/app/src/main/res/drawable/bg_store_vip_text_4.xml b/app/src/main/res/drawable/bg_store_vip_text_4.xml new file mode 100644 index 0000000..4869d1f --- /dev/null +++ b/app/src/main/res/drawable/bg_store_vip_text_4.xml @@ -0,0 +1,9 @@ + + + + + + + + + \ No newline at end of file diff --git a/app/src/main/res/drawable/bg_upload_version.xml b/app/src/main/res/drawable/bg_upload_version.xml new file mode 100644 index 0000000..f006f5d --- /dev/null +++ b/app/src/main/res/drawable/bg_upload_version.xml @@ -0,0 +1,5 @@ + + + + + \ No newline at end of file diff --git a/app/src/main/res/layout/activity_ve_feedback.xml b/app/src/main/res/layout/activity_ve_feedback.xml index b716fb3..82cce3e 100644 --- a/app/src/main/res/layout/activity_ve_feedback.xml +++ b/app/src/main/res/layout/activity_ve_feedback.xml @@ -57,13 +57,23 @@ tools:text="1" /> - + app:layout_constraintTop_toBottomOf="@+id/iv_back" + > + + + + + \ No newline at end of file diff --git a/app/src/main/res/layout/activity_ve_feedback_detail.xml b/app/src/main/res/layout/activity_ve_feedback_detail.xml index e38df6c..2de2453 100644 --- a/app/src/main/res/layout/activity_ve_feedback_detail.xml +++ b/app/src/main/res/layout/activity_ve_feedback_detail.xml @@ -39,10 +39,17 @@ app:layout_constraintTop_toBottomOf="@+id/iv_back" app:srlEnablePreviewInEditMode="false"> - + android:layout_height="match_parent"> + + + + diff --git a/app/src/main/res/layout/activity_ve_feedback_list.xml b/app/src/main/res/layout/activity_ve_feedback_list.xml index 9118d94..af711f9 100644 --- a/app/src/main/res/layout/activity_ve_feedback_list.xml +++ b/app/src/main/res/layout/activity_ve_feedback_list.xml @@ -39,10 +39,18 @@ app:layout_constraintTop_toBottomOf="@+id/iv_back" app:srlEnablePreviewInEditMode="false"> - + android:layout_height="match_parent" + > + + + + diff --git a/app/src/main/res/layout/activity_ve_my_wallet.xml b/app/src/main/res/layout/activity_ve_my_wallet.xml index 4047392..f1e123d 100644 --- a/app/src/main/res/layout/activity_ve_my_wallet.xml +++ b/app/src/main/res/layout/activity_ve_my_wallet.xml @@ -29,180 +29,189 @@ app:layout_constraintStart_toStartOf="parent" app:layout_constraintTop_toTopOf="@+id/iv_back" /> - - + android:layout_marginBottom="@dimen/dp_10" + > - + android:layout_height="match_parent" + android:fillViewport="true"> + android:layout_height="match_parent"> - + app:layout_constraintTop_toTopOf="parent"> - + - + + + + + + + + + + + + + + + app:layout_constraintTop_toTopOf="parent"> - + - + - - + + + + + + + - - - - - + + - - - - - - - - - - - - + \ No newline at end of file diff --git a/app/src/main/res/layout/activity_ve_store.xml b/app/src/main/res/layout/activity_ve_store.xml index 9a2aeb3..548df91 100644 --- a/app/src/main/res/layout/activity_ve_store.xml +++ b/app/src/main/res/layout/activity_ve_store.xml @@ -5,286 +5,115 @@ android:layout_height="match_parent" android:background="@mipmap/playfair_selected_gradle"> - + + + + + + + android:layout_below="@+id/iv_back"> - - - - - - - - + android:orientation="vertical"> - - - - - - - - - - + app:layout_constraintTop_toTopOf="parent" /> - + - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + app:layout_constraintTop_toBottomOf="@+id/recycler_coin" /> - - + - + - + \ No newline at end of file diff --git a/app/src/main/res/layout/dialog_version_control.xml b/app/src/main/res/layout/dialog_version_control.xml new file mode 100644 index 0000000..8c46de6 --- /dev/null +++ b/app/src/main/res/layout/dialog_version_control.xml @@ -0,0 +1,125 @@ + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/app/src/main/res/layout/dialog_vip_splash.xml b/app/src/main/res/layout/dialog_vip_splash.xml index 9b5661f..dadd25a 100644 --- a/app/src/main/res/layout/dialog_vip_splash.xml +++ b/app/src/main/res/layout/dialog_vip_splash.xml @@ -2,7 +2,7 @@ + > @@ -20,22 +20,21 @@ android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_centerHorizontal="true" + android:layout_marginTop="@dimen/dp_15" android:background="@mipmap/iv_dialog_vip_splash_top" /> @@ -54,37 +53,29 @@ android:textColor="#C5C5C5" android:textSize="@dimen/sp_14" /> - + /> + + - diff --git a/app/src/main/res/layout/ev_bodyload_home.xml b/app/src/main/res/layout/ev_bodyload_home.xml index 86984fe..5f489b9 100644 --- a/app/src/main/res/layout/ev_bodyload_home.xml +++ b/app/src/main/res/layout/ev_bodyload_home.xml @@ -261,6 +261,9 @@ android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginStart="@dimen/dp_10" + android:ellipsize="end" + android:maxWidth="@dimen/dp_60" + android:maxLines="2" android:text="Donate" android:textColor="@color/gradleLayout" android:textSize="@dimen/sp_14" @@ -332,10 +335,10 @@ android:id="@+id/tv_rewards" android:layout_width="wrap_content" android:layout_height="wrap_content" + android:layout_marginEnd="@dimen/dp_20" android:drawableTop="@mipmap/bold_wight_fddebcdbeeffcebdf" android:gravity="center" android:text="Rewards" - android:layout_marginEnd="@dimen/dp_20" android:textColor="@color/white" android:textSize="@dimen/sp_12" app:layout_constraintEnd_toStartOf="@+id/tv_favorites" @@ -392,10 +395,10 @@ android:drawablePadding="@dimen/dp_8" android:gravity="center_vertical" android:paddingHorizontal="@dimen/dp_10" - android:visibility="visible" android:text="@string/dimensImage" android:textColor="@color/white" - android:textSize="@dimen/sp_14" /> + android:textSize="@dimen/sp_14" + android:visibility="visible" /> - - + + app:layout_constraintEnd_toEndOf="parent" app:layout_constraintStart_toStartOf="parent" app:layout_constraintTop_toTopOf="@+id/iv_back" /> - - - + + + app:layout_constraintStart_toStartOf="parent" + app:layout_constraintTop_toBottomOf="@+id/iv_back"> + + + \ No newline at end of file diff --git a/app/src/main/res/layout/item_ve_store_coin.xml b/app/src/main/res/layout/item_ve_store_coin.xml index f936e01..9e6b3a3 100644 --- a/app/src/main/res/layout/item_ve_store_coin.xml +++ b/app/src/main/res/layout/item_ve_store_coin.xml @@ -1,13 +1,11 @@ + android:background="@mipmap/bg_store_coin_bg" + android:orientation="vertical"> - + app:layout_constraintStart_toStartOf="parent" /> + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/app/src/main/res/layout/item_ve_store_vip.xml b/app/src/main/res/layout/item_ve_store_vip.xml index d17af37..9c6880e 100644 --- a/app/src/main/res/layout/item_ve_store_vip.xml +++ b/app/src/main/res/layout/item_ve_store_vip.xml @@ -1,57 +1,95 @@ - + android:textColor="#647DA7" + android:textSize="@dimen/sp_12" /> - - + android:textColor="#647DA7" + android:textSize="@dimen/sp_16" /> + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/app/src/main/res/layout/j_details_layout.xml b/app/src/main/res/layout/j_details_layout.xml index 6bb6a00..b7c4968 100644 --- a/app/src/main/res/layout/j_details_layout.xml +++ b/app/src/main/res/layout/j_details_layout.xml @@ -1,6 +1,5 @@ - @@ -9,12 +8,17 @@ android:layout_width="match_parent" android:layout_height="match_parent"> - + android:layout_height="match_parent"> + + + layout="@layout/layout_ve_lock_episode" /> + layout="@layout/layout_player_recommend" /> + - \ No newline at end of file + + \ No newline at end of file diff --git a/app/src/main/res/layout/layout_ve_player_buy_dialog.xml b/app/src/main/res/layout/layout_ve_player_buy_dialog.xml index 5921bf4..5d7353a 100644 --- a/app/src/main/res/layout/layout_ve_player_buy_dialog.xml +++ b/app/src/main/res/layout/layout_ve_player_buy_dialog.xml @@ -1,102 +1,145 @@ - - + + + + + + + + + + + + + + + + + android:layout_height="match_parent" + android:layout_below="@+id/iv_close_dialog" + android:layout_marginTop="@dimen/dp_7"> - - - - - - - + android:layout_height="match_parent"> - + - + - + - + - \ No newline at end of file + + + + + + + \ No newline at end of file diff --git a/app/src/main/res/layout/qf_auto.xml b/app/src/main/res/layout/qf_auto.xml index 7125bd1..e3db778 100644 --- a/app/src/main/res/layout/qf_auto.xml +++ b/app/src/main/res/layout/qf_auto.xml @@ -1,415 +1,416 @@ - - + android:layout_height="match_parent"> - + - - - - - + android:layout_marginTop="@dimen/dp_12" + android:layout_marginEnd="@dimen/dp_15" + android:src="@mipmap/lock_round" + app:layout_constraintEnd_toEndOf="parent" + app:layout_constraintTop_toBottomOf="@+id/text_home" /> - - + android:layout_height="@dimen/dp_40" + android:layout_marginStart="@dimen/dp_15" + android:layout_marginEnd="@dimen/dp_10" + android:background="@drawable/uta_android_news" + android:gravity="center_vertical" + app:layout_constraintEnd_toStartOf="@+id/iv_time" + app:layout_constraintStart_toStartOf="parent" + app:layout_constraintTop_toTopOf="@+id/iv_time"> - + - + - + android:layout_height="@dimen/dp_40" + android:gravity="center_vertical" + android:singleLine="true" + android:text="@string/search_dramas" + android:textColor="#9d9d9d" /> - + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + android:layout_height="match_parent"> - + app:layout_constraintTop_toTopOf="parent" + tools:background="@color/white" /> + + app:layout_constraintTop_toBottomOf="@+id/banner" /> + + + - - - - - - - - + android:layout_marginStart="@dimen/dp_15" + android:layout_marginTop="@dimen/dp_10" + android:visibility="gone" + app:layout_constraintStart_toStartOf="parent" + app:layout_constraintTop_toBottomOf="@+id/tv_menu_binge" /> - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + android:paddingBottom="4dp" + android:visibility="gone"> - - - - - + - + - + + + + + + + - - - - + app:layout_constraintTop_toBottomOf="@+id/fl_search"> + + + + + + + + - - - \ No newline at end of file + \ No newline at end of file diff --git a/app/src/main/res/layout/u_resource.xml b/app/src/main/res/layout/u_resource.xml index fd37a9f..749e712 100644 --- a/app/src/main/res/layout/u_resource.xml +++ b/app/src/main/res/layout/u_resource.xml @@ -46,6 +46,8 @@ android:orientation="vertical"> android:layout_height="wrap_content" android:layout_below="@+id/tvEmptyTitle" android:layout_centerHorizontal="true" + android:layout_marginHorizontal="@dimen/dp_15" + android:gravity="center" android:layout_marginBottom="@dimen/dp_30" android:text="Start exploring and add something!" android:textColor="@color/white" diff --git a/app/src/main/res/mipmap-xxhdpi/auto_mz_drama_default_i3.webp b/app/src/main/res/mipmap-xxhdpi/auto_mz_drama_default_i3.webp index 05d0579..7c96776 100644 Binary files a/app/src/main/res/mipmap-xxhdpi/auto_mz_drama_default_i3.webp and b/app/src/main/res/mipmap-xxhdpi/auto_mz_drama_default_i3.webp differ diff --git a/app/src/main/res/mipmap-xxhdpi/bg_store_coin_bg.webp b/app/src/main/res/mipmap-xxhdpi/bg_store_coin_bg.webp new file mode 100644 index 0000000..84f1547 Binary files /dev/null and b/app/src/main/res/mipmap-xxhdpi/bg_store_coin_bg.webp differ diff --git a/app/src/main/res/mipmap-xxhdpi/binge_banner.png b/app/src/main/res/mipmap-xxhdpi/binge_banner.png deleted file mode 100644 index ecb21a8..0000000 Binary files a/app/src/main/res/mipmap-xxhdpi/binge_banner.png and /dev/null differ diff --git a/app/src/main/res/mipmap-xxhdpi/binge_banner.webp b/app/src/main/res/mipmap-xxhdpi/binge_banner.webp new file mode 100644 index 0000000..f715c52 Binary files /dev/null and b/app/src/main/res/mipmap-xxhdpi/binge_banner.webp differ diff --git a/app/src/main/res/mipmap-xxhdpi/button_banner.webp b/app/src/main/res/mipmap-xxhdpi/button_banner.webp index 5ef09f0..349015f 100644 Binary files a/app/src/main/res/mipmap-xxhdpi/button_banner.webp and b/app/src/main/res/mipmap-xxhdpi/button_banner.webp differ diff --git a/app/src/main/res/mipmap-xxhdpi/iv_coins_small.png b/app/src/main/res/mipmap-xxhdpi/iv_coins_small.png new file mode 100644 index 0000000..808b6ba Binary files /dev/null and b/app/src/main/res/mipmap-xxhdpi/iv_coins_small.png differ diff --git a/app/src/main/res/mipmap-xxhdpi/iv_dialog_vip_activate_top.png b/app/src/main/res/mipmap-xxhdpi/iv_dialog_vip_activate_top.png deleted file mode 100644 index 25574e7..0000000 Binary files a/app/src/main/res/mipmap-xxhdpi/iv_dialog_vip_activate_top.png and /dev/null differ diff --git a/app/src/main/res/mipmap-xxhdpi/iv_dialog_vip_activate_top.webp b/app/src/main/res/mipmap-xxhdpi/iv_dialog_vip_activate_top.webp new file mode 100644 index 0000000..cb5db84 Binary files /dev/null and b/app/src/main/res/mipmap-xxhdpi/iv_dialog_vip_activate_top.webp differ diff --git a/app/src/main/res/mipmap-xxhdpi/iv_dialog_vip_splash_bg.9.png b/app/src/main/res/mipmap-xxhdpi/iv_dialog_vip_splash_bg.9.png new file mode 100644 index 0000000..87c5428 Binary files /dev/null and b/app/src/main/res/mipmap-xxhdpi/iv_dialog_vip_splash_bg.9.png differ diff --git a/app/src/main/res/mipmap-xxhdpi/iv_dialog_vip_splash_bg.png b/app/src/main/res/mipmap-xxhdpi/iv_dialog_vip_splash_bg.png deleted file mode 100644 index e348520..0000000 Binary files a/app/src/main/res/mipmap-xxhdpi/iv_dialog_vip_splash_bg.png and /dev/null differ diff --git a/app/src/main/res/mipmap-xxhdpi/iv_dialog_vip_splash_onclick_bg.png b/app/src/main/res/mipmap-xxhdpi/iv_dialog_vip_splash_onclick_bg.png deleted file mode 100644 index 27f8267..0000000 Binary files a/app/src/main/res/mipmap-xxhdpi/iv_dialog_vip_splash_onclick_bg.png and /dev/null differ diff --git a/app/src/main/res/mipmap-xxhdpi/iv_dialog_vip_splash_onclick_bg.webp b/app/src/main/res/mipmap-xxhdpi/iv_dialog_vip_splash_onclick_bg.webp new file mode 100644 index 0000000..8c6c714 Binary files /dev/null and b/app/src/main/res/mipmap-xxhdpi/iv_dialog_vip_splash_onclick_bg.webp differ diff --git a/app/src/main/res/mipmap-xxhdpi/iv_dialog_vip_splash_top.png b/app/src/main/res/mipmap-xxhdpi/iv_dialog_vip_splash_top.png deleted file mode 100644 index f68c106..0000000 Binary files a/app/src/main/res/mipmap-xxhdpi/iv_dialog_vip_splash_top.png and /dev/null differ diff --git a/app/src/main/res/mipmap-xxhdpi/iv_dialog_vip_splash_top.webp b/app/src/main/res/mipmap-xxhdpi/iv_dialog_vip_splash_top.webp new file mode 100644 index 0000000..c17342c Binary files /dev/null and b/app/src/main/res/mipmap-xxhdpi/iv_dialog_vip_splash_top.webp differ diff --git a/app/src/main/res/mipmap-xxhdpi/iv_dialog_vip_splash_vip.png b/app/src/main/res/mipmap-xxhdpi/iv_dialog_vip_splash_vip.png deleted file mode 100644 index c5c7cba..0000000 Binary files a/app/src/main/res/mipmap-xxhdpi/iv_dialog_vip_splash_vip.png and /dev/null differ diff --git a/app/src/main/res/mipmap-xxhdpi/iv_dialog_vip_splash_vip.webp b/app/src/main/res/mipmap-xxhdpi/iv_dialog_vip_splash_vip.webp new file mode 100644 index 0000000..a854676 Binary files /dev/null and b/app/src/main/res/mipmap-xxhdpi/iv_dialog_vip_splash_vip.webp differ diff --git a/app/src/main/res/mipmap-xxhdpi/iv_dialog_vip_splash_vip_1.png b/app/src/main/res/mipmap-xxhdpi/iv_dialog_vip_splash_vip_1.png new file mode 100644 index 0000000..f8734e8 Binary files /dev/null and b/app/src/main/res/mipmap-xxhdpi/iv_dialog_vip_splash_vip_1.png differ diff --git a/app/src/main/res/mipmap-xxhdpi/iv_dialog_vip_splash_vip_2.png b/app/src/main/res/mipmap-xxhdpi/iv_dialog_vip_splash_vip_2.png new file mode 100644 index 0000000..f9a2610 Binary files /dev/null and b/app/src/main/res/mipmap-xxhdpi/iv_dialog_vip_splash_vip_2.png differ diff --git a/app/src/main/res/mipmap-xxhdpi/iv_dialog_vip_splash_vip_3.png b/app/src/main/res/mipmap-xxhdpi/iv_dialog_vip_splash_vip_3.png new file mode 100644 index 0000000..88f7569 Binary files /dev/null and b/app/src/main/res/mipmap-xxhdpi/iv_dialog_vip_splash_vip_3.png differ diff --git a/app/src/main/res/mipmap-xxhdpi/iv_dialog_vip_splash_vip_4.png b/app/src/main/res/mipmap-xxhdpi/iv_dialog_vip_splash_vip_4.png new file mode 100644 index 0000000..8bcf9b5 Binary files /dev/null and b/app/src/main/res/mipmap-xxhdpi/iv_dialog_vip_splash_vip_4.png differ diff --git a/app/src/main/res/mipmap-xxhdpi/iv_no_data_search.webp b/app/src/main/res/mipmap-xxhdpi/iv_no_data_search.webp index b1fc84b..fd9e339 100644 Binary files a/app/src/main/res/mipmap-xxhdpi/iv_no_data_search.webp and b/app/src/main/res/mipmap-xxhdpi/iv_no_data_search.webp differ diff --git a/app/src/main/res/mipmap-xxhdpi/iv_notifications_check.png b/app/src/main/res/mipmap-xxhdpi/iv_notifications_check.png deleted file mode 100644 index 17405bd..0000000 Binary files a/app/src/main/res/mipmap-xxhdpi/iv_notifications_check.png and /dev/null differ diff --git a/app/src/main/res/mipmap-xxhdpi/iv_notifications_check.webp b/app/src/main/res/mipmap-xxhdpi/iv_notifications_check.webp new file mode 100644 index 0000000..9687792 Binary files /dev/null and b/app/src/main/res/mipmap-xxhdpi/iv_notifications_check.webp differ diff --git a/app/src/main/res/mipmap-xxhdpi/iv_player_watch_now.png b/app/src/main/res/mipmap-xxhdpi/iv_player_watch_now.png deleted file mode 100644 index a86d69e..0000000 Binary files a/app/src/main/res/mipmap-xxhdpi/iv_player_watch_now.png and /dev/null differ diff --git a/app/src/main/res/mipmap-xxhdpi/iv_player_watch_now.webp b/app/src/main/res/mipmap-xxhdpi/iv_player_watch_now.webp new file mode 100644 index 0000000..e75b257 Binary files /dev/null and b/app/src/main/res/mipmap-xxhdpi/iv_player_watch_now.webp differ diff --git a/app/src/main/res/mipmap-xxhdpi/iv_quality_bg_off.png b/app/src/main/res/mipmap-xxhdpi/iv_quality_bg_off.png deleted file mode 100644 index fb4b960..0000000 Binary files a/app/src/main/res/mipmap-xxhdpi/iv_quality_bg_off.png and /dev/null differ diff --git a/app/src/main/res/mipmap-xxhdpi/iv_quality_bg_off.webp b/app/src/main/res/mipmap-xxhdpi/iv_quality_bg_off.webp new file mode 100644 index 0000000..6fc38c7 Binary files /dev/null and b/app/src/main/res/mipmap-xxhdpi/iv_quality_bg_off.webp differ diff --git a/app/src/main/res/mipmap-xxhdpi/iv_quality_bg_on.png b/app/src/main/res/mipmap-xxhdpi/iv_quality_bg_on.png deleted file mode 100644 index 08e17d6..0000000 Binary files a/app/src/main/res/mipmap-xxhdpi/iv_quality_bg_on.png and /dev/null differ diff --git a/app/src/main/res/mipmap-xxhdpi/iv_quality_bg_on.webp b/app/src/main/res/mipmap-xxhdpi/iv_quality_bg_on.webp new file mode 100644 index 0000000..0cf72df Binary files /dev/null and b/app/src/main/res/mipmap-xxhdpi/iv_quality_bg_on.webp differ diff --git a/app/src/main/res/mipmap-xxhdpi/iv_store_tab_left.png b/app/src/main/res/mipmap-xxhdpi/iv_store_tab_left.png deleted file mode 100644 index 210de15..0000000 Binary files a/app/src/main/res/mipmap-xxhdpi/iv_store_tab_left.png and /dev/null differ diff --git a/app/src/main/res/mipmap-xxhdpi/iv_store_tab_left.webp b/app/src/main/res/mipmap-xxhdpi/iv_store_tab_left.webp new file mode 100644 index 0000000..a2aed20 Binary files /dev/null and b/app/src/main/res/mipmap-xxhdpi/iv_store_tab_left.webp differ diff --git a/app/src/main/res/mipmap-xxhdpi/iv_store_tab_right.png b/app/src/main/res/mipmap-xxhdpi/iv_store_tab_right.png deleted file mode 100644 index 581db95..0000000 Binary files a/app/src/main/res/mipmap-xxhdpi/iv_store_tab_right.png and /dev/null differ diff --git a/app/src/main/res/mipmap-xxhdpi/iv_store_tab_right.webp b/app/src/main/res/mipmap-xxhdpi/iv_store_tab_right.webp new file mode 100644 index 0000000..34b1cb8 Binary files /dev/null and b/app/src/main/res/mipmap-xxhdpi/iv_store_tab_right.webp differ diff --git a/app/src/main/res/mipmap-xxhdpi/iv_store_vip_bg_1.webp b/app/src/main/res/mipmap-xxhdpi/iv_store_vip_bg_1.webp index c21ab1d..8a11972 100644 Binary files a/app/src/main/res/mipmap-xxhdpi/iv_store_vip_bg_1.webp and b/app/src/main/res/mipmap-xxhdpi/iv_store_vip_bg_1.webp differ diff --git a/app/src/main/res/mipmap-xxhdpi/iv_store_vip_bg_2.webp b/app/src/main/res/mipmap-xxhdpi/iv_store_vip_bg_2.webp index 13a0bc1..c7c79a0 100644 Binary files a/app/src/main/res/mipmap-xxhdpi/iv_store_vip_bg_2.webp and b/app/src/main/res/mipmap-xxhdpi/iv_store_vip_bg_2.webp differ diff --git a/app/src/main/res/mipmap-xxhdpi/iv_store_vip_bg_3.webp b/app/src/main/res/mipmap-xxhdpi/iv_store_vip_bg_3.webp index 141c603..5dd7b24 100644 Binary files a/app/src/main/res/mipmap-xxhdpi/iv_store_vip_bg_3.webp and b/app/src/main/res/mipmap-xxhdpi/iv_store_vip_bg_3.webp differ diff --git a/app/src/main/res/mipmap-xxhdpi/iv_store_vip_bg_4.webp b/app/src/main/res/mipmap-xxhdpi/iv_store_vip_bg_4.webp index dc45b27..0c72384 100644 Binary files a/app/src/main/res/mipmap-xxhdpi/iv_store_vip_bg_4.webp and b/app/src/main/res/mipmap-xxhdpi/iv_store_vip_bg_4.webp differ diff --git a/app/src/main/res/mipmap-xxhdpi/iv_store_vip_big_hot.png b/app/src/main/res/mipmap-xxhdpi/iv_store_vip_big_hot.png new file mode 100644 index 0000000..f794efc Binary files /dev/null and b/app/src/main/res/mipmap-xxhdpi/iv_store_vip_big_hot.png differ diff --git a/app/src/main/res/mipmap-xxhdpi/iv_version_control_top.webp b/app/src/main/res/mipmap-xxhdpi/iv_version_control_top.webp new file mode 100644 index 0000000..210ba0a Binary files /dev/null and b/app/src/main/res/mipmap-xxhdpi/iv_version_control_top.webp differ diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index cd97595..ff29760 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -67,5 +67,6 @@ Google Pay Canceled veloriaapp + Your account is already logged in on another device~ \ No newline at end of file diff --git a/gradle/libs.versions.toml b/gradle/libs.versions.toml index e508075..7a6149f 100644 --- a/gradle/libs.versions.toml +++ b/gradle/libs.versions.toml @@ -3,6 +3,7 @@ adjustAndroid = "5.2.0" adjustAndroidWebbridge = "5.2.0" agp = "8.2.1" androidInstallreferrerVersion = "2.2" +bannerviewpager = "3.5.12" baserecyclerviewadapterhelper4 = "4.1.4" billing = "7.0.0" eventbusVersion = "3.3.1" @@ -51,6 +52,7 @@ androidx-media3-exoplayer = { module = "androidx.media3:media3-exoplayer", versi androidx-media3-ui = { module = "androidx.media3:media3-ui", version.ref = "media3Ui" } androidx-work-runtime-ktx = { module = "androidx.work:work-runtime-ktx", version.ref = "workRuntimeKtx" } banner = { module = "io.github.youth5201314:banner", version.ref = "banner" } +bannerviewpager = { module = "com.github.zhpanvip:bannerviewpager", version.ref = "bannerviewpager" } baserecyclerviewadapterhelper4 = { module = "io.github.cymchad:BaseRecyclerViewAdapterHelper4", version.ref = "baserecyclerviewadapterhelper4" } billing = { module = "com.android.billingclient:billing", version.ref = "billing" } com-android-installreferrer-installreferrer2 = { module = "com.android.installreferrer:installreferrer", version.ref = "androidInstallreferrerVersion" }