Compare commits

...

7 Commits

Author SHA1 Message Date
yuyl
933350c7a9 mireo 1.2.4 2025-06-20 16:14:56 +08:00
yuyl
02ffc22f4e mireo 1.2.2 2025-06-17 13:43:32 +08:00
yuyl
d3a94a3bad mireo 1.2.0 2025-05-13 14:30:20 +08:00
yuyl
3f53608d63 mireo 1.1.2 2025-05-10 16:22:56 +08:00
yuyl
806d470aac mireo 1.1.1 2025-05-10 09:21:41 +08:00
yuyl
3f4e2cc163 the second phase commit 2025-04-29 18:26:26 +08:00
yuyl
efbcd71dd7 the second phase commit 2025-04-29 18:15:37 +08:00
967 changed files with 149961 additions and 4457 deletions

View File

@ -1,16 +0,0 @@
*.iml
.gradle
/local.properties
/.idea/caches
/.idea/libraries
/.idea/modules.xml
/.idea/workspace.xml
/.idea/navEditor.xml
/.idea/assetWizardSettings.xml
.DS_Store
/build
/captures
.externalNativeBuild
.cxx
local.properties
/app/release

View File

@ -1,36 +0,0 @@
#-ignorewarning
-libraryjars libs/lib-decoder-ffmpeg-release.aar
-keep class com.localee.mireo.app.http.api.** {
<fields>;
}
-keep class com.localee.mireo.app.http.response.** {
<fields>;
}
-keep class com.localee.mireo.app.http.model.** {
<fields>;
}
-keep class com.localee.mireo.app.http.exception.** {
<fields>;
}
-keepclassmembernames class ** {
@com.localee.mireo.app.aop.Log <methods>;
}
-keep public class * extends android.view.View{
*** get*();
void set*(***);
public <init>(android.content.Context);
public <init>(android.content.Context, android.util.AttributeSet);
public <init>(android.content.Context, android.util.AttributeSet, int);
}
-keepclasseswithmembers class * {
public <init>(android.content.Context, android.util.AttributeSet);
public <init>(android.content.Context, android.util.AttributeSet, int);
}
-keepclassmembers class * {
public void *(android.view.View);
}

View File

@ -1,45 +0,0 @@
# Glide
-keep public class * implements com.bumptech.glide.module.GlideModule
-keep class * extends com.bumptech.glide.module.AppGlideModule {
<init>(...);
}
-keep public enum com.bumptech.glide.load.ImageHeaderParser$** {
**[] $VALUES;
public *;
}
-keep class com.bumptech.glide.load.data.ParcelFileDescriptorRewinder$InternalRewinder {
*** rewind();
}
# for DexGuard only
#-keepresourcexmlelements manifest/application/meta-data@value=GlideModule
# Bugly
-dontwarn com.tencent.bugly.**
-keep public class com.tencent.bugly.**{*;}
# AOP
-adaptclassstrings
-keepattributes InnerClasses, EnclosingMethod, Signature, *Annotation*
-keepnames @org.aspectj.lang.annotation.Aspect class * {
public <methods>;
}
# OkHttp3
-keepattributes Signature
-keepattributes *Annotation*
-keep class okhttp3.** { *; }
-keep interface okhttp3.** { *; }
-dontwarn okhttp3.**
-dontwarn okio.**
-dontwarn org.conscrypt.**
-keep class com.gyf.immersionbar.* {*;}
-dontwarn com.gyf.immersionbar.**
# com.hjq
-keep class com.hjq.permissions.** {*;}
-keep class com.hjq.bar.** {*;}
-keep class com.hjq.toast.** {*;}
-keep class com.hjq.shape.** {*;}

View File

@ -1,125 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
package="com.localee.mireo.app">
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
<uses-permission
android:name="android.permission.WRITE_EXTERNAL_STORAGE"
tools:ignore="ScopedStorage" />
<uses-permission android:name="android.permission.READ_MEDIA_IMAGES" />
<uses-permission android:name="android.permission.READ_MEDIA_AUDIO" />
<uses-permission android:name="android.permission.READ_MEDIA_VIDEO" />
<uses-permission android:name="android.permission.REQUEST_INSTALL_PACKAGES" />
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
<application
android:name=".app.AppApplication"
android:allowBackup="false"
android:icon="@mipmap/ic_app_logo"
android:label="${app_name}"
android:networkSecurityConfig="@xml/network_security_config"
android:requestLegacyExternalStorage="true"
android:resizeableActivity="true"
android:roundIcon="@mipmap/ic_app_logo"
android:supportsRtl="false"
android:theme="@style/AppTheme"
android:usesCleartextTraffic="true"
tools:ignore="AllowBackup,LockedOrientationActivity"
tools:replace="android:allowBackup,android:supportsRtl"
tools:targetApi="31">
<meta-data
android:name="ScopedStorage"
android:value="true" />
<provider
android:name="androidx.core.content.FileProvider"
android:authorities="${applicationId}.provider"
android:exported="false"
android:grantUriPermissions="true">
<meta-data
android:name="android.support.FILE_PROVIDER_PATHS"
android:resource="@xml/file_paths" />
</provider>
<activity
android:name=".ui.activity.SplashActivity"
android:exported="true"
android:launchMode="singleTop"
android:screenOrientation="portrait"
android:theme="@style/Theme.Splash"
>
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<action android:name="android.intent.action.VIEW" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<activity
android:name=".ui.activity.HomeActivity"
android:launchMode="singleTask"
android:screenOrientation="portrait"
android:windowSoftInputMode="adjustPan" />
<activity
android:name=".ui.activity.SettingActivity"
android:label="@string/setting_title"
android:launchMode="singleTop"
android:screenOrientation="portrait" />
<activity
android:name=".ui.activity.AboutActivity"
android:label="@string/about_title"
android:launchMode="singleTop"
android:screenOrientation="portrait" />
<activity
android:name=".ui.activity.BrowserActivity"
android:label="@string/web_title"
android:launchMode="singleTop"
android:screenOrientation="portrait" />
<activity
android:name=".ui.activity.VideoPlayActivity"
android:launchMode="singleTop"
android:theme="@style/FullScreenTheme" />
<activity
android:name=".ui.activity.SearchActivity"
android:launchMode="singleTop"
android:screenOrientation="portrait" />
</application>
<queries>
<intent>
<action android:name="android.intent.action.SEND" />
</intent>
<intent>
<action android:name="android.intent.action.VIEW" />
</intent>
<intent>
<action android:name="android.intent.action.GET_CONTENT" />
</intent>
</queries>
</manifest>

View File

@ -1,7 +0,0 @@
package com.localee.mireo.app.aop
@kotlin.annotation.Retention(AnnotationRetention.RUNTIME)
@Target(AnnotationTarget.FUNCTION,
AnnotationTarget.PROPERTY_GETTER,
AnnotationTarget.PROPERTY_SETTER)
annotation class CheckNet

View File

@ -1,36 +0,0 @@
package com.localee.mireo.app.aop
import android.app.*
import android.net.ConnectivityManager
import android.net.NetworkInfo
import androidx.core.content.ContextCompat
import com.localee.mireo.app.R
import com.localee.mireo.app.manager.ActivityManager
import com.hjq.toast.ToastUtils
import org.aspectj.lang.ProceedingJoinPoint
import org.aspectj.lang.annotation.Around
import org.aspectj.lang.annotation.Aspect
import org.aspectj.lang.annotation.Pointcut
@Suppress("unused")
@Aspect
class CheckNetAspect {
@Pointcut("execution(@com.localee.mireo.app.aop.CheckNet * *(..))")
fun method() {}
@Around("method() && @annotation(checkNet)")
@Throws(Throwable::class)
fun aroundJoinPoint(joinPoint: ProceedingJoinPoint, checkNet: CheckNet) {
val application: Application = ActivityManager.getInstance().getApplication()
val manager: ConnectivityManager? = ContextCompat.getSystemService(application, ConnectivityManager::class.java)
if (manager != null) {
val info: NetworkInfo? = manager.activeNetworkInfo
if (info == null || !info.isConnected) {
ToastUtils.show(R.string.common_network_hint)
return
}
}
joinPoint.proceed()
}
}

View File

@ -1,8 +0,0 @@
package com.localee.mireo.app.aop
@kotlin.annotation.Retention(AnnotationRetention.RUNTIME)
@Target(AnnotationTarget.FUNCTION,
AnnotationTarget.PROPERTY_GETTER,
AnnotationTarget.PROPERTY_SETTER,
AnnotationTarget.CONSTRUCTOR)
annotation class Log constructor(val value: String = "AppLog")

View File

@ -1,96 +0,0 @@
package com.localee.mireo.app.aop
import android.os.Looper
import android.os.Trace
import org.aspectj.lang.ProceedingJoinPoint
import org.aspectj.lang.Signature
import org.aspectj.lang.annotation.Around
import org.aspectj.lang.annotation.Aspect
import org.aspectj.lang.annotation.Pointcut
import org.aspectj.lang.reflect.CodeSignature
import org.aspectj.lang.reflect.MethodSignature
import timber.log.Timber
import java.util.concurrent.TimeUnit
@Suppress("unused")
@Aspect
class LogAspect {
@Pointcut("execution(@com.localee.mireo.app.aop.Log *.new(..))")
fun constructor() {}
@Pointcut("execution(@com.localee.mireo.app.aop.Log * *(..))")
fun method() {}
@Around("(method() || constructor()) && @annotation(log)")
@Throws(Throwable::class)
fun aroundJoinPoint(joinPoint: ProceedingJoinPoint, log: Log): Any? {
enterMethod(joinPoint, log)
val startNanos: Long = System.nanoTime()
val result: Any? = joinPoint.proceed()
val stopNanos: Long = System.nanoTime()
exitMethod(joinPoint, log, result, TimeUnit.NANOSECONDS.toMillis(stopNanos - startNanos))
return result
}
private fun enterMethod(joinPoint: ProceedingJoinPoint, log: Log) {
val codeSignature: CodeSignature = joinPoint.signature as CodeSignature
val className: String = codeSignature.declaringType.name
val methodName: String = codeSignature.name
val parameterNames: Array<String?> = codeSignature.parameterNames
val parameterValues: Array<Any?> = joinPoint.args
val builder: StringBuilder =
getMethodLogInfo(className, methodName, parameterNames, parameterValues)
log(log.value, builder.toString())
val section: String = builder.substring(2)
Trace.beginSection(section)
}
private fun getMethodLogInfo(className: String, methodName: String, parameterNames: Array<String?>, parameterValues: Array<Any?>): StringBuilder {
val builder: StringBuilder = StringBuilder("\u21E2 ")
builder.append(className)
.append(".")
.append(methodName)
.append('(')
for (i in parameterValues.indices) {
if (i > 0) {
builder.append(", ")
}
builder.append(parameterNames[i]).append('=')
builder.append(parameterValues[i].toString())
}
builder.append(')')
if (Looper.myLooper() != Looper.getMainLooper()) {
builder.append(" [Thread:\"").append(Thread.currentThread().name).append("\"]")
}
return builder
}
private fun exitMethod(joinPoint: ProceedingJoinPoint, log: Log, result: Any?, lengthMillis: Long) {
Trace.endSection()
val signature: Signature = joinPoint.signature
val className: String? = signature.declaringType.name
val methodName: String? = signature.name
val builder: StringBuilder = StringBuilder("\u21E0 ")
.append(className)
.append(".")
.append(methodName)
.append(" [")
.append(lengthMillis)
.append("ms]")
// 判断方法是否有返回值
if (signature is MethodSignature && signature.returnType != Void.TYPE) {
builder.append(" = ")
builder.append(result.toString())
}
log(log.value, builder.toString())
}
private fun log(tag: String?, msg: String?) {
Timber.tag(tag)
Timber.d(msg)
}
}

View File

@ -1,9 +0,0 @@
package com.localee.mireo.app.aop
@kotlin.annotation.Retention(AnnotationRetention.RUNTIME)
@Target(AnnotationTarget.FUNCTION,
AnnotationTarget.PROPERTY_GETTER,
AnnotationTarget.PROPERTY_SETTER)
annotation class Permissions constructor(
vararg val value: String
)

View File

@ -1,62 +0,0 @@
package com.localee.mireo.app.aop
import android.app.Activity
import com.hjq.permissions.XXPermissions
import com.localee.mireo.app.manager.ActivityManager
import com.localee.mireo.app.other.PermissionCallback
import org.aspectj.lang.ProceedingJoinPoint
import org.aspectj.lang.annotation.Around
import org.aspectj.lang.annotation.Aspect
import org.aspectj.lang.annotation.Pointcut
import timber.log.Timber
@Suppress("unused")
@Aspect
class PermissionsAspect {
@Pointcut("execution(@com.localee.mireo.app.aop.Permissions * *(..))")
fun method() {
}
@Around("method() && @annotation(permissions)")
fun aroundJoinPoint(joinPoint: ProceedingJoinPoint, permissions: Permissions) {
var activity: Activity? = null
val parameterValues: Array<Any?> = joinPoint.args
for (arg: Any? in parameterValues) {
if (arg !is Activity) {
continue
}
activity = arg
break
}
if ((activity == null) || activity.isFinishing || activity.isDestroyed) {
activity = ActivityManager.getInstance().getTopActivity()
}
if ((activity == null) || activity.isFinishing || activity.isDestroyed) {
Timber.e("The activity has been destroyed and permission requests cannot be made")
return
}
requestPermissions(joinPoint, activity, permissions.value)
}
private fun requestPermissions(
joinPoint: ProceedingJoinPoint,
activity: Activity,
permissions: Array<out String>
) {
XXPermissions.with(activity)
.permission(*permissions)
.request(object : PermissionCallback() {
override fun onGranted(permissions: MutableList<String?>?, all: Boolean) {
if (all) {
try {
// 获得权限,执行原方法
joinPoint.proceed()
} catch (e: Throwable) {
// CrashReport.postCatchedException(e)
}
}
}
})
}
}

View File

@ -1,9 +0,0 @@
package com.localee.mireo.app.aop
@kotlin.annotation.Retention(AnnotationRetention.RUNTIME)
@Target(AnnotationTarget.FUNCTION,
AnnotationTarget.PROPERTY_GETTER,
AnnotationTarget.PROPERTY_SETTER)
annotation class SingleClick constructor(
val value: Long = 1000
)

View File

@ -1,51 +0,0 @@
package com.localee.mireo.app.aop
import org.aspectj.lang.ProceedingJoinPoint
import org.aspectj.lang.annotation.Around
import org.aspectj.lang.annotation.Aspect
import org.aspectj.lang.annotation.Pointcut
import org.aspectj.lang.reflect.CodeSignature
import timber.log.Timber
@Suppress("unused")
@Aspect
class SingleClickAspect {
private var lastTime: Long = 0
private var lastTag: String? = null
@Pointcut("execution(@com.localee.mireo.app.aop.SingleClick * *(..))")
fun method() {}
@Around("method() && @annotation(singleClick)")
@Throws(Throwable::class)
fun aroundJoinPoint(joinPoint: ProceedingJoinPoint, singleClick: SingleClick) {
val codeSignature: CodeSignature = joinPoint.signature as CodeSignature
val className: String = codeSignature.declaringType.name
val methodName: String = codeSignature.name
val builder: StringBuilder = StringBuilder("$className.$methodName")
builder.append("(")
val parameterValues: Array<Any?> = joinPoint.args
for (i in parameterValues.indices) {
val arg: Any? = parameterValues[i]
if (i == 0) {
builder.append(arg)
} else {
builder.append(", ")
.append(arg)
}
}
builder.append(")")
val tag: String = builder.toString()
val currentTimeMillis: Long = System.currentTimeMillis()
if (currentTimeMillis - lastTime < singleClick.value && (tag == lastTag)) {
Timber.tag("SingleClick")
Timber.i("Within %s milliseconds, there was a rapid click%s", singleClick.value, tag)
return
}
lastTime = currentTimeMillis
lastTag = tag
joinPoint.proceed()
}
}

View File

@ -1,165 +0,0 @@
package com.localee.mireo.app.app
import android.app.Activity
import android.app.Application
import android.content.Context
import android.net.ConnectivityManager
import android.net.Network
import android.os.Build
import androidx.core.content.ContextCompat
import androidx.lifecycle.Lifecycle
import androidx.lifecycle.LifecycleOwner
import com.google.gson.reflect.TypeToken
import com.google.gson.stream.JsonToken
import com.hjq.bar.TitleBar
import com.hjq.gson.factory.GsonFactory
import com.hjq.http.EasyConfig
import com.hjq.http.config.IRequestInterceptor
import com.hjq.http.model.HttpHeaders
import com.hjq.http.model.HttpParams
import com.hjq.http.request.HttpRequest
import com.hjq.toast.ToastUtils
import com.localee.mireo.app.R
import com.localee.mireo.app.aop.Log
import com.localee.mireo.app.http.exception.HttpBodyInterceptor
import com.localee.mireo.app.http.model.RequestHandler
import com.localee.mireo.app.http.model.RequestServer
import com.localee.mireo.app.manager.ActivityManager
import com.localee.mireo.app.other.AppConfig
import com.localee.mireo.app.other.CrashHandler
import com.localee.mireo.app.other.DebugLoggerTree
import com.localee.mireo.app.other.MaterialHeader
import com.localee.mireo.app.other.SmartBallPulseFooter
import com.localee.mireo.app.other.TitleBarStyle
import com.localee.mireo.app.other.ToastStyle
import com.localee.mireo.app.utils.MsMMKVUtils
import com.localee.mireo.app.utils.MsSystemUtlis
import com.scwang.smart.refresh.layout.SmartRefreshLayout
import com.scwang.smart.refresh.layout.api.RefreshLayout
import com.tencent.mmkv.MMKV
import okhttp3.OkHttpClient
import timber.log.Timber
class AppApplication : Application() {
@Log("启动耗时")
override fun onCreate() {
super.onCreate()
instance = this;
initSdk(this)
}
override fun onLowMemory() {
super.onLowMemory()
}
override fun onTrimMemory(level: Int) {
super.onTrimMemory(level)
}
companion object {
lateinit var instance: Application;
var isCurrentPage: Boolean = true
fun initSdk(application: Application) {
TitleBar.setDefaultStyle(TitleBarStyle())
SmartRefreshLayout.setDefaultRefreshHeaderCreator { context: Context, layout: RefreshLayout ->
MaterialHeader(context).setColorSchemeColors(
ContextCompat.getColor(
context,
R.color.common_accent_color
)
)
}
SmartRefreshLayout.setDefaultRefreshFooterCreator { context: Context, layout: RefreshLayout ->
SmartBallPulseFooter(context)
}
SmartRefreshLayout.setDefaultRefreshInitializer { context: Context, layout: RefreshLayout ->
layout.setEnableHeaderTranslationContent(true)
.setEnableFooterTranslationContent(true)
.setEnableFooterFollowWhenNoMoreData(true)
.setEnableLoadMoreWhenContentNotFull(false)
.setEnableOverScrollDrag(false)
}
ToastUtils.init(application, ToastStyle())
ToastUtils.setDebugMode(AppConfig.isDebug())
CrashHandler.register(application)
ActivityManager.getInstance().init(application)
MMKV.initialize(application)
val okHttpClient: OkHttpClient = OkHttpClient.Builder()
.addInterceptor(HttpBodyInterceptor())
.build()
EasyConfig.with(okHttpClient)
.setLogEnabled(AppConfig.isLogEnable())
.setServer(RequestServer())
.setHandler(RequestHandler(application))
.setRetryCount(1)
.setInterceptor(object : IRequestInterceptor {
override fun interceptArguments(
httpRequest: HttpRequest<*>,
params: HttpParams,
headers: HttpHeaders
) {
headers.put("Content-Type", "application/json; charset=utf-8")
headers.put("Content-Type", "text/plain; charset=utf-8")
headers.put("Authorization", MsMMKVUtils.getToken())
headers.put(
"device-id",
MsSystemUtlis.getDeviceId(instance).toString()
)
headers.put(
"lang-key",
"en"
)
headers.put("system-type", "android")
headers.put(
"app_version",
MsSystemUtlis.getVerNameInfo(instance)
)
// headers.put("security","true")
}
})
.into()
GsonFactory.setJsonCallback { typeToken: TypeToken<*>, fieldName: String?, jsonToken: JsonToken ->
}
if (AppConfig.isLogEnable()) {
Timber.plant(DebugLoggerTree())
}
val connectivityManager: ConnectivityManager? =
ContextCompat.getSystemService(application, ConnectivityManager::class.java)
if (connectivityManager != null && Build.VERSION.SDK_INT >= Build.VERSION_CODES.N) {
connectivityManager.registerDefaultNetworkCallback(object :
ConnectivityManager.NetworkCallback() {
override fun onLost(network: Network) {
val topActivity: Activity? = ActivityManager.getInstance().getTopActivity()
if (topActivity !is LifecycleOwner) {
return
}
val lifecycleOwner: LifecycleOwner = topActivity
if (lifecycleOwner.lifecycle.currentState != Lifecycle.State.RESUMED) {
return
}
ToastUtils.show(R.string.common_network_error)
}
})
}
}
}
}

View File

@ -1,19 +0,0 @@
package com.localee.mireo.app.other
import android.os.Build
import timber.log.Timber.DebugTree
class DebugLoggerTree : DebugTree() {
companion object {
private const val MAX_TAG_LENGTH: Int = 23
}
override fun createStackElementTag(element: StackTraceElement): String {
val tag: String = "(" + element.fileName + ":" + element.lineNumber + ")"
if (tag.length <= MAX_TAG_LENGTH || Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) {
return tag
}
return tag.substring(0, MAX_TAG_LENGTH)
}
}

View File

@ -1,188 +0,0 @@
package com.localee.mireo.app.other
import android.app.Activity
import android.content.*
import android.os.*
import com.hjq.base.BaseDialog
import com.localee.mireo.app.manager.*
import com.localee.mireo.app.ui.dialog.MessageDialog
import com.hjq.permissions.OnPermissionCallback
import com.hjq.permissions.Permission
import com.hjq.permissions.XXPermissions
import com.hjq.toast.ToastUtils
import com.localee.mireo.app.manager.ActivityManager
import java.util.*
import com.localee.mireo.app.R
abstract class PermissionCallback : OnPermissionCallback {
override fun onDenied(permissions: MutableList<String>, never: Boolean) {
if (never) {
showPermissionDialog(permissions)
return
}
if (permissions.size == 1 && (Permission.ACCESS_BACKGROUND_LOCATION == permissions[0])) {
ToastUtils.show(R.string.common_permission_fail_4)
return
}
ToastUtils.show(R.string.common_permission_fail_1)
}
protected fun showPermissionDialog(permissions: MutableList<String>) {
val activity: Activity? = ActivityManager.getInstance().getTopActivity()
if ((activity == null) || activity.isFinishing || activity.isDestroyed) {
return
}
MessageDialog.Builder(activity)
.setTitle(R.string.common_permission_alert)
.setMessage(getPermissionHint(activity, permissions))
.setConfirm(R.string.common_permission_goto)
.setCancel(null)
.setCancelable(false)
.setListener(object : MessageDialog.OnListener {
override fun onConfirm(dialog: BaseDialog?) {
XXPermissions.startPermissionActivity(activity, permissions)
}
})
.show()
}
protected fun getPermissionHint(context: Context, permissions: MutableList<String>): String {
if (permissions.isEmpty()) {
return context.getString(R.string.common_permission_fail_2)
}
val hints: MutableList<String> = ArrayList()
for (permission: String? in permissions) {
when (permission) {
Permission.READ_EXTERNAL_STORAGE,
Permission.WRITE_EXTERNAL_STORAGE,
Permission.MANAGE_EXTERNAL_STORAGE -> {
val hint: String = context.getString(R.string.common_permission_storage)
if (!hints.contains(hint)) {
hints.add(hint)
}
}
Permission.CAMERA -> {
val hint: String = context.getString(R.string.common_permission_camera)
if (!hints.contains(hint)) {
hints.add(hint)
}
}
Permission.RECORD_AUDIO -> {
val hint: String = context.getString(R.string.common_permission_microphone)
if (!hints.contains(hint)) {
hints.add(hint)
}
}
Permission.ACCESS_FINE_LOCATION,
Permission.ACCESS_COARSE_LOCATION,
Permission.ACCESS_BACKGROUND_LOCATION -> {
val hint: String = if (!permissions.contains(Permission.ACCESS_FINE_LOCATION) &&
!permissions.contains(Permission.ACCESS_COARSE_LOCATION)) {
context.getString(R.string.common_permission_location_background)
} else {
context.getString(R.string.common_permission_location)
}
if (!hints.contains(hint)) {
hints.add(hint)
}
}
Permission.READ_PHONE_STATE,
Permission.CALL_PHONE,
Permission.ADD_VOICEMAIL,
Permission.USE_SIP,
Permission.READ_PHONE_NUMBERS,
Permission.ANSWER_PHONE_CALLS -> {
val hint: String = context.getString(R.string.common_permission_phone)
if (!hints.contains(hint)) {
hints.add(hint)
}
}
Permission.GET_ACCOUNTS,
Permission.READ_CONTACTS,
Permission.WRITE_CONTACTS -> {
val hint: String = context.getString(R.string.common_permission_contacts)
if (!hints.contains(hint)) {
hints.add(hint)
}
}
Permission.READ_CALENDAR,
Permission.WRITE_CALENDAR -> {
val hint: String = context.getString(R.string.common_permission_calendar)
if (!hints.contains(hint)) {
hints.add(hint)
}
}
Permission.READ_CALL_LOG,
Permission.WRITE_CALL_LOG,
Permission.PROCESS_OUTGOING_CALLS -> {
val hint: String = context.getString(if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.Q) R.string.common_permission_call_log else R.string.common_permission_phone)
if (!hints.contains(hint)) {
hints.add(hint)
}
}
Permission.BODY_SENSORS -> {
val hint: String = context.getString(R.string.common_permission_sensors)
if (!hints.contains(hint)) {
hints.add(hint)
}
}
Permission.ACTIVITY_RECOGNITION -> {
val hint: String = context.getString(R.string.common_permission_activity_recognition)
if (!hints.contains(hint)) {
hints.add(hint)
}
}
Permission.SEND_SMS,
Permission.RECEIVE_SMS,
Permission.READ_SMS,
Permission.RECEIVE_WAP_PUSH,
Permission.RECEIVE_MMS -> {
val hint: String = context.getString(R.string.common_permission_sms)
if (!hints.contains(hint)) {
hints.add(hint)
}
}
Permission.REQUEST_INSTALL_PACKAGES -> {
val hint: String = context.getString(R.string.common_permission_install)
if (!hints.contains(hint)) {
hints.add(hint)
}
}
Permission.NOTIFICATION_SERVICE -> {
val hint: String = context.getString(R.string.common_permission_notification)
if (!hints.contains(hint)) {
hints.add(hint)
}
}
Permission.SYSTEM_ALERT_WINDOW -> {
val hint: String = context.getString(R.string.common_permission_window)
if (!hints.contains(hint)) {
hints.add(hint)
}
}
Permission.WRITE_SETTINGS -> {
val hint: String = context.getString(R.string.common_permission_setting)
if (!hints.contains(hint)) {
hints.add(hint)
}
}
}
}
if (hints.isNotEmpty()) {
val builder: StringBuilder = StringBuilder()
for (text: String? in hints) {
if (builder.isEmpty()) {
builder.append(text)
} else {
builder.append("")
.append(text)
}
}
builder.append(" ")
return context.getString(R.string.common_permission_fail_3, builder.toString())
}
return context.getString(R.string.common_permission_fail_2)
}
}

View File

@ -1,45 +0,0 @@
package com.localee.mireo.app.ui.activity
import android.content.Intent
import android.net.Uri
import android.view.View
import com.localee.mireo.app.R
import com.localee.mireo.app.aop.SingleClick
import com.localee.mireo.app.app.AppActivity
import com.localee.mireo.app.other.MsConstants
class AboutActivity : AppActivity() {
override fun getLayoutId(): Int {
return R.layout.about_activity
}
override fun initView() {
setOnClickListener(R.id.sb_about_web, R.id.sb_about_privacy, R.id.sb_about_agreement)
}
override fun initData() {
}
@SingleClick
override fun onClick(view: View) {
when (view.id) {
R.id.sb_about_web -> {
val webIntent = Intent(Intent.ACTION_VIEW, Uri.parse(MsConstants.Constants_web))
startActivity(webIntent)
}
R.id.sb_about_privacy -> {
BrowserActivity.start(this, MsConstants.Constants_privacy_policy)
}
R.id.sb_about_agreement -> {
BrowserActivity.start(this, MsConstants.Constants_user_agreement)
}
}
}
}

View File

@ -1,171 +0,0 @@
package com.localee.mireo.app.ui.activity
import android.app.Activity
import android.content.Context
import android.content.Intent
import android.os.Bundle
import androidx.activity.viewModels
import androidx.core.content.ContextCompat
import androidx.recyclerview.widget.RecyclerView
import androidx.viewpager.widget.ViewPager
import com.localee.mireo.app.utils.MsMMKVUtils
import com.gyf.immersionbar.ImmersionBar
import com.hjq.base.FragmentPagerAdapter
import com.hjq.http.EasyHttp
import com.hjq.http.listener.HttpCallbackProxy
import com.localee.mireo.app.R
import com.localee.mireo.app.app.AppActivity
import com.localee.mireo.app.app.AppFragment
import com.localee.mireo.app.http.api.UserInfoApi
import com.localee.mireo.app.http.api.UserInfoRes
import com.localee.mireo.app.http.model.HttpData
import com.localee.mireo.app.ui.adapter.NavigationAdapter
import com.localee.mireo.app.ui.fragment.ExploreFragment
import com.localee.mireo.app.ui.fragment.HomeFragment
import com.localee.mireo.app.ui.fragment.MessageFragment
import com.localee.mireo.app.ui.fragment.MineFragment
import com.localee.mireo.app.ui.fragment.SharedViewModel
class HomeActivity : AppActivity(), NavigationAdapter.OnNavigationListener {
companion object {
private const val INTENT_KEY_IN_FRAGMENT_INDEX: String = "fragmentIndex"
private const val INTENT_KEY_IN_FRAGMENT_CLASS: String = "fragmentClass"
@JvmOverloads
fun start(
context: Context,
fragmentClass: Class<out AppFragment<*>?>? = HomeFragment::class.java
) {
val intent = Intent(context, HomeActivity::class.java)
intent.putExtra(INTENT_KEY_IN_FRAGMENT_CLASS, fragmentClass)
if (context !is Activity) {
intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK)
}
context.startActivity(intent)
}
}
private val viewPager: ViewPager? by lazy { findViewById(R.id.vp_home_pager) }
private val navigationView: RecyclerView? by lazy { findViewById(R.id.rv_home_navigation) }
private var navigationAdapter: NavigationAdapter? = null
private var pagerAdapter: FragmentPagerAdapter<AppFragment<*>>? = null
private val viewModel: SharedViewModel by viewModels()
override fun getLayoutId(): Int {
return R.layout.home_activity
}
override fun initView() {
navigationAdapter = NavigationAdapter(this).apply {
addItem(
NavigationAdapter.MenuItem(
getString(R.string.home_nav_index),
ContextCompat.getDrawable(this@HomeActivity, R.drawable.home_home_selector)
)
)
addItem(
NavigationAdapter.MenuItem(
getString(R.string.home_nav_explore),
ContextCompat.getDrawable(this@HomeActivity, R.drawable.home_explore_selector)
)
)
addItem(
NavigationAdapter.MenuItem(
getString(R.string.home_nav_my_list),
ContextCompat.getDrawable(this@HomeActivity, R.drawable.home_my_list_selector)
)
)
addItem(
NavigationAdapter.MenuItem(
getString(R.string.home_nav_me),
ContextCompat.getDrawable(this@HomeActivity, R.drawable.home_me_selector)
)
)
setOnNavigationListener(this@HomeActivity)
navigationView?.adapter = this
}
}
override fun initData() {
// getCustomerUser()
pagerAdapter = FragmentPagerAdapter<AppFragment<*>>(this).apply {
addFragment(HomeFragment.newInstance())
addFragment(ExploreFragment.newInstance())
addFragment(MessageFragment.newInstance())
addFragment(MineFragment.newInstance())
viewPager?.adapter = this
}
onNewIntent(intent)
viewModel.action.observe(this) { data ->
switchFragment(data);
}
}
override fun onNewIntent(intent: Intent?) {
super.onNewIntent(intent)
pagerAdapter?.let {
switchFragment(it.getFragmentIndex(getSerializable(INTENT_KEY_IN_FRAGMENT_CLASS)))
}
}
override fun onSaveInstanceState(outState: Bundle) {
super.onSaveInstanceState(outState)
viewPager?.let {
outState.putInt(INTENT_KEY_IN_FRAGMENT_INDEX, it.currentItem)
}
}
override fun onRestoreInstanceState(savedInstanceState: Bundle) {
super.onRestoreInstanceState(savedInstanceState)
switchFragment(savedInstanceState.getInt(INTENT_KEY_IN_FRAGMENT_INDEX))
}
private fun switchFragment(fragmentIndex: Int) {
if (fragmentIndex == -1) {
return
}
when (fragmentIndex) {
0, 1, 2, 3 -> {
viewPager?.currentItem = fragmentIndex
navigationAdapter?.setSelectedPosition(fragmentIndex)
}
}
}
/**
* [NavigationAdapter.OnNavigationListener]
*/
override fun onNavigationItemSelected(position: Int): Boolean {
return when (position) {
0, 1, 2, 3 -> {
viewPager?.currentItem = position
true
}
else -> false
}
}
override fun createStatusBarConfig(): ImmersionBar {
return super.createStatusBarConfig()
.navigationBarColor(R.color.white)
}
override fun onBackPressed() {
moveTaskToBack(false)
}
override fun onDestroy() {
super.onDestroy()
viewPager?.adapter = null
navigationView?.adapter = null
navigationAdapter?.setOnNavigationListener(null)
}
}

View File

@ -1,178 +0,0 @@
package com.localee.mireo.app.ui.activity
import android.content.Intent
import android.text.Editable
import android.text.TextUtils
import android.text.TextWatcher
import android.view.KeyEvent
import android.view.inputmethod.EditorInfo
import android.widget.EditText
import android.widget.ImageView
import androidx.recyclerview.widget.LinearLayoutManager
import androidx.recyclerview.widget.RecyclerView
import com.hjq.http.EasyHttp
import com.hjq.http.config.IRequestApi
import com.hjq.http.listener.HttpCallbackProxy
import com.localee.mireo.app.R
import com.localee.mireo.app.action.StatusAction
import com.localee.mireo.app.app.AppActivity
import com.localee.mireo.app.http.api.SearchHotApi
import com.localee.mireo.app.http.api.SearchSearchApi
import com.localee.mireo.app.http.model.HttpData
import com.localee.mireo.app.other.MsConstants.CONSTANTS_short_play_id
import com.localee.mireo.app.ui.adapter.SearchHotAdapter
import com.localee.mireo.app.ui.adapter.SearchSearchAdapter
import com.localee.mireo.app.widget.StatusLayout
class SearchActivity : AppActivity(), StatusAction {
private val hintLayout: StatusLayout? by lazy { findViewById(R.id.hl_status_hint) }
private val ivClose: ImageView? by lazy { findViewById(R.id.iv_close) }
private val etSearch: EditText? by lazy { findViewById(R.id.et_search) }
private val recycler: RecyclerView? by lazy { findViewById(R.id.recycler) }
private var mAdapter: SearchHotAdapter? = null
private var mKeyAdapter: SearchSearchAdapter? = null
override fun getLayoutId(): Int {
return R.layout.status_activity
}
override fun initView() {
recycler?.layoutManager =
LinearLayoutManager(this, LinearLayoutManager.VERTICAL, false)
mAdapter = SearchHotAdapter()
mKeyAdapter = SearchSearchAdapter()
recycler?.adapter = mAdapter
// getSearchHot()
}
override fun initData() {
ivClose?.setOnClickListener {
finish()
}
etSearch?.addTextChangedListener(object : TextWatcher {
override fun beforeTextChanged(charSequence: CharSequence, i: Int, i1: Int, i2: Int) {
}
override fun onTextChanged(charSequence: CharSequence, i: Int, i1: Int, i2: Int) {
if (!TextUtils.isEmpty(charSequence.toString())) {
recycler?.adapter = mKeyAdapter
getSearchSearch(charSequence.toString())
} else {
recycler?.adapter = mAdapter
}
}
override fun afterTextChanged(editable: Editable) {
}
})
etSearch?.setOnEditorActionListener { v, actionId, event ->
if (actionId == EditorInfo.IME_ACTION_DONE ||
(event != null && event.action == KeyEvent.ACTION_DOWN &&
event.keyCode == KeyEvent.KEYCODE_ENTER)
) {
hideKeyboard(v)
true
} else {
false
}
}
mAdapter?.setOnItemClickListener { adapter, view, position ->
val searchHot: SearchHotApi.Bean.Data =
adapter.items.get(position)
startActivity(
Intent(
this,
VideoPlayActivity::class.java
).apply {
searchHot.short_play_id.let {
putExtra(CONSTANTS_short_play_id, it)
}
})
}
mKeyAdapter?.setOnItemClickListener { adapter, view, position ->
val search: SearchSearchApi.Bean.Data =
adapter.items.get(position)
startActivity(
Intent(
this,
VideoPlayActivity::class.java
).apply {
search.short_play_id.let {
putExtra(CONSTANTS_short_play_id, it)
}
})
}
}
fun getSearchHot() {
EasyHttp.get(this)
.api(SearchHotApi().apply {
})
.request(object : HttpCallbackProxy<HttpData<SearchHotApi.Bean>>(this) {
override fun onHttpSuccess(result: HttpData<SearchHotApi.Bean>) {
result.getData()?.let {
if (it.list.isEmpty()) {
hintLayout?.show()
} else {
hintLayout?.hide()
}
mAdapter?.submitList(it.list)
}
}
override fun onHttpFail(throwable: Throwable) {
super.onHttpFail(throwable)
hintLayout?.show()
}
})
}
fun getSearchSearch(searchKey: String) {
EasyHttp.get(this)
.api(SearchSearchApi().apply {
search = searchKey
})
.request(object : HttpCallbackProxy<HttpData<SearchSearchApi.Bean>>(this) {
override fun onHttpStart(api: IRequestApi) {
}
override fun onHttpSuccess(result: HttpData<SearchSearchApi.Bean>) {
result.getData()?.let {
if (it.list.isEmpty()) {
hintLayout?.show()
} else {
hintLayout?.hide()
}
mKeyAdapter?.submitList(it.list)
}
}
override fun onHttpFail(throwable: Throwable) {
super.onHttpFail(throwable)
hintLayout?.show()
}
})
}
override fun getStatusLayout(): StatusLayout? {
return hintLayout
}
}

View File

@ -1,31 +0,0 @@
package com.localee.mireo.app.ui.activity
import com.gyf.immersionbar.BarHide
import com.gyf.immersionbar.ImmersionBar
import com.localee.mireo.app.R
import com.localee.mireo.app.app.AppActivity
class SplashActivity : AppActivity() {
override fun getLayoutId(): Int {
return R.layout.splash_activity
}
override fun initView() {
postDelayed(Runnable {
HomeActivity.start(this@SplashActivity)
finish()
}, 300)
}
override fun initData() {
}
override fun createStatusBarConfig(): ImmersionBar {
return super.createStatusBarConfig()
.hideBar(BarHide.FLAG_HIDE_BAR)
}
}

View File

@ -1,621 +0,0 @@
package com.localee.mireo.app.ui.activity
import android.annotation.SuppressLint
import android.os.Bundle
import android.view.View
import android.view.ViewGroup
import android.view.WindowManager
import android.widget.TextView
import androidx.appcompat.widget.AppCompatImageView
import androidx.appcompat.widget.AppCompatTextView
import androidx.recyclerview.widget.RecyclerView
import androidx.viewpager2.widget.ViewPager2
import com.blankj.utilcode.util.NetworkUtils
import com.localee.mireo.app.utils.MsMMKVUtils
import com.hjq.http.EasyHttp
import com.hjq.http.config.IRequestApi
import com.hjq.http.listener.HttpCallbackProxy
import com.hjq.toast.ToastUtils
import com.localee.mireo.app.R
import com.localee.mireo.app.app.AppActivity
import com.localee.mireo.app.app.BaseEventBus
import com.localee.mireo.app.http.api.CreateHistoryApi
import com.localee.mireo.app.http.api.VideoDetailsApi
import com.localee.mireo.app.http.model.HttpData
import com.localee.mireo.app.other.MsConstants
import com.localee.mireo.app.other.MsConstants.CONSTANTS_activity_id
import com.localee.mireo.app.other.MsConstants.CONSTANTS_quality
import com.localee.mireo.app.other.MsConstants.CONSTANTS_quality_refresh
import com.localee.mireo.app.other.MsConstants.CONSTANTS_short_play_id
import com.localee.mireo.app.other.MsConstants.Constants_Episodes_Series_Data_currentPositionExample
import com.localee.mireo.app.ui.videoPaly.ExamplePlayerDetailDataRes
import com.localee.mireo.app.ui.videoPaly.ExampleSeriesDialogFragment
import com.localee.mireo.app.ui.videoPaly.ExampleUnFavoriteDialog
import com.localee.mireo.app.ui.videoPaly.VideoPlayAdapter
import com.localee.mireo.app.ui.videoPaly.VideoPlayerView
import com.localee.mireo.app.utils.DHStringUtils.getPublicRequest
import com.localee.mireo.app.utils.TranslatesUtils
import com.localee.mireo.app.utils.formatNumber
import com.localee.mireo.app.utils.singleClick
import com.scwang.smart.refresh.layout.SmartRefreshLayout
import org.greenrobot.eventbus.EventBus
import org.greenrobot.eventbus.Subscribe
import org.greenrobot.eventbus.ThreadMode
open class VideoPlayActivity : AppActivity(), VideoPlayAdapter.PlayerDetailCollection,
ExampleSeriesDialogFragment.SeriesCallBack {
companion object {
const val INTENT_KEY_PARAMETERS: String = "parameters"
}
private var first: Boolean = true
private var play: Boolean = true
private var qualityRefresh: Boolean = false
// private val exampleRecommendViewModel by lazy { ViewModelProvider(this)[ExampleRecommendViewModel::class.java] }
private var currentPage = 1
private val currentSize = 10
private var currentPosition = 0
private var exampleRecommendAdapter: VideoPlayAdapter? = null
private var data: com.localee.mireo.app.http.api.ExampleRecommendDataRes.Data? = null
private var revolution =
MsMMKVUtils.getMMKV().getInt(MsConstants.CONSTANTS_quality, 0).toString()
private val srRecommend: SmartRefreshLayout? by lazy { findViewById(R.id.sr_recommend) }
private val viewPagerExampleRecommend: ViewPager2? by lazy { findViewById(R.id.viewPager_example_recommend) }
private val exampleNetwork: ViewGroup? by lazy { findViewById(R.id.example_network) }
private val exampleTvNoNetwork: TextView? by lazy { exampleNetwork?.findViewById(R.id.example_tv_no_network) }
private val tvExampleRetry: TextView? by lazy { exampleNetwork?.findViewById(R.id.tv_example_retry) }
private val exampleEmpty: ViewGroup? by lazy { findViewById(R.id.example_empty) }
private val exampleTvEmpty: TextView? by lazy { exampleEmpty?.findViewById(R.id.example_tv_empty) }
private var shortVideoId: Int? = null
private var activityId: Int? = null
private var shortVideo: VideoDetailsApi.Bean.ShortPlayInfo? = null
override fun getLayoutId(): Int {
return R.layout.video_play_activity
}
override fun initView() {
shortVideoId = intent.getIntExtra(CONSTANTS_short_play_id, 0)
activityId = intent.getIntExtra(CONSTANTS_activity_id, 0)
EventBus.getDefault().register(this)
this.window?.setFlags(
WindowManager.LayoutParams.FLAG_SECURE,
WindowManager.LayoutParams.FLAG_SECURE
)
this.window?.addFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON)
exampleTvNoNetwork?.text =
TranslatesUtils.translates()?.no_network
tvExampleRetry?.text = TranslatesUtils.translates()?.retry
exampleTvEmpty?.text = TranslatesUtils.translates()?.s_no_content
}
override fun initData() {
initialization()
MsConstants.ExampleIsCurrentPage = true
if (!play) {
qualityLogic()
} else {
play = false
}
}
fun initialization() {
if (NetworkUtils.isConnected()) {
// avi?.start()
getVideoDetails()
} else {
if (TranslatesUtils.translates() != null) {
ToastUtils.show(TranslatesUtils.translates()?.no_network.toString())
} else {
ToastUtils.show(getString(R.string.example_no_network))
}
exampleNetwork?.visibility = View.VISIBLE
}
srRecommend?.setOnRefreshListener {
if (NetworkUtils.isConnected()) {
// avi?.start()
currentPage = 1
viewPagerExampleRecommend?.post {
detailPlayerView()?.stop()
detailPlayerView()?.release()
}
getVideoDetails()
} else {
if (TranslatesUtils.translates() != null) {
ToastUtils.show(TranslatesUtils.translates()?.no_network.toString())
} else {
ToastUtils.show(getString(R.string.example_no_network))
}
}
}
viewPagerExampleRecommend?.registerOnPageChangeCallback(object :
ViewPager2.OnPageChangeCallback() {
@SuppressLint("NotifyDataSetChanged")
override fun onPageSelected(position: Int) {
super.onPageSelected(position)
currentPosition = position
val previousPosition = exampleRecommendAdapter?.currentPlayingPosition
if (previousPosition != position) {
exampleRecommendAdapter?.recyclerView?.post { exampleRecommendAdapter?.notifyDataSetChanged() }
}
exampleRecommendAdapter?.currentPlayingPosition = position
previousPosition?.let {
val recyclerView =
viewPagerExampleRecommend?.getChildAt(0) as RecyclerView
val exampleDetailPlayerView =
recyclerView.layoutManager?.findViewByPosition(it) as VideoPlayerView?
if (null != exampleDetailPlayerView) {
val episode1 =
exampleRecommendAdapter?.items?.get(it)
episode1?.short_play_id?.let { it1 ->
episode1?.short_play_video_id?.let { it2 ->
createHistory(
it1,
it2
)
}
}
}
}
}
override fun onPageScrollStateChanged(state: Int) {
super.onPageScrollStateChanged(state)
when (state) {
ViewPager2.SCROLL_STATE_IDLE -> {
if (viewPagerExampleRecommend?.currentItem == viewPagerExampleRecommend?.adapter?.itemCount?.minus(
1
)
) {
if (!first) {
getVideoDetails()
} else {
first = false
}
}
}
ViewPager2.SCROLL_STATE_DRAGGING -> {
}
ViewPager2.SCROLL_STATE_SETTLING -> {
}
}
}
})
exampleTvEmpty?.setOnClickListener {
singleClick {
if (!NetworkUtils.isConnected()) {
if (TranslatesUtils.translates() != null) {
ToastUtils.show(TranslatesUtils.translates()?.no_network.toString())
} else {
ToastUtils.show(getString(R.string.example_no_network))
}
return@singleClick
}
// avi?.start()
currentPage = 1
getVideoDetails()
}
}
tvExampleRetry?.setOnClickListener {
singleClick {
if (!NetworkUtils.isConnected()) {
if (TranslatesUtils.translates() != null) {
ToastUtils.show(TranslatesUtils.translates()?.no_network.toString())
} else {
ToastUtils.show(getString(R.string.example_no_network))
}
return@singleClick
}
// avi?.start()
currentPage = 1
getVideoDetails()
}
}
}
// override fun onHiddenChanged(hidden: Boolean) {
// super.onHiddenChanged(hidden)
// if (!hidden) {
// activity?.window?.addFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON)
// MsConstants.ExampleIsCurrentPage = true
// qualityLogic()
// } else {
// activity?.window?.clearFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON)
// MsConstants.ExampleIsCurrentPage = false
// srRecommend?.postDelayed({ detailPlayerView()?.pause() }, 300)
// }
// }
override fun onResume() {
super.onResume()
if (!play) {
detailPlayerView()?.play()
} else {
play = false
}
}
private fun qualityLogic() {
if (qualityRefresh) {
viewPagerExampleRecommend?.post {
detailPlayerView()?.stop()
detailPlayerView()?.release()
}
getVideoDetails()
qualityRefresh = false
} else {
detailPlayerView()?.play()
}
}
override fun onPause() {
super.onPause()
MsConstants.ExampleIsCurrentPage = false
srRecommend?.postDelayed({ detailPlayerView()?.pause() }, 300)
}
fun getVideoDetails() {
EasyHttp.get(this)
.api(VideoDetailsApi().apply {
if (activityId!! != 0) {
video_id = activityId;
}
short_play_id = shortVideoId;
})
.request(object : HttpCallbackProxy<HttpData<VideoDetailsApi.Bean>>(this) {
override fun onHttpSuccess(result: HttpData<VideoDetailsApi.Bean>) {
result.getData()?.let {
if (it.episodeList.isNotEmpty()) {
shortVideo = it.shortPlayInfo
exampleRecommendAdapter = VideoPlayAdapter()
exampleRecommendAdapter?.shortVideo = it.shortPlayInfo
viewPagerExampleRecommend?.adapter = exampleRecommendAdapter
exampleRecommendAdapter?.submitList(it.episodeList)
exampleRecommendAdapter?.playerDetailCollection =
this@VideoPlayActivity
createHistory(
it.episodeList[0].short_play_id,
it.episodeList[0].short_play_video_id
);
exampleNetwork?.visibility = View.INVISIBLE
exampleEmpty?.visibility = View.INVISIBLE
} else {
if (TranslatesUtils.translates() != null) {
ToastUtils.show(TranslatesUtils.translates()?.no_more_data.toString())
} else {
ToastUtils.show(getString(R.string.example_there_s_no_more_data))
}
if (currentPage == 1) {
exampleEmpty?.visibility = View.VISIBLE
}
}
// avi?.stop()
srRecommend?.finishRefresh()
}
}
})
// ExampleRecommendRequest.getVideoDetails(current_page, page_size, revolution)
// .observeForever { result ->
// recommendLiveData.value = result.getOrNull()
// }
}
fun createHistory(videoId: Int, shortPlayId: Int) {
val sMap: MutableMap<String, String?> = LinkedHashMap()
// StringMap = getSortMap(StringMap);
sMap.put("short_play_id", videoId.toString())
sMap.put("video_id", shortPlayId.toString())
EasyHttp.post(this)
.api(CreateHistoryApi())
.body(getPublicRequest(sMap))
.request(object : HttpCallbackProxy<HttpData<Any>>(this) {
override fun onHttpStart(api: IRequestApi) {
}
override fun onHttpSuccess(result: HttpData<Any>) {
}
})
}
fun doCollect(shortPlayId: Int, videoId: Int) {
val sMap: MutableMap<String, String?> = LinkedHashMap()
// StringMap = getSortMap(StringMap);
sMap.put("short_play_id", shortPlayId.toString())
sMap.put("video_id", videoId.toString())
EasyHttp.post(this)
.api(com.localee.mireo.app.http.api.DoCollectApi())
.body(getPublicRequest(sMap))
.request(object : HttpCallbackProxy<HttpData<Any>>(this) {
override fun onHttpSuccess(result: HttpData<Any>) {
result.getData()?.let {
if (it != null) {
val imageView =
detailPlayerView()?.findViewById<AppCompatImageView>(R.id.example_iv_collection_controller)
val textview =
detailPlayerView()?.findViewById<AppCompatTextView>(R.id.example_tv_collection_num_controller)
imageView?.setImageResource(R.mipmap.iv_example_collection_h)
shortVideo?.collect_total = shortVideo?.collect_total?.plus(1)!!
shortVideo?.is_collect = true
textview?.text = formatNumber(shortVideo?.collect_total!!)
textview?.setTextColor(resources.getColor(R.color.example_color_F56490))
exampleRecommendAdapter?.shortVideo = shortVideo
EventBus.getDefault().post(
BaseEventBus(
MsConstants.Constants_Episodes_Series_DataExample,
shortVideo
)
)
if (TranslatesUtils.translates() != null) {
toast(TranslatesUtils.translates()?.success.toString())
}
} else {
if (TranslatesUtils.translates() != null) {
toast(TranslatesUtils.translates()?.network_error.toString())
} else {
toast(getString(R.string.example_service_exception_please_try_again))
}
}
}
}
})
}
fun doCancelCollect(shortPlayId: Int, videoId: Int) {
val sMap: MutableMap<String, String?> = LinkedHashMap()
// StringMap = getSortMap(StringMap);
sMap.put("short_play_id", shortPlayId.toString())
sMap.put("video_id", videoId.toString())
EasyHttp.post(this)
.api(com.localee.mireo.app.http.api.CancelCollectApi())
.body(getPublicRequest(sMap))
.request(object : HttpCallbackProxy<HttpData<Any>>(this) {
override fun onHttpSuccess(result: HttpData<Any>) {
result.getData()?.let {
if (it != null) {
val imageView =
detailPlayerView()?.findViewById<AppCompatImageView>(R.id.example_iv_collection_controller)
val textview =
detailPlayerView()?.findViewById<AppCompatTextView>(R.id.example_tv_collection_num_controller)
imageView?.setImageResource(R.mipmap.iv_example_collection_n)
shortVideo?.collect_total = shortVideo?.collect_total?.minus(1)!!
shortVideo?.is_collect = false
textview?.text = formatNumber(shortVideo?.collect_total!!)
textview?.setTextColor(resources.getColor(R.color.white))
exampleRecommendAdapter?.shortVideo = shortVideo
EventBus.getDefault().post(
BaseEventBus(
MsConstants.Constants_Episodes_Series_DataExample,
shortVideo
)
)
if (TranslatesUtils.translates() != null) {
toast(TranslatesUtils.translates()?.success.toString())
}
} else {
if (TranslatesUtils.translates() != null) {
toast(TranslatesUtils.translates()?.network_error.toString())
} else {
toast(getString(R.string.example_service_exception_please_try_again))
}
}
}
}
})
}
private fun detailPlayerView(): VideoPlayerView? {
try {
val recyclerView = viewPagerExampleRecommend?.getChildAt(0) as RecyclerView
return recyclerView.layoutManager?.findViewByPosition(currentPosition) as VideoPlayerView?
} catch (e: Exception) {
e.printStackTrace()
}
return null
}
override fun onDestroy() {
viewPagerExampleRecommend?.post {
detailPlayerView()?.stop()
detailPlayerView()?.release()
}
super.onDestroy()
EventBus.getDefault().unregister(this)
}
@Subscribe(threadMode = ThreadMode.MAIN)
fun onEvent(event: String) {
if (MsConstants.Constants_RecommendPlayerView_DramaSeriesExample == event) {
if (exampleRecommendAdapter?.items?.isNotEmpty() == true) {
val exampleSeriesDialogFragment = ExampleSeriesDialogFragment()
val bundle = Bundle()
bundle.putInt(
Constants_Episodes_Series_Data_currentPositionExample,
currentPosition
)
bundle.putParcelable(
MsConstants.Constants_Episodes_Series_DataExample,
shortVideo
)
bundle.putParcelableArrayList(
MsConstants.Constants_Episodes_Series_Data_ListExample,
exampleRecommendAdapter?.items?.let { ArrayList(it) }
)
exampleSeriesDialogFragment.seriesCallBack = this
exampleSeriesDialogFragment.arguments = bundle
exampleSeriesDialogFragment.show(
supportFragmentManager,
"ExampleSeriesDialogFragment"
)
}
}
if (MsConstants.Constants_DetailPlayerView_PLAYER_STATUS_FINISHExample == event) {
currentPosition.plus(1)
.let {
exampleRecommendAdapter?.items?.get(it)?.let { it1 ->
if (it1.coins > 0) {
if (MsMMKVUtils.getMMKV().getString(
CONSTANTS_short_play_id,
""
) == shortVideoId.toString()
) {
}
}
}
detailPlayerView()?.stop()
viewPagerExampleRecommend?.currentItem = it
}
}
if (CONSTANTS_quality_refresh == event) {
revolution =
MsMMKVUtils.getMMKV().getInt(MsConstants.CONSTANTS_quality, 0)
.toString()
qualityRefresh = true
}
if (MsConstants.Constants_RecommendPlayerView_CLOSEExample == event) {
finish()
}
if (CONSTANTS_quality == event) {
startActivity(SearchActivity::class.java)
}
}
@Subscribe(threadMode = ThreadMode.MAIN)
fun onEvent(event: BaseEventBus<ExamplePlayerDetailDataRes.ShortPlayInfo>) {
// if (MsConstants.Constants_Episodes_Series_DataExample == event.code) {
// if (exampleRecommendAdapter?.items?.get(currentPosition)?.name == event.data.name) {
// val imageView =
// detailPlayerView()?.findViewById<AppCompatImageView>(R.id.example_iv_collection_controller)
// val textview =
// detailPlayerView()?.findViewById<AppCompatTextView>(R.id.example_tv_collection_num_controller)
// imageView?.setImageResource(if (event.data.is_collect) R.mipmap.iv_example_collection_h else R.mipmap.iv_example_collection_n)
// exampleRecommendAdapter?.items?.get(currentPosition)?.collect_total =
// event.data.collect_total
// exampleRecommendAdapter?.items?.get(currentPosition)?.is_collect =
// event.data.is_collect
// textview?.text = formatNumber(event.data.collect_total)
// }
// }
}
// override fun collection(dataRes: ExampleRecommendDataRes.Data) {
// singleClick {
// data = dataRes
// if (dataRes.is_collect) {
// val exampleUnFavoriteDialog = ExampleUnFavoriteDialog(this)
// val tvThinkAgain =
// exampleUnFavoriteDialog.findViewById<AppCompatTextView>(R.id.example_tv_think_again)
// val tvUnfavorite =
// exampleUnFavoriteDialog.findViewById<AppCompatTextView>(R.id.example_tv_unfavorite)
// val tvTitle =
// exampleUnFavoriteDialog.findViewById<AppCompatTextView>(R.id.example_tv_title)
// val tvContent =
// exampleUnFavoriteDialog.findViewById<AppCompatTextView>(R.id.example_tv_content)
// if (TranslatesUtils.translates() != null) {
// tvThinkAgain.text = TranslatesUtils.translates()?.try_again
// tvUnfavorite.text = TranslatesUtils.translates()?.collection
// tvTitle.text = TranslatesUtils.translates()?.collection
// tvContent.text = TranslatesUtils.translates()?.not_collect_warning
// }
// tvThinkAgain.setOnClickListener { exampleUnFavoriteDialog.dismiss() }
// tvUnfavorite.setOnClickListener {
// dataRes.video_info?.short_play_id?.let {
// dataRes.video_info.short_play_video_id.let { it1 ->
// doCancelCollect(
// it, it1
// )
// }
// }
// exampleUnFavoriteDialog.dismiss()
// }
// exampleUnFavoriteDialog.show()
// } else {
// dataRes.video_info?.short_play_id?.let {
// dataRes.video_info.short_play_video_id.let { it1 ->
// doCollect(
// it, it1
// )
// }
// }
// }
// }
// }
override fun collection(episode: VideoDetailsApi.Bean.Episode) {
singleClick {
if (shortVideo?.is_collect == true) {
val exampleUnFavoriteDialog = ExampleUnFavoriteDialog(this)
val tvThinkAgain =
exampleUnFavoriteDialog.findViewById<AppCompatTextView>(R.id.example_tv_think_again)
val tvUnfavorite =
exampleUnFavoriteDialog.findViewById<AppCompatTextView>(R.id.example_tv_unfavorite)
val tvTitle =
exampleUnFavoriteDialog.findViewById<AppCompatTextView>(R.id.example_tv_title)
val tvContent =
exampleUnFavoriteDialog.findViewById<AppCompatTextView>(R.id.example_tv_content)
if (TranslatesUtils.translates() != null) {
tvThinkAgain.text = TranslatesUtils.translates()?.try_again
tvUnfavorite.text = TranslatesUtils.translates()?.collection
tvTitle.text = TranslatesUtils.translates()?.collection
tvContent.text = TranslatesUtils.translates()?.not_collect_warning
}
tvThinkAgain.setOnClickListener { exampleUnFavoriteDialog.dismiss() }
tvUnfavorite.setOnClickListener {
episode.short_play_id.let {
episode.short_play_video_id.let { it1 ->
doCancelCollect(
it, it1
)
}
}
exampleUnFavoriteDialog.dismiss()
}
exampleUnFavoriteDialog.show()
} else {
episode.short_play_id.let {
episode.short_play_video_id.let { it1 ->
doCollect(
it, it1
)
}
}
}
}
}
override fun chooseSeries(episode: VideoDetailsApi.Bean.Episode) {
postDelayed({ detailPlayerView()?.pause() }, 300)
episode.episode.minus(1)
.let {
viewPagerExampleRecommend?.currentItem = it
}
}
}

View File

@ -1,33 +0,0 @@
package com.localee.mireo.app.ui.dialog
import android.content.*
import android.view.*
import android.widget.TextView
import androidx.annotation.StringRes
import com.hjq.base.BaseDialog
import com.hjq.base.action.AnimAction
import com.localee.mireo.app.R
class WaitDialog {
class Builder(context: Context) : BaseDialog.Builder<Builder>(context) {
private val messageView: TextView? by lazy { findViewById(R.id.tv_wait_message) }
init {
setContentView(R.layout.wait_dialog)
setAnimStyle(AnimAction.ANIM_TOAST)
setBackgroundDimEnabled(false)
setCancelable(false)
}
fun setMessage(@StringRes id: Int): Builder = apply {
setMessage(getString(id))
}
fun setMessage(text: CharSequence?): Builder = apply {
messageView?.text = text
messageView?.visibility = if (text == null) View.GONE else View.VISIBLE
}
}
}

View File

@ -1,153 +0,0 @@
package com.localee.mireo.app.ui.fragment
import android.content.Intent
import android.view.View
import android.widget.TextView
import androidx.fragment.app.activityViewModels
import androidx.recyclerview.widget.LinearLayoutManager
import androidx.recyclerview.widget.RecyclerView
import com.hjq.http.EasyHttp
import com.hjq.http.listener.HttpCallbackProxy
import com.localee.mireo.app.R
import com.localee.mireo.app.aop.SingleClick
import com.localee.mireo.app.app.TitleBarFragment
import com.localee.mireo.app.http.api.HistoryBean
import com.localee.mireo.app.http.api.MyHistoryApi
import com.localee.mireo.app.http.api.UserInfoApi
import com.localee.mireo.app.http.api.UserInfoRes
import com.localee.mireo.app.http.model.HttpData
import com.localee.mireo.app.other.MsConstants
import com.localee.mireo.app.other.MsConstants.CONSTANTS_short_play_id
import com.localee.mireo.app.ui.activity.AboutActivity
import com.localee.mireo.app.ui.activity.BrowserActivity
import com.localee.mireo.app.ui.activity.HomeActivity
import com.localee.mireo.app.ui.activity.SettingActivity
import com.localee.mireo.app.ui.activity.VideoPlayActivity
import com.localee.mireo.app.ui.adapter.MeHistoryAdapter
import com.localee.mireo.app.utils.MsMMKVUtils
class MineFragment : TitleBarFragment<HomeActivity>() {
private val tvId: TextView? by lazy { findViewById(R.id.tv_id) }
private val recyclerView: RecyclerView? by lazy { findViewById(R.id.recyclerView) }
private var mAdapter: MeHistoryAdapter? = null
private val viewModel: SharedViewModel by activityViewModels()
companion object {
fun newInstance(): MineFragment {
return MineFragment()
}
}
override fun getLayoutId(): Int {
return R.layout.mine_fragment
}
override fun initView() {
setOnClickListener(
R.id.sb_play_list,
R.id.sb_setting,
R.id.sb_privacy,
R.id.sb_agreement,
R.id.sb_about
)
recyclerView?.layoutManager =
LinearLayoutManager(context, LinearLayoutManager.HORIZONTAL, false)
mAdapter = MeHistoryAdapter()
recyclerView?.adapter = mAdapter
mAdapter?.setOnItemClickListener { adapter, view, position ->
val data: HistoryBean.Data = adapter.items[position]
startActivity(
Intent(
context,
VideoPlayActivity::class.java
).apply {
putExtra(CONSTANTS_short_play_id, data.short_play_id)
})
}
}
override fun initData() {
tvId?.text = "ID".plus(MsMMKVUtils.getUserInfo()?.customer_id)
}
private var isDataLoaded = false
override fun onResume() {
super.onResume()
if (isVisible && !isDataLoaded) {
getCustomerUser()
isDataLoaded = true
}
getMyHistory(1, 20)
}
@SingleClick
override fun onClick(view: View) {
when (view.id) {
R.id.sb_play_list -> {
viewModel.triggerAction(2)
viewModel.meToHistoryAction(1)
}
R.id.sb_setting -> {
startActivity(SettingActivity::class.java)
}
R.id.sb_privacy -> {
BrowserActivity.start(getAttachActivity()!!, MsConstants.Constants_privacy_policy)
}
R.id.sb_agreement -> {
BrowserActivity.start(getAttachActivity()!!, MsConstants.Constants_user_agreement)
}
R.id.sb_about -> {
startActivity(AboutActivity::class.java)
}
}
}
private fun getCustomerUser() {
EasyHttp.get(this)
.api(UserInfoApi().apply {
})
.request(object : HttpCallbackProxy<HttpData<UserInfoRes>>(this) {
override fun onHttpSuccess(result: HttpData<UserInfoRes>) {
result.getData()?.let {
MsMMKVUtils.saveUserInfo(it)
tvId?.text = "ID".plus(MsMMKVUtils.getUserInfo()?.customer_id)
}
}
})
}
private fun getMyHistory(currentPage: Int, pageSize: Int) {
EasyHttp.get(this)
.api(MyHistoryApi().apply {
current_page = currentPage
page_size = pageSize
})
.request(object : HttpCallbackProxy<HttpData<HistoryBean>>(this) {
override fun onHttpSuccess(result: HttpData<HistoryBean>) {
result.getData()?.let {
mAdapter?.submitList(it.list)
}
}
})
}
override fun isStatusBarEnabled(): Boolean {
return !super.isStatusBarEnabled()
}
}

View File

@ -1,150 +0,0 @@
package com.localee.mireo.app.ui.videoPaly
import android.os.Parcel
import android.os.Parcelable
data class ExamplePlayerDetailDataRes(
val episodeList: List<Episode>,
val is_collect: Boolean,
val show_share_coin: Boolean,
val share_coin: Int,
val install_coins: Int,
val unlock_video_ad_count: Int,
val revolution: Int,
val discount: Int,
var business_model: String,
val shortPlayInfo: ShortPlayInfo,
val video_info: VideoInfo
) {
data class Episode(
val coins: Int,
val episode: Int,
val id: Int,
var is_lock: Boolean,
val is_vip: Int,
val short_play_id: Int,
val short_play_video_id: Int,
val video_url: String,
val vip_coins: Int,
var play_seconds: String?,
var promise_view_ad: Int,
):Parcelable {
constructor(parcel: Parcel) : this(
parcel.readInt(),
parcel.readInt(),
parcel.readInt(),
parcel.readByte() != 0.toByte(),
parcel.readInt(),
parcel.readInt(),
parcel.readInt(),
parcel.readString().toString(),
parcel.readInt(),
parcel.readString().toString(),
parcel.readInt()
) {
}
override fun writeToParcel(parcel: Parcel, flags: Int) {
parcel.writeInt(coins)
parcel.writeInt(episode)
parcel.writeInt(id)
parcel.writeByte(if (is_lock) 1 else 0)
parcel.writeInt(is_vip)
parcel.writeInt(short_play_id)
parcel.writeInt(short_play_video_id)
parcel.writeString(video_url)
parcel.writeInt(vip_coins)
parcel.writeString(play_seconds)
parcel.writeInt(promise_view_ad)
}
override fun describeContents(): Int {
return 0
}
companion object CREATOR : Parcelable.Creator<Episode> {
override fun createFromParcel(parcel: Parcel): Episode {
return Episode(parcel)
}
override fun newArray(size: Int): Array<Episode?> {
return arrayOfNulls(size)
}
}
}
data class ShortPlayInfo(
val all_coins: Int,
val buy_type: Int,
var collect_total: Int,
val description: String,
val episode_total: Int,
val id: Int,
val image_url: String,
var is_collect: Boolean,
val name: String,
val process: Int,
val short_id: Int,
val watch_total: Int
):Parcelable {
constructor(parcel: Parcel) : this(
parcel.readInt(),
parcel.readInt(),
parcel.readInt(),
parcel.readString().toString(),
parcel.readInt(),
parcel.readInt(),
parcel.readString().toString(),
parcel.readByte() != 0.toByte(),
parcel.readString().toString(),
parcel.readInt(),
parcel.readInt(),
parcel.readInt()
) {
}
override fun writeToParcel(parcel: Parcel, flags: Int) {
parcel.writeInt(all_coins)
parcel.writeInt(buy_type)
parcel.writeInt(collect_total)
parcel.writeString(description)
parcel.writeInt(episode_total)
parcel.writeInt(id)
parcel.writeString(image_url)
parcel.writeByte(if (is_collect) 1 else 0)
parcel.writeString(name)
parcel.writeInt(process)
parcel.writeInt(short_id)
parcel.writeInt(watch_total)
}
override fun describeContents(): Int {
return 0
}
companion object CREATOR : Parcelable.Creator<ShortPlayInfo> {
override fun createFromParcel(parcel: Parcel): ShortPlayInfo {
return ShortPlayInfo(parcel)
}
override fun newArray(size: Int): Array<ShortPlayInfo?> {
return arrayOfNulls(size)
}
}
}
data class VideoInfo(
val coins: Int,
val episode: Int,
val id: Int,
val is_vip: Int,
val short_id: Int,
val short_play_id: Int,
val short_play_video_id: Int,
val promise_view_ad: Int,
val video_url: String,
val vip_coins: Int
)
}

View File

@ -1,52 +0,0 @@
package com.localee.mireo.app.utils
import com.google.gson.Gson
import com.localee.mireo.app.http.api.UserInfoRes
import com.localee.mireo.app.other.MsConstants
import com.tencent.mmkv.MMKV
object MsMMKVUtils {
private var mmkv: MMKV? = null
fun getMMKV(): MMKV {
if (mmkv == null) {
mmkv = MMKV.defaultMMKV()
}
return mmkv!!
}
fun saveToken(token :String){
getMMKV().putString(MsConstants.ACCESS_TOKEN, token)
}
fun getToken(): String {
val close = getMMKV().getString(MsConstants.ACCESS_TOKEN, "")
return close.toString();
}
fun saveLangs(token: String) {
getMMKV().putString(MsConstants.APP_LANG, token)
}
fun getLangs(): String {
val close = getMMKV().getString(MsConstants.APP_LANG, "")
return close.toString();
}
fun saveUserInfo(infoRes: UserInfoRes?) {
val toJson = Gson().toJson(infoRes)
getMMKV()
.putString(MsConstants.CONSTANTS_User_STRING, toJson)
}
fun getUserInfo(): UserInfoRes? {
val string = getMMKV().getString(MsConstants.CONSTANTS_User_STRING, "{}")
if ("{}" == string) {
return UserInfoRes.createWithDefaults()
}
return Gson().fromJson(string, UserInfoRes::class.java)
}
}

View File

@ -1,7 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<com.github.chrisbanes.photoview.PhotoView
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".ui.adapter.ImagePreviewAdapter" />

View File

@ -1,120 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="#121418"
android:orientation="vertical">
<com.hjq.shape.view.ShapeImageView
android:id="@+id/iv_portrait"
android:layout_width="@dimen/dp_71"
android:layout_height="@dimen/dp_71"
android:layout_marginStart="@dimen/dp_19"
android:layout_marginTop="@dimen/dp_70"
android:src="@mipmap/iv_login_icon"
app:shape_radius="@dimen/dp_50" />
<TextView
android:id="@+id/tv_name"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignTop="@+id/iv_portrait"
android:layout_marginStart="@dimen/sp_12"
android:layout_marginTop="@dimen/dp_12"
android:layout_toEndOf="@+id/iv_portrait"
android:text="Guest"
android:textColor="#E5BCA7"
android:textSize="@dimen/sp_15"
android:visibility="invisible" />
<TextView
android:id="@+id/tv_id"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@+id/tv_name"
android:layout_alignTop="@+id/iv_portrait"
android:layout_alignBottom="@+id/iv_portrait"
android:layout_marginStart="@dimen/sp_12"
android:layout_toEndOf="@+id/iv_portrait"
android:gravity="center_vertical"
android:text="ID: "
android:textColor="#919191"
android:textSize="@dimen/sp_11" />
<com.hjq.widget.layout.SettingBar
android:id="@+id/sb_play_list"
android:layout_width="match_parent"
android:layout_height="@dimen/dp_45"
android:layout_below="@+id/iv_portrait"
android:layout_marginTop="@dimen/sp_15"
android:background="@color/transparent"
app:bar_leftText="Play List"
app:bar_leftTextColor="@color/white"
app:bar_lineVisible="false"
app:bar_rightDrawable="@mipmap/iv_me_right" />
<androidx.recyclerview.widget.RecyclerView
android:id="@+id/recyclerView"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_below="@+id/sb_play_list"
android:layout_marginLeft="@dimen/dp_10" />
<com.hjq.widget.layout.SettingBar
android:id="@+id/sb_setting"
android:layout_width="match_parent"
android:layout_height="@dimen/dp_45"
android:layout_below="@+id/recyclerView"
android:layout_marginTop="@dimen/sp_15"
android:background="@color/transparent"
app:bar_leftDrawable="@mipmap/iv_me_setting"
app:bar_leftDrawablePadding="@dimen/dp_10"
app:bar_leftText="Setting"
app:bar_leftTextColor="@color/white"
app:bar_lineVisible="false"
app:bar_rightDrawable="@mipmap/iv_me_right" />
<com.hjq.widget.layout.SettingBar
android:id="@+id/sb_privacy"
android:layout_width="match_parent"
android:layout_height="@dimen/dp_45"
android:layout_below="@+id/sb_setting"
android:background="@color/transparent"
app:bar_leftDrawable="@mipmap/iv_me_privacy"
app:bar_leftDrawablePadding="@dimen/dp_10"
app:bar_leftText="Privacy Policy"
app:bar_leftTextColor="@color/white"
app:bar_lineVisible="false"
app:bar_rightDrawable="@mipmap/iv_me_right" />
<com.hjq.widget.layout.SettingBar
android:id="@+id/sb_agreement"
android:layout_width="match_parent"
android:layout_height="@dimen/dp_45"
android:layout_below="@+id/sb_privacy"
android:background="@color/transparent"
app:bar_leftDrawable="@mipmap/iv_me_agreement"
app:bar_leftDrawablePadding="@dimen/dp_10"
app:bar_leftText="User Agreement"
app:bar_leftTextColor="@color/white"
app:bar_lineVisible="false"
app:bar_rightDrawable="@mipmap/iv_me_right" />
<com.hjq.widget.layout.SettingBar
android:id="@+id/sb_about"
android:layout_width="match_parent"
android:layout_height="@dimen/dp_45"
android:layout_below="@+id/sb_agreement"
android:background="@color/transparent"
app:bar_leftDrawable="@mipmap/iv_me_help"
app:bar_leftDrawablePadding="@dimen/dp_10"
app:bar_leftText="About Us"
app:bar_leftTextColor="@color/white"
app:bar_lineVisible="false"
app:bar_rightDrawable="@mipmap/iv_me_right" />
</RelativeLayout>

View File

@ -1,166 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@color/black"
android:orientation="vertical">
<VideoView
android:id="@+id/vv_player_view_video"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_gravity="center"
android:keepScreenOn="true" />
<FrameLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:fitsSystemWindows="true"
android:orientation="vertical">
<com.hjq.shape.layout.ShapeFrameLayout
android:id="@+id/ll_player_view_top"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_gravity="top"
android:orientation="horizontal"
android:visibility="invisible"
>
<androidx.appcompat.widget.AppCompatImageView
android:id="@+id/iv_player_view_left"
android:layout_width="@dimen/dp_50"
android:layout_height="@dimen/dp_50"
android:layout_gravity="center_vertical"
android:padding="@dimen/dp_10"
android:visibility="invisible"
app:srcCompat="@drawable/arrows_left_ic"
app:tint="@color/white"
tools:visibility="visible" />
<androidx.appcompat.widget.AppCompatTextView
android:id="@+id/tv_player_view_title"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:layout_marginHorizontal="@dimen/dp_50"
android:ellipsize="marquee"
android:gravity="center_horizontal"
android:singleLine="true"
android:textColor="@color/white"
android:textSize="@dimen/sp_17"
tools:text="我是视频标题" />
</com.hjq.shape.layout.ShapeFrameLayout>
<com.hjq.widget.view.PlayButton
android:id="@+id/iv_player_view_control"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:visibility="invisible"
tools:visibility="visible" />
<com.hjq.shape.view.ShapeImageView
android:id="@+id/iv_player_view_lock"
android:layout_width="@dimen/dp_45"
android:layout_height="@dimen/dp_45"
android:layout_gravity="start|center_vertical"
android:layout_marginStart="@dimen/dp_5"
android:padding="@dimen/dp_10"
android:visibility="invisible"
/>
<com.hjq.shape.layout.ShapeLinearLayout
android:id="@+id/ll_player_view_bottom"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_gravity="bottom"
android:gravity="center_vertical"
android:orientation="horizontal"
android:paddingHorizontal="@dimen/dp_15"
android:visibility="invisible"
>
<androidx.appcompat.widget.AppCompatTextView
android:id="@+id/tv_player_view_play_time"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textColor="@color/white"
android:textSize="@dimen/sp_14"
tools:text="00:00" />
<androidx.appcompat.widget.AppCompatSeekBar
android:id="@+id/sb_player_view_progress"
android:layout_width="0px"
android:layout_height="wrap_content"
android:layout_weight="1"
android:foreground="@null"
android:maxHeight="@dimen/dp_2"
android:paddingVertical="@dimen/dp_10"
android:progressDrawable="@drawable/video_progress_bg"
android:thumb="@drawable/video_progress_ball_bg"
tools:max="100"
tools:progress="50"
tools:secondaryProgress="80"
tools:targetApi="m" />
<androidx.appcompat.widget.AppCompatTextView
android:id="@+id/tv_player_view_total_time"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textColor="@color/white"
android:textSize="@dimen/sp_14"
tools:text="10:00" />
</com.hjq.shape.layout.ShapeLinearLayout>
</FrameLayout>
<androidx.cardview.widget.CardView
android:id="@+id/cv_player_view_message"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:gravity="center"
android:orientation="vertical"
android:visibility="gone"
app:cardBackgroundColor="@color/black85"
app:cardCornerRadius="@dimen/dp_15"
app:cardElevation="0px"
tools:visibility="visible">
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:gravity="center"
android:minWidth="@dimen/dp_110"
android:minHeight="@dimen/dp_110"
android:orientation="vertical"
android:padding="@dimen/dp_10">
<com.airbnb.lottie.LottieAnimationView
android:id="@+id/lav_player_view_lottie"
android:layout_width="@dimen/dp_70"
android:layout_height="@dimen/dp_70"
app:lottie_autoPlay="false"
app:lottie_loop="true"
app:lottie_rawRes="@raw/progress" />
<com.hjq.widget.view.SmartTextView
android:id="@+id/tv_player_view_message"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginHorizontal="@dimen/dp_15"
android:layout_marginTop="@dimen/dp_5"
android:maxLines="3"
android:textColor="@color/white"
android:textSize="@dimen/sp_14"
tools:text="@string/common_loading" />
</LinearLayout>
</androidx.cardview.widget.CardView>
</FrameLayout>

View File

@ -1,5 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<adaptive-icon xmlns:android="http://schemas.android.com/apk/res/android">
<background android:drawable="@drawable/ic_launcher_background"/>
<foreground android:drawable="@mipmap/ic_launcher_foreground"/>
</adaptive-icon>

View File

@ -1,5 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<adaptive-icon xmlns:android="http://schemas.android.com/apk/res/android">
<background android:drawable="@drawable/ic_launcher_background"/>
<foreground android:drawable="@mipmap/ic_launcher_foreground"/>
</adaptive-icon>

View File

@ -1,5 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<resources>
</resources>

View File

@ -1,26 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<resources>
<color name="common_primary_color">@color/white</color>
<color name="common_primary_dark_color">@color/black121418</color>
<color name="common_accent_color">#5A8DDF</color>
<color name="common_window_background_color">#F4F4F4</color>
<color name="common_text_color">#333333</color>
<color name="common_text_hint_color">@color/panda</color>
<color name="common_button_pressed_color">#AA5A8DDF</color>
<color name="common_button_disable_color">#BBBBBB</color>
<color name="common_line_color">#ECECEC</color>
<color name="common_icon_color">#7C7C7C</color>
<color name="common_confirm_text_color">#007AFF</color>
<color name="common_cancel_text_color">#F44336</color>
<color name="settingsDrillExtraction">#503981</color>
<color name="colorAccent">#D81B60</color>
<color name="example_color_080B16">#080B16</color>
<color name="example_color_F56490">#F56490</color>
<color name="example_color_FF0049">#FF0049</color>
<color name="example_color_999999">#999999</color>
<color name="example_color_d9d9d9">#d9d9d9</color>
</resources>

View File

@ -1,295 +0,0 @@
<resources>
<string name="app_name">Mireo TV</string>
<string name="common_loading">Loading&#8230;</string>
<string name="common_unknown_error">unknown error</string>
<string name="common_confirm">Confirm</string>
<string name="common_cancel">Cancel</string>
<string name="common_year">year</string>
<string name="common_month">month</string>
<string name="common_day">day</string>
<string name="common_hour">hour</string>
<string name="common_minute">minute</string>
<string name="common_second">second</string>
<string name="common_crash_hint">Restart</string>
<string name="common_network_error">Network Error</string>
<string name="common_video_error_not_support">Video error not support</string>
<string name="common_video_error_unknown">Video error unknown</string>
<string name="common_video_error_supplement">Error type%dError code%d</string>
<string name="common_phone_input_hint">Please enter your mobile phone number.</string>
<string name="common_phone_input_error">The mobile phone number is not entered correctly</string>
<string name="common_password_input_error">Please enter your password.</string>
<string name="common_password_input_unlike">The two passwords are inconsistent. Please re-enter them</string>
<string name="common_code_input_hint">Please enter the verification code.</string>
<string name="common_code_send">Send verification code</string>
<string name="common_code_send_hint">The verification code has been sent. Please pay attention to checking your inbox.</string>
<string name="common_code_error_hint">code error</string>
<string name="common_step_next">Next</string>
<string name="common_step_complete">Complete</string>
<string name="common_step_commit">Commit</string>
<string name="common_permission_alert">Authorization Reminder</string>
<string name="common_permission_fail_1">Permission grant failed. Please correctly grant the permission.</string>
<string name="common_permission_fail_2">Permission acquisition failed. Please manually grant the permission.</string>
<string name="common_permission_fail_3">Permission acquisition failed. Please manually grant %s.</string>
<string name="common_permission_fail_4">The background location permission has not been granted. Please select "Always Allow".</string>
<string name="common_permission_goto">Go to Authorization</string>
<string name="common_permission_calendar">Calendar permission</string>
<string name="common_permission_camera">Camera permission</string>
<string name="common_permission_contacts">Contacts permission</string>
<string name="common_permission_location">Location permission</string>
<string name="common_permission_location_background">Background location permission</string>
<string name="common_permission_microphone">Microphone permission</string>
<string name="common_permission_phone">Phone permission</string>
<string name="common_permission_call_log">Call log permission</string>
<string name="common_permission_sensors">Body sensor permission</string>
<string name="common_permission_activity_recognition">Fitness activity permission</string>
<string name="common_permission_sms">SMS permission</string>
<string name="common_permission_storage">Storage permission</string>
<string name="common_permission_install">Permission for installing applications</string>
<string name="common_permission_notification">Permission for notification bar</string>
<string name="common_permission_window">Permission for floating window</string>
<string name="common_permission_setting">Permission for system settings</string>
<string name="common_network_hint">There is no network connection at present. Please check your network settings.</string>
<string name="common_no_more_data">There is no more data available.</string>
<string name="common_web_ssl_error_title">The security certificate of the current website has expired or is not trusted. Do you want to continue browsing?</string>
<string name="common_web_ssl_error_allow">Continue browsing</string>
<string name="common_web_ssl_error_reject">Return to the previous page</string>
<string name="common_web_location_permission_title">The current website requires access to your geographical location.</string>
<string name="common_web_location_permission_allow">Grant</string>
<string name="common_web_location_permission_reject">Reject</string>
<string name="common_web_call_phone_title">Current Number: %s</string>
<string name="common_web_call_phone_allow">Make Call</string>
<string name="common_web_call_phone_reject">Cancel</string>
<string name="http_loading">Loading... </string>
<string name="http_unknown_error">Request failed with unknown error</string>
<string name="http_token_error">Login has expired. Please log in again</string>
<string name="http_data_explain_error">Data parsing failed. Please wait a moment</string>
<string name="http_server_out_time">Server request timed out. Please try again later</string>
<string name="http_network_error">Request failed. Please check your network settings</string>
<string name="http_response_error">Server response is abnormal. Please try again later. Response code: %d, Response message: %s</string>
<string name="http_server_error">Server connection is abnormal. Please try again later</string>
<string name="http_request_cancel">Request has been interrupted. Please retry</string>
<string name="http_response_null_body">Server data returned abnormally. Please try again later</string>
<string name="http_response_md5_error">File md5 verification failed</string>
<string name="status_layout_no_data">Empty</string>
<string name="status_layout_error_request">Request failed. Please try again.</string>
<string name="status_layout_error_network">Network error. Please try again.</string>
<string name="status_layout_retry">Retry</string>
<string name="address_title">Please select a region</string>
<string name="address_hint">Please select</string>
<string name="date_title">Please select a date</string>
<string name="time_title">Please select a time</string>
<string name="update_title">Discover New Version</string>
<string name="update_content">Updated Content</string>
<string name="update_no">Let\'s talk about it later</string>
<string name="update_yes">Update immediately</string>
<string name="update_permission_hint">You must first grant the permission to download the update normally</string>
<string name="update_status_start">Downloading in progress</string>
<string name="update_status_running">Downloading... %d%%</string>
<string name="update_status_successful">Download completed. Click to install</string>
<string name="update_status_failed">Download failed. Click to retry</string>
<string name="update_no_update">This version is already the latest one.</string>
<string name="update_notification_channel_id">update</string>
<string name="update_notification_channel_name">Update Notification</string>
<string name="share_title">Share to &#8230; </string>
<string name="share_platform_wechat">WeChat</string>
<string name="share_platform_moment">Moment</string>
<string name="share_platform_qq">QQ</string>
<string name="share_platform_qzone">QQ Zone</string>
<string name="share_platform_link">Copy Link</string>
<string name="share_platform_copy_hint">Copied to clipboard</string>
<string name="pay_title">Please enter the payment password</string>
<string name="select_min_hint">At least %d items need to be selected</string>
<string name="select_max_hint">Maximum of %d items can be selected</string>
<string name="safe_title">Identity Verification</string>
<string name="home_exit_hint">Press again to exit</string>
<string name="home_nav_index">Home</string>
<string name="home_nav_explore">Explore</string>
<string name="home_nav_rewards">Rewards</string>
<string name="home_nav_my_list">My list</string>
<string name="home_nav_me">Me</string>
<string name="login_register">Register</string>
<string name="login_forget">Forget password? </string>
<string name="login_text">Log in</string>
<string name="login_other">Other Login Methods</string>
<string name="register_title">Register</string>
<string name="register_hint">The mobile phone number is only used for login and to protect account security.</string>
<string name="register_password_hint1">Set a login password of 6 to 18 characters.</string>
<string name="register_password_hint2">Please re-enter the password.</string>
<string name="setting_title">Setting</string>
<string name="setting_language_switchover">Language Switch</string>
<string name="setting_language_simple">Simplified Chinese</string>
<string name="setting_language_complex">Traditional Chinese</string>
<string name="setting_update">Check for Updates</string>
<string name="setting_password">Change Password</string>
<string name="setting_phone">Modify Mobile Phone</string>
<string name="setting_auto">Auto-login</string>
<string name="setting_cache">Clear Cache</string>
<string name="setting_agreement">Privacy Agreement</string>
<string name="setting_about">About Us</string>
<string name="setting_exit">Log out</string>
<string name="about_title">About Us</string>
<string name="about_author"><font color="#85b84f">Android</font> Wheel Brother</string>
<string name="about_copyright">Copyright © 2018 &#8211; 2021</string>
<string name="password_forget_title">Forget Password</string>
<string name="password_reset_title">Set Login Password</string>
<string name="password_reset_phone_hint1">Set a 6-18 character login password</string>
<string name="password_reset_phone_hint2">Re-enter the password</string>
<string name="password_reset_input_error">The two passwords do not match. Please re-enter</string>
<string name="password_reset_success">Success in modifying</string>
<string name="phone_reset_title">Set New Mobile Phone Number</string>
<string name="phone_reset_change_hint">Please use the new mobile phone number you have changed for login next time</string>
<string name="phone_reset_commit">Bind Now</string>
<string name="phone_reset_commit_succeed">Binding successful</string>
<string name="personal_data_title">Personal Information</string>
<string name="personal_data_head">Profile Picture</string>
<string name="personal_data_id">User ID</string>
<string name="personal_data_name">Nickname</string>
<string name="personal_data_name_hint">Set a nickname</string>
<string name="personal_data_address">Region</string>
<string name="personal_data_address_hint">Please select</string>
<string name="personal_data_phone">Personal Data - Phone Number</string>
<string name="personal_data_phone_hint">Bind Now</string>
<string name="web_title">Web page loading.&#8230;</string>
<string name="image_select_title">Image Selection</string>
<string name="image_select_all">All Images</string>
<string name="image_select_total">Total: %d images</string>
<string name="image_select_max_hint">You can only select a maximum of %d images this time</string>
<string name="image_select_error">Cannot be selected. This image has been deleted.</string>
<string name="image_crop_error_not_support">Failed to crop image. Your current phone does not support image cropping.</string>
<string name="video_select_title">Video Selection</string>
<string name="video_select_all">All Videos</string>
<string name="video_select_total">Total: %d</string>
<string name="video_select_max_hint">You can only select a maximum of %d videos this time</string>
<string name="video_select_error">Cannot be selected. This video has been deleted.</string>
<string name="camera_launch_fail">Failed to launch camera</string>
<string name="camera_image_error">Invalid target address</string>
<string name="unpaidRead">loading....</string>
<string name="example_tab_home">HOME</string>
<string name="example_tab_recommend">RECOMMEND</string>
<string name="example_tab_rewards">REWARDS</string>
<string name="example_tab_me">ME</string>
<string name="example_service_exception_please_try_again">The service is abnormal. Check the network.</string>
<string name="example_watch_now">Watch Now</string>
<string name="example_watch">Watch</string>
<string name="example_continue_watching">Continue Watching</string>
<string name="example_login">login</string>
<string name="example_my_favorites">My Favorites</string>
<string name="example_settings">Settings</string>
<string name="example_visitor">Visitor</string>
<string name="example_no_content_for_the_time_being">No content for the time being~</string>
<string name="example_no_network">Check the network and try again~</string>
<string name="example_series">Series</string>
<string name="example_there_s_no_more_data">no more data.</string>
<string name="example_unfavorite">UnFavorites</string>
<string name="example_you_may_not_find_this_collection_after_you_uncollect_it">You may not find this collection after you uncollect it</string>
<string name="example_think_again">Think again</string>
<string name="example_short_drama_rankings">Short Drama Rankings</string>
<string name="example_more">More</string>
<string name="example_join">Join</string>
<string name="example_google_login">Sign in with Google</string>
<string name="example_tiktok_login">Sign in with Tiktok</string>
<string name="example_facebook_login">Sign in with FaceBook</string>
<string name="example_google_login_exception">Google login exception.</string>
<string name="example_enter_the_content_you_want_to_search_for">Enter the content you want to search for</string>
<string name="example_search">Search</string>
<string name="example_historical_search">Historical search</string>
<string name="example_please_enter_keywords_for_search">Please enter keywords for search.</string>
<string name="example_quit">Quit</string>
<string name="example_log_out">Delete Account</string>
<string name="example_feedback">Feedback</string>
<string name="example_please_log_in_first">Please log in first</string>
<string name="facebook_app_id">1886904725382038</string>
<string name="fb_login_protocol_scheme">fb1886904725382038</string>
<string name="facebook_client_token">b63e62471e03fc8a1ba13219ebd06363</string>
<string name="applovin_sdk_key">XW2aulJv9urKD4MIIFT1xcSCuyTHaDZ9qUbDqygnTLS04GkdX7WMQJviGP5vDRWGsk4OJJIyLGRV3mbLqOWx0W</string>
<string name="default_notification_channel_id">guyantv</string>
<string name="no_record_of_spending_at_the_moment">No record of spending at the moment</string>
<string name="example_top_up">Top Up</string>
<string name="example_retry">Retry</string>
<string name="today_s_ad_viewing_limit_is_reached">Today\'s AD viewing limit is reached</string>
<string name="pangle_key">8463666</string>
<string name="your_account_is_already_logged_in_on_another_device">Your account is already logged in on another device~</string>
<string name="the_ad_is_still_on_its_way">The AD is still on its way</string>
<string name="please_install_the_tiktok_app">Please install the tiktok app~</string>
<string name="google_pay_success">Google Pay Success</string>
<string name="google_pay_error">Google Pay Error</string>
<string name="google_pay_canceled">Google Pay Canceled</string>
<string name="example_theater">Theater</string>
<string name="store_tips"><![CDATA[1. GuyanTV offers free and paid content for everyone. <br> 2. Paid content can be unlocked using coins or subscription. Member-only content is only accessible after subscribing. <br> 3. Bonus coins expire after one month. <br> 4. Coins will be used first when unlocking episodes. If the balance is insufficient, bonus coins will be used automatically. <br> 5. During the subscription period, you will have unlimited access to all episodes on GuyanTV. <br> 6. Subscription renewal will be automatically deducted from your Google account within 24 hours before your current subscription expires. <br> 7. If you want to cancel your subscription, please go to your Google Play account and cancel your subscription at least 24 hours before the end of the current subscription period. <br> 8. If the recharge payment is successful but your balance is not updated, please try to click Restore to refresh your balance. <br> 9. Our subscription prices will be converted to the region where you pay. <br>If you want to manage your GuyanTV subscription, go to Google Subscription Management.]]></string>
</resources>

View File

@ -1,106 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<resources>
<style name="AppTheme" parent="Theme.AppCompat.DayNight.NoActionBar">
<item name="android:windowBackground">@color/common_window_background_color</item>
<item name="colorPrimary">@color/common_primary_dark_color</item>
<item name="colorPrimaryDark">@color/common_primary_dark_color</item>
<item name="colorAccent">@color/common_accent_color</item>
<item name="android:textColor">@color/common_text_color</item>
<item name="android:textSize">@dimen/sp_14</item>
<item name="android:textColorHint">@color/common_text_hint_color</item>
<item name="windowActionModeOverlay">true</item>
<item name="android:windowContentOverlay">@null</item>
<item name="actionModeBackground">@color/common_primary_color</item>
<item name="android:textAllCaps">false</item>
<item name="android:adjustViewBounds">true</item>
<item name="android:overScrollMode">never</item>
<item name="android:includeFontPadding">false</item>
</style>
<style name="FullScreenTheme" parent="AppTheme">
<item name="android:windowFullscreen">true</item>
</style>
<style name="SplashTheme" parent="FullScreenTheme">
<!-- https://www.jianshu.com/p/d0d907754603 -->
<item name="android:windowIsTranslucent">false</item>
<item name="android:windowDisablePreview">true</item>
</style>
<style name="ButtonStyle" parent="Widget.AppCompat.Button.Borderless">
<item name="android:paddingStart">@dimen/dp_20</item>
<item name="android:paddingEnd">@dimen/dp_20</item>
<item name="android:paddingTop">@dimen/dp_10</item>
<item name="android:paddingBottom">@dimen/dp_10</item>
<item name="android:textSize">@dimen/sp_14</item>
<item name="android:textColor">@color/white90</item>
<item name="android:gravity">center</item>
<item name="android:background">@drawable/button_circle_selector</item>
<item name="android:foreground">@null</item>
</style>
<style name="RectButtonStyle" parent="ButtonStyle">
<item name="android:paddingStart">@dimen/dp_10</item>
<item name="android:paddingEnd">@dimen/dp_10</item>
<item name="android:paddingTop">@dimen/dp_5</item>
<item name="android:paddingBottom">@dimen/dp_5</item>
<item name="android:background">@drawable/button_rect_selector</item>
</style>
<style name="EditTextStyle">
<item name="android:background">@null</item>
<item name="android:textSize">@dimen/sp_15</item>
<item name="android:textColorHint">#A4A4A4</item>
<item name="android:textColor">#333333</item>
<item name="android:paddingTop">@dimen/dp_10</item>
<item name="android:paddingBottom">@dimen/dp_10</item>
<item name="android:paddingStart">@dimen/dp_10</item>
<item name="android:paddingEnd">@dimen/dp_10</item>
</style>
<style name="HorizontalLineStyle">
<item name="android:layout_width">match_parent</item>
<item name="android:layout_height">@dimen/line_size</item>
<item name="android:background">@color/common_line_color</item>
</style>
<style name="VerticalLineStyle">
<item name="android:layout_width">@dimen/line_size</item>
<item name="android:layout_height">match_parent</item>
<item name="android:background">@color/common_line_color</item>
</style>
<style name="CountdownViewStyle">
<item name="android:layout_width">wrap_content</item>
<item name="android:layout_height">wrap_content</item>
<item name="android:background">@drawable/countdown_selector</item>
<item name="android:layout_marginStart">@dimen/dp_15</item>
<item name="android:layout_marginEnd">@dimen/dp_15</item>
<item name="android:paddingStart">@dimen/dp_10</item>
<item name="android:paddingEnd">@dimen/dp_10</item>
<item name="android:paddingTop">@dimen/dp_10</item>
<item name="android:paddingBottom">@dimen/dp_10</item>
<item name="android:minWidth">@dimen/dp_90</item>
<item name="android:gravity">center</item>
<item name="android:text">@string/common_code_send</item>
<item name="android:textColor">@drawable/countdown_color_selector</item>
<item name="android:textSize">@dimen/sp_12</item>
</style>
<style name="MyTabLayout" parent="Widget.Design.TabLayout">
<item name="tabIndicatorColor">@color/example_color_F56490</item>
<item name="tabIndicatorHeight">4dp</item>
<item name="tabIndicatorFullWidth">true</item>
<item name="textAllCaps">false</item>
<item name="tabTextAppearance">@style/MyTabTextAppearance</item>
<item name="tabSelectedTextColor">@color/example_color_F56490</item>
<item name="tabRippleColor">@android:color/transparent</item>
</style>
<style name="MyTabTextAppearance" parent="TextAppearance.AppCompat.Button">
<item name="android:textSize">14sp</item>
<item name="android:textColor">@color/white</item>
</style>
</resources>

View File

@ -1,42 +0,0 @@
apply from : 'configs.gradle'
buildscript {
apply from : 'maven.gradle'
repositories {
maven { url 'https://maven.aliyun.com/repository/gradle-plugin' }
addCommonMaven(repositories)
}
dependencies {
classpath 'com.android.tools.build:gradle:7.1.3'
classpath 'org.jetbrains.kotlin:kotlin-gradle-plugin:1.8.20'
classpath 'com.hujiang.aspectjx:gradle-android-plugin-aspectjx:2.0.10'
}
}
allprojects {
repositories {
maven { url 'https://repo1.maven.org/maven2' }
addCommonMaven(repositories)
}
tasks.withType(JavaCompile) {
options.encoding = 'UTF-8'
}
tasks.withType(Javadoc) {
options {
encoding 'UTF-8'
charSet 'UTF-8'
links 'http://docs.oracle.com/javase/7/docs/api'
}
}
setBuildDir(new File(rootDir, "build/${path.replaceAll(':', '/')}"))
}
task clean(type: Delete) {
delete rootProject.buildDir
}

View File

@ -1,18 +0,0 @@
apply plugin : 'com.android.library'
apply from : '../../common.gradle'
android {
defaultConfig {
consumerProguardFiles 'proguard-base.pro'
}
sourceSets {
main {
res.srcDirs(
'src/main/res',
'src/main/res-sw',
)
}
}
}

View File

@ -1,61 +0,0 @@
# 基于 sdk/tools/proguard/proguard-android-optimize.txt 修改
-optimizations !code/simplification/arithmetic,!code/simplification/cast,!field/*,!class/merging/*
-optimizationpasses 5
-allowaccessmodification
-dontpreverify
-dontusemixedcaseclassnames
-dontskipnonpubliclibraryclasses
-verbose
# 不要删除无用代码
-dontshrink
# 不混淆泛型
-keepattributes Signature
# 不混淆注解类
-keepattributes *Annotation*
# 不混淆本地方法
-keepclasseswithmembernames class * {
native <methods>;
}
# 不混淆 Activity XML 布局所设置的 onClick 属性值
-keepclassmembers class * extends android.app.Activity {
public void *(android.view.View);
}
# 不混淆枚举类
-keepclassmembers enum * {
public static **[] values();
public static ** valueOf(java.lang.String);
}
# 不混淆 Parcelable 子类
-keepclassmembers class * implements android.os.Parcelable {
public static final android.os.Parcelable$Creator CREATOR;
}
# 不混淆 Serializable 子类
-keepclassmembers class * implements java.io.Serializable {
static final long serialVersionUID;
private static final java.io.ObjectStreamField[] serialPersistentFields;
!static !transient <fields>;
!private <fields>;
!private <methods>;
private void writeObject(java.io.ObjectOutputStream);
private void readObject(java.io.ObjectInputStream);
java.lang.Object writeReplace();
java.lang.Object readResolve();
}
# 不混淆 R 文件中的字段
-keepclassmembers class **.R$* {
public static <fields>;
}
# 不混淆 WebView 设置的 JS 接口的方法名
-keepclassmembers class * {
@android.webkit.JavascriptInterface <methods>;
}

View File

@ -1 +0,0 @@
<manifest package="com.hjq.base" />

View File

@ -1,60 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<resources>
<color name="transparent">#00000000</color>
<color name="panda">#FF757575</color>
<color name="white">#FFFFFFFF</color>
<color name="white95">#F2FFFFFF</color>
<color name="white90">#E6FFFFFF</color>
<color name="white85">#D9FFFFFF</color>
<color name="white80">#CCFFFFFF</color>
<color name="white75">#BFFFFFFF</color>
<color name="white70">#B3FFFFFF</color>
<color name="white65">#A6FFFFFF</color>
<color name="white60">#99FFFFFF</color>
<color name="white55">#8CFFFFFF</color>
<color name="white50">#80FFFFFF</color>
<color name="white45">#73FFFFFF</color>
<color name="white40">#66FFFFFF</color>
<color name="white35">#59FFFFFF</color>
<color name="white30">#4DFFFFFF</color>
<color name="white25">#40FFFFFF</color>
<color name="white20">#33FFFFFF</color>
<color name="white15">#26FFFFFF</color>
<color name="white10">#1AFFFFFF</color>
<color name="white5">#0DFFFFFF</color>
<color name="black">#FF000000</color>
<color name="black95">#F2000000</color>
<color name="black90">#E6000000</color>
<color name="black85">#D9000000</color>
<color name="black80">#CC000000</color>
<color name="black75">#B000000F</color>
<color name="black70">#B3000000</color>
<color name="black65">#A6000000</color>
<color name="black60">#99000000</color>
<color name="black55">#8C000000</color>
<color name="black50">#80000000</color>
<color name="black45">#73000000</color>
<color name="black40">#66000000</color>
<color name="black35">#59000000</color>
<color name="black30">#4D000000</color>
<color name="black25">#40000000</color>
<color name="black20">#33000000</color>
<color name="black15">#26000000</color>
<color name="black10">#1A000000</color>
<color name="black5">#0D000000</color>
<color name="black121418">#121418</color>
<color name="gray">#FF808080</color>
<color name="red">#FFFF0000</color>
<color name="gold">#FFFFD700</color>
<color name="yellow">#FFFFFF00</color>
<color name="green">#FF008000</color>
<color name="blue">#FF0000FF</color>
<color name="purple">#FF800080</color>
<color name="pink">#FFFFC0CB</color>
<color name="orange">#FFFFA500</color>
</resources>

View File

@ -1,4 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<resources>
<integer name="window_anim_duration">400</integer>
</resources>

View File

@ -1,50 +0,0 @@
<resources>
<style name="BaseDialogTheme" parent="Theme.AppCompat.DayNight.Dialog.Alert"><!-- @android:style/Theme.Dialog -->
<item name="android:windowFrame">@null</item>
<item name="android:windowIsFloating">true</item>
<item name="android:windowIsTranslucent">true</item>
<item name="android:windowBackground">@color/transparent</item>
<item name="android:backgroundDimEnabled">true</item>
<item name="android:windowNoTitle">true</item>
<item name="android:windowEnterAnimation">@anim/window_scale_in</item>
<item name="android:windowExitAnimation">@anim/window_scale_out</item>
<item name="android:windowMinWidthMajor">0dp</item>
<item name="android:windowMinWidthMinor">0dp</item>
<item name="windowActionBar">false</item>
<item name="windowNoTitle">true</item>
<item name="windowActionModeOverlay">true</item>
<item name="android:windowContentOverlay">@null</item>
</style>
<style name="ScaleAnimStyle" parent="android:Animation">
<item name="android:windowEnterAnimation">@anim/window_scale_in</item>
<item name="android:windowExitAnimation">@anim/window_scale_out</item>
</style>
<style name="IOSAnimStyle" parent="android:Animation">
<item name="android:windowEnterAnimation">@anim/window_ios_in</item>
<item name="android:windowExitAnimation">@anim/window_ios_out</item>
</style>
<style name="TopAnimStyle" parent="android:Animation">
<item name="android:windowEnterAnimation">@anim/window_top_in</item>
<item name="android:windowExitAnimation">@anim/window_top_out</item>
</style>
<style name="BottomAnimStyle" parent="android:Animation">
<item name="android:windowEnterAnimation">@anim/window_bottom_in</item>
<item name="android:windowExitAnimation">@anim/window_bottom_out</item>
</style>
<style name="LeftAnimStyle" parent="android:Animation">
<item name="android:windowEnterAnimation">@anim/window_left_in</item>
<item name="android:windowExitAnimation">@anim/window_left_out</item>
</style>
<style name="RightAnimStyle" parent="android:Animation">
<item name="android:windowEnterAnimation">@anim/window_right_in</item>
<item name="android:windowExitAnimation">@anim/window_right_out</item>
</style>
</resources>

View File

@ -1,6 +0,0 @@
apply plugin : 'com.android.library'
apply from : '../../common.gradle'
dependencies {
implementation project(':library:base')
}

View File

@ -1 +0,0 @@
<manifest package="com.hjq.widget" />

View File

@ -1,308 +0,0 @@
package com.hjq.widget.view
import android.content.Context
import android.content.res.TypedArray
import android.graphics.*
import android.text.TextPaint
import android.text.TextUtils
import android.util.AttributeSet
import android.util.TypedValue
import android.view.Gravity
import android.view.View
import androidx.annotation.StringRes
import com.hjq.widget.R
import kotlin.math.max
@Suppress("RtlHardcoded")
class SlantedTextView @JvmOverloads constructor(
context: Context, attrs: AttributeSet? = null, defStyleAttr: Int = 0) :
View(context, attrs, defStyleAttr) {
companion object {
const val ROTATE_ANGLE: Int = 45
}
private val backgroundPaint: Paint = Paint()
private val textPaint: TextPaint
private var text: String = ""
private var gravity: Int = 0
private var triangle: Boolean = false
private var colorBackground: Int = 0
private val textBounds: Rect = Rect()
private var textHeight: Int = 0
init {
backgroundPaint.style = Paint.Style.FILL
backgroundPaint.xfermode = PorterDuffXfermode(PorterDuff.Mode.SRC_OVER)
backgroundPaint.isAntiAlias = true
textPaint = TextPaint(Paint.ANTI_ALIAS_FLAG)
textPaint.isAntiAlias = true
val array: TypedArray = context.obtainStyledAttributes(attrs, R.styleable.SlantedTextView)
setText(array.getString(R.styleable.SlantedTextView_android_text))
setTextSize(TypedValue.COMPLEX_UNIT_PX, array.getDimensionPixelSize(R.styleable.SlantedTextView_android_textSize,
resources.getDimension(R.dimen.sp_12).toInt()).toFloat())
setTextColor(array.getColor(R.styleable.SlantedTextView_android_textColor, Color.WHITE))
setTextStyle(Typeface.defaultFromStyle(array.getInt(R.styleable.SlantedTextView_android_textStyle, Typeface.NORMAL)))
setGravity(array.getInt(R.styleable.SlantedTextView_android_gravity, Gravity.END))
setColorBackground(array.getColor(R.styleable.SlantedTextView_android_colorBackground, getAccentColor()))
setTriangle(array.getBoolean(R.styleable.SlantedTextView_triangle, false))
array.recycle()
}
override fun onMeasure(widthMeasureSpec: Int, heightMeasureSpec: Int) {
textPaint.getTextBounds(text, 0, text.length, textBounds)
textHeight = textBounds.height() + paddingTop + paddingBottom
var width = 0
when (MeasureSpec.getMode(widthMeasureSpec)) {
MeasureSpec.EXACTLY -> width = MeasureSpec.getSize(widthMeasureSpec)
MeasureSpec.AT_MOST, MeasureSpec.UNSPECIFIED -> width =
textBounds.width() + paddingLeft + paddingRight
}
var height = 0
when (MeasureSpec.getMode(heightMeasureSpec)) {
MeasureSpec.EXACTLY -> {
height = MeasureSpec.getSize(heightMeasureSpec)
}
MeasureSpec.AT_MOST, MeasureSpec.UNSPECIFIED -> {
height = textBounds.height() + paddingTop + paddingBottom
}
}
setMeasuredDimension(max(width, height), max(width, height))
}
override fun onDraw(canvas: Canvas) {
drawBackground(canvas)
drawText(canvas)
}
private fun drawBackground(canvas: Canvas) {
val path = Path()
val width: Int = canvas.width
val height: Int = canvas.height
when (gravity) {
Gravity.LEFT, Gravity.LEFT or Gravity.TOP -> {
if (triangle) {
path.lineTo(0f, height.toFloat())
path.lineTo(width.toFloat(), 0f)
} else {
path.moveTo(width.toFloat(), 0f)
path.lineTo(0f, height.toFloat())
path.lineTo(0f, (height - textHeight).toFloat())
path.lineTo((width - textHeight).toFloat(), 0f)
}
}
Gravity.NO_GRAVITY, Gravity.RIGHT, Gravity.RIGHT or Gravity.TOP -> {
if (triangle) {
path.lineTo(width.toFloat(), 0f)
path.lineTo(width.toFloat(), height.toFloat())
} else {
path.lineTo(width.toFloat(), height.toFloat())
path.lineTo(width.toFloat(), (height - textHeight).toFloat())
path.lineTo(textHeight * 1f, 0f)
}
}
Gravity.BOTTOM, Gravity.LEFT or Gravity.BOTTOM -> {
if (triangle) {
path.lineTo(width.toFloat(), height.toFloat())
path.lineTo(0f, height.toFloat())
} else {
path.lineTo(width.toFloat(), height.toFloat())
path.lineTo((width - textHeight).toFloat(), height.toFloat())
path.lineTo(0f, textHeight.toFloat())
}
}
Gravity.RIGHT or Gravity.BOTTOM -> {
if (triangle) {
path.moveTo(0f, height.toFloat())
path.lineTo(width.toFloat(), height.toFloat())
path.lineTo(width.toFloat(), 0f)
} else {
path.moveTo(0f, height.toFloat())
path.lineTo(textHeight * 1f, height.toFloat())
path.lineTo(width.toFloat(), textHeight.toFloat())
path.lineTo(width.toFloat(), 0f)
}
}
else -> {
throw IllegalArgumentException("are you ok?")
}
}
path.close()
canvas.drawPath(path, backgroundPaint)
canvas.save()
}
private fun drawText(canvas: Canvas) {
val width: Int = canvas.width - textHeight / 2
val height: Int = canvas.height - textHeight / 2
val rect: Rect?
val rectF: RectF?
val offset: Int = textHeight / 2
val toX: Float
val toY: Float
val centerX: Float
val centerY: Float
val angle: Float
when (gravity) {
Gravity.LEFT, Gravity.LEFT or Gravity.TOP -> {
rect = Rect(0, 0, width, height)
rectF = RectF(rect)
rectF.right = textPaint.measureText(text, 0, text.length)
rectF.bottom = textPaint.descent() - textPaint.ascent()
rectF.left += (rect.width() - rectF.right) / 2.0f
rectF.top += (rect.height() - rectF.bottom) / 2.0f
toX = rectF.left
toY = rectF.top - textPaint.ascent()
centerX = width / 2f
centerY = height / 2f
angle = -ROTATE_ANGLE.toFloat()
}
Gravity.NO_GRAVITY, Gravity.RIGHT, Gravity.RIGHT or Gravity.TOP -> {
rect = Rect(offset, 0, width + offset, height)
rectF = RectF(rect)
rectF.right = textPaint.measureText(text, 0, text.length)
rectF.bottom = textPaint.descent() - textPaint.ascent()
rectF.left += (rect.width() - rectF.right) / 2.0f
rectF.top += (rect.height() - rectF.bottom) / 2.0f
toX = rectF.left
toY = rectF.top - textPaint.ascent()
centerX = width / 2f + offset
centerY = height / 2f
angle = ROTATE_ANGLE.toFloat()
}
Gravity.BOTTOM, Gravity.LEFT or Gravity.BOTTOM -> {
rect = Rect(0, offset, width, height + offset)
rectF = RectF(rect)
rectF.right = textPaint.measureText(text, 0, text.length)
rectF.bottom = textPaint.descent() - textPaint.ascent()
rectF.left += (rect.width() - rectF.right) / 2.0f
rectF.top += (rect.height() - rectF.bottom) / 2.0f
toX = rectF.left
toY = rectF.top - textPaint.ascent()
centerX = width / 2f
centerY = height / 2f + offset
angle = ROTATE_ANGLE.toFloat()
}
Gravity.RIGHT or Gravity.BOTTOM -> {
rect = Rect(offset, offset, width + offset, height + offset)
rectF = RectF(rect)
rectF.right = textPaint.measureText(text, 0, text.length)
rectF.bottom = textPaint.descent() - textPaint.ascent()
rectF.left += (rect.width() - rectF.right) / 2.0f
rectF.top += (rect.height() - rectF.bottom) / 2.0f
toX = rectF.left
toY = rectF.top - textPaint.ascent()
centerX = width / 2f + offset
centerY = height / 2f + offset
angle = -ROTATE_ANGLE.toFloat()
}
else -> {
throw IllegalArgumentException("are you ok?")
}
}
canvas.rotate(angle, centerX, centerY)
canvas.drawText(text, toX, toY, textPaint)
}
fun getText(): String {
return text
}
fun setText(@StringRes id: Int) {
setText(resources.getString(id))
}
fun setText(text: String?) {
val finalText = text ?: ""
if (!TextUtils.equals(finalText, getText())) {
this.text = finalText
invalidate()
}
}
fun getTextColor(): Int {
return textPaint.color
}
fun setTextColor(color: Int) {
if (getTextColor() != color) {
textPaint.color = color
invalidate()
}
}
fun getTextSize(): Float {
return textPaint.textSize
}
fun setTextSize(size: Float) {
setTextSize(TypedValue.COMPLEX_UNIT_SP, size)
}
fun setTextSize(unit: Int, size: Float) {
val textSize: Float = TypedValue.applyDimension(unit, size, resources.displayMetrics)
if (getTextSize() != textSize) {
textPaint.textSize = textSize
invalidate()
}
}
fun getTextStyle(): Typeface? {
return textPaint.typeface
}
fun setTextStyle(tf: Typeface?) {
if (getTextStyle() !== tf) {
textPaint.typeface = tf
invalidate()
}
}
fun getColorBackground(): Int {
return colorBackground
}
fun setColorBackground(color: Int) {
if (getColorBackground() != color) {
colorBackground = color
backgroundPaint.color = colorBackground
invalidate()
}
}
fun getGravity(): Int {
return gravity
}
fun setGravity(gravity: Int) {
if (this.gravity != gravity) {
this.gravity = Gravity.getAbsoluteGravity(gravity, resources.configuration.layoutDirection)
invalidate()
}
}
fun isTriangle(): Boolean {
return triangle
}
fun setTriangle(triangle: Boolean) {
if (isTriangle() != triangle) {
this.triangle = triangle
invalidate()
}
}
private fun getAccentColor(): Int {
val typedValue = TypedValue()
context.theme.resolveAttribute(R.attr.colorAccent, typedValue, true)
return typedValue.data
}
}

View File

@ -1,67 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<resources>
<declare-styleable name="RegexEditText">
<attr name="inputRegex" format="string" />
<attr name="regexType" >
<enum name="mobile" value="0x01" />
<enum name="chinese" value="0x02" />
<enum name="english" value="0x03" />
<enum name="number" value="0x04" />
<enum name="count" value="0x05" />
<enum name="name" value="0x06" />
<enum name="nonnull" value="0x07" />
</attr>
</declare-styleable>
<declare-styleable name="SettingBar">
<attr name="bar_leftText" format="string"/>
<attr name="bar_leftTextColor" format="color" />
<attr name="bar_leftTextSize" format="dimension" />
<attr name="bar_leftTextHint" format="string"/>
<attr name="bar_leftDrawable" format="reference" />
<attr name="bar_leftDrawablePadding" format="dimension" />
<attr name="bar_leftDrawableSize" format="dimension" />
<attr name="bar_leftDrawableTint" format="color" />
<attr name="bar_rightText" format="string" />
<attr name="bar_rightTextColor" format="color" />
<attr name="bar_rightTextSize" format="dimension" />
<attr name="bar_rightTextHint" format="string"/>
<attr name="bar_rightDrawable" format="reference" />
<attr name="bar_rightDrawablePadding" format="dimension" />
<attr name="bar_rightDrawableSize" format="dimension" />
<attr name="bar_rightDrawableTint" format="color" />
<attr name="bar_lineVisible" format="boolean" />
<attr name="bar_lineDrawable" format="reference|color" />
<attr name="bar_lineSize" format="dimension" />
<attr name="bar_lineMargin" format="dimension" />
</declare-styleable>
<declare-styleable name="SlantedTextView">
<attr name="android:text" />
<attr name="android:textSize" />
<attr name="android:textColor" />
<attr name="android:textStyle" />
<attr name="android:gravity" />
<attr name="android:colorBackground" />
<attr name="android:paddingVertical" />
<attr name="android:paddingHorizontal" />
<attr name="triangle" format="boolean" />
</declare-styleable>
<declare-styleable name="CustomViewStub">
<attr name="android:layout" />
</declare-styleable>
<declare-styleable name="ScaleImageView">
<attr name="scaleRatio" format="float" />
</declare-styleable>
<declare-styleable name="PlayButton">
<attr name="pb_lineColor" format="color" />
<attr name="pb_lineSize" format="integer" />
<attr name="pb_animDuration" format="integer" />
</declare-styleable>
</resources>

View File

@ -1,3 +0,0 @@
include ':app'
include ':library:base'
include ':library:widget'

View File

@ -1,6 +1,8 @@
apply plugin: 'com.android.application'
apply plugin: 'android-aspectjx'
apply plugin: 'kotlin-kapt'
apply plugin: 'com.google.gms.google-services'
apply plugin: 'com.google.firebase.crashlytics'
apply plugin: 'com.google.firebase.firebase-perf'
apply from: '../common.gradle'
@ -8,7 +10,7 @@ android {
defaultConfig {
applicationId 'com.localee.mireo.app'
applicationId 'com.localee.mireo.shortapp'
resConfigs 'zh'
resConfigs 'xxhdpi'
proguardFiles 'proguard-sdk.pro', 'proguard-app.pro'
@ -35,7 +37,7 @@ android {
debug {
applicationIdSuffix '.debug'
// applicationIdSuffix '.debug'
debuggable true
jniDebuggable true
zipAlignEnabled false
@ -77,10 +79,6 @@ android {
exclude 'META-INF/*******'
}
aspectjx {
include android.defaultConfig.applicationId
}
applicationVariants.all { variant ->
variant.outputs.all { output ->
outputFileName = rootProject.getName() + '_v' + variant.versionName + '_' + variant.buildType.name
@ -90,14 +88,17 @@ android {
outputFileName += '.apk'
}
}
sourceSets {
main {
res.srcDirs(
'src/main/res',
'src/main/res-sw',
)
}
}
}
dependencies {
implementation project(':library:base')
implementation project(':library:widget')
implementation 'com.github.getActivity:XXPermissions:12.3'
implementation 'com.github.getActivity:TitleBar:9.2'
implementation 'com.github.getActivity:ToastUtils:9.5'
@ -108,27 +109,20 @@ dependencies {
implementation 'com.google.code.gson:gson:2.8.8'
implementation 'com.github.getActivity:GsonFactory:5.2'
implementation 'com.github.getActivity:ShapeView:9.0'
implementation 'org.aspectj:aspectjrt:1.9.6'
implementation 'com.github.getActivity:ShapeView:9.6'
implementation 'com.github.bumptech.glide:glide:4.12.0'
kapt 'com.github.bumptech.glide:compiler:4.12.0'
implementation 'com.gyf.immersionbar:immersionbar:3.0.0'
implementation 'com.github.Baseflow:PhotoView:2.3.0'
implementation 'com.airbnb.android:lottie:4.1.0'
implementation 'com.scwang.smart:refresh-layout-kernel:2.0.3'
implementation 'com.scwang.smart:refresh-header-material:2.0.3'
implementation 'com.jakewharton.timber:timber:4.7.1'
implementation 'me.relex:circleindicator:2.1.6'
implementation 'com.tencent:mmkv-static:1.2.10'
implementation 'com.tencent:mmkv:1.3.0'
// banner
implementation 'io.github.youth5201314:banner:2.2.3'
@ -142,11 +136,29 @@ dependencies {
implementation "androidx.media3:media3-exoplayer:1.4.0"
implementation "androidx.media3:media3-exoplayer-dash:1.4.0"
implementation "androidx.media3:media3-exoplayer-hls:1.4.0"
implementation(files("libs/lib-decoder-ffmpeg-release.aar"))
implementation(files("libs/lib-drama-decoder-ffmpeg.aar"))
implementation "org.greenrobot:eventbus:3.3.1"
implementation("com.blankj:utilcodex:1.31.1")
implementation("com.github.li-xiaojun:XPopup:2.10.0")
implementation("com.android.billingclient:billing:7.0.0")
implementation("com.facebook.android:facebook-android-sdk:17.0.2")
implementation("com.adjust.sdk:adjust-android:5.2.0")
implementation("com.adjust.sdk:adjust-android-webbridge:5.2.0")
implementation("com.android.installreferrer:installreferrer:2.2")
implementation(platform("com.google.firebase:firebase-bom:32.3.1"))
implementation("com.google.firebase:firebase-messaging-ktx:24.0.0")
implementation("androidx.work:work-runtime-ktx:2.9.1")
implementation("com.google.firebase:firebase-analytics-ktx")
implementation("com.google.firebase:firebase-crashlytics")
implementation("com.google.firebase:firebase-perf")
implementation("com.github.centerzx:ShapeBlurView:1.0.5")
implementation("com.google.android.flexbox:flexbox:3.0.0")
}

29
app/google-services.json Normal file
View File

@ -0,0 +1,29 @@
{
"project_info": {
"project_number": "471869384808",
"project_id": "mireotv-a591b",
"storage_bucket": "mireotv-a591b.firebasestorage.app"
},
"client": [
{
"client_info": {
"mobilesdk_app_id": "1:471869384808:android:4d94f4dabe74aa7d0333dd",
"android_client_info": {
"package_name": "com.localee.mireo.shortapp"
}
},
"oauth_client": [],
"api_key": [
{
"current_key": "AIzaSyD3C1frcUVwdIGHbiWsuwlyJFRhi4huF8Y"
}
],
"services": {
"appinvite_service": {
"other_platform_oauth_client": []
}
}
}
],
"configuration_version": "1"
}

292
app/proguard-app.pro Normal file
View File

@ -0,0 +1,292 @@
#-ignorewarning
-libraryjars libs/lib-drama-decoder-ffmpeg.aar
-keep class com.localee.mireo.drama.declinedEzos.chromamc.** {
<fields>;
}
-keep class com.localee.mireo.drama.declinedEzos.uninitialized.** {
<fields>;
}
-keep class com.localee.mireo.drama.declinedEzos.yuvp.** {
<fields>;
}
-keep public class * extends android.view.View{
*** get*();
void set*(***);
public <init>(android.content.Context);
public <init>(android.content.Context, android.util.AttributeSet);
public <init>(android.content.Context, android.util.AttributeSet, int);
}
-keepclasseswithmembers class * {
public <init>(android.content.Context, android.util.AttributeSet);
public <init>(android.content.Context, android.util.AttributeSet, int);
}
-keepclassmembers class * {
public void *(android.view.View);
}
#-ignorewarning
-keep public class * extends androidx.appcompat.app.AppCompatActivity
-keep public class * extends androidx.fragment.app.Fragment
-keep public class * extends android.app.Application
-keep public class * extends android.app.Service
-keep public class * extends android.content.BroadcastReceiver
-keep public class * extends android.content.ContentProvider
-keep public class * extends android.app.backup.BackupAgentHelper
-keep public class * extends android.preference.Preference
-keep public class * extends android.view.View
-keep class android.support.** {*;}
-keep interface android.support.** {*;}
-keep public class * extends android.support.v4.**
-keep public class * extends android.support.v7.**
-keep public class * extends android.support.annotation.**
-dontwarn android.support.**
-keep class androidx.** {*;}
-keep public class * extends androidx.**
-keep interface androidx.** {*;}
-keep class com.google.android.material.** {*;}
-dontwarn androidx.**
-dontwarn com.google.android.material.**
-dontnote com.google.android.material.**
-keepclasseswithmembernames class * {
native <methods>;
}
-keep public class * extends android.view.View{
*** get*();
void set*(***);
public <init>(android.content.Context);
public <init>(android.content.Context,android.util.AttributeSet);
public <init>(android.content.Context,android.util.AttributeSet,int);
}
-keepclasseswithmembers class * {
public <init>(android.content.Context, android.util.AttributeSet);
public <init>(android.content.Context, android.util.AttributeSet, int);
}
-keepclassmembers enum * {
public static **[] values();
public static ** valueOf(java.lang.String);
}
-keep class * implements android.os.Parcelable {
public static final android.os.Parcelable$Creator *;
}
-keep public class * implements java.io.Serializable {*;}
-keepclassmembers class * implements java.io.Serializable {
static final long serialVersionUID;
private static final java.io.ObjectStreamField[] serialPersistentFields;
private void writeObject(java.io.ObjectOutputStream);
private void readObject(java.io.ObjectInputStream);
java.lang.Object writeReplace();
java.lang.Object readResolve();
}
-keep class **.R$* {*;}
-keepclassmembers class * {
void *(**On*Event);
void *(**On*Listener);
}
-keepclassmembers class * extends android.webkit.WebViewClient {
public void *(android.webkit.WebView, java.lang.String, android.graphics.Bitmap);
public boolean *(android.webkit.WebView, java.lang.String);
}
-keepclassmembers class * extends android.webkit.WebViewClient {
public void *(android.webkit.WebView, java.lang.String);
}
-keepclassmembers class * {
public <init>(org.json.JSONObject);
}
-keepattributes Signature
-keepattributes InnerClasses
-assumenosideeffects class android.util.Log {
public static *** v(...);
public static *** d(...);
public static *** i(...);
public static *** w(...);
public static *** e(...);
}
-dontwarn kotlin.**
-keep class kotlin.** { *; }
-keep interface kotlin.** { *; }
-keepclassmembers class kotlin.Metadata {
public <methods>;
}
-keepclasseswithmembers @kotlin.Metadata class * { *; }
-keepclassmembers class **.WhenMappings {
<fields>;
}
-assumenosideeffects class kotlin.jvm.internal.Intrinsics {
static void checkParameterIsNotNull(java.lang.Object, java.lang.String);
}
-keep class kotlinx.** { *; }
-keep interface kotlinx.** { *; }
-dontwarn kotlinx.**
-keep class org.jetbrains.** { *; }
-keep interface org.jetbrains.** { *; }
-dontwarn org.jetbrains.**
-keep public class * implements com.bumptech.glide.module.GlideModule
-keep class * extends com.bumptech.glide.module.AppGlideModule {
<init>(...);
}
-keep public enum com.bumptech.glide.load.ImageHeaderParser$** {
**[] $VALUES;
public *;
}
-keep class com.bumptech.glide.load.data.ParcelFileDescriptorRewinder$InternalRewinder {
*** rewind();
}
-dontwarn org.bouncycastle.jsse.BCSSLParameters
-dontwarn org.bouncycastle.jsse.BCSSLSocket
-dontwarn org.bouncycastle.jsse.provider.BouncyCastleJsseProvider
-dontwarn org.conscrypt.Conscrypt$Version
-dontwarn org.conscrypt.Conscrypt
-dontwarn org.conscrypt.ConscryptHostnameVerifier
-dontwarn org.openjsse.javax.net.ssl.SSLParameters
-dontwarn org.openjsse.javax.net.ssl.SSLSocket
-dontwarn org.openjsse.net.ssl.OpenJSSE
# ViewBinding
-keepclassmembers class * implements androidx.viewbinding.ViewBinding {
public static * inflate(android.view.LayoutInflater);
}
-dontwarn javax.annotation.**
-dontwarn javax.inject.**
-dontwarn okhttp3.logging.**
-keep class okhttp3.internal.**{*;}
-dontwarn okio.**
-dontwarn retrofit2.**
-keep class retrofit2.** { *; }
-keepattributes Signature
-keepattributes Exceptions
-keep class com.google.gson.stream.** { *; }
-keepattributes EnclosingMethod
-keepattributes *Annotation*
-keepclassmembers class * {
@org.greenrobot.eventbus.Subscribe <methods>;
}
-keep enum org.greenrobot.eventbus.ThreadMode { *; }
-keepclassmembers class * extends org.greenrobot.eventbus.util.ThrowableFailureEvent {
<init>(java.lang.Throwable);
}
-if class androidx.credentials.CredentialManager
-keep class androidx.credentials.playservices.** {
*;
}
-keep class com.localee.mireo.app.http.api.** {
<fields>;
}
-keep class com.localee.mireo.app.http.response.** {
<fields>;
}
-keep class com.localee.mireo.app.http.model.** {
<fields>;
}
-keep class com.localee.mireo.app.http.exception.** {
<fields>;
}
-keep public class * extends android.view.View{
*** get*();
void set*(***);
public <init>(android.content.Context);
public <init>(android.content.Context, android.util.AttributeSet);
public <init>(android.content.Context, android.util.AttributeSet, int);
}
-keepclasseswithmembers class * {
public <init>(android.content.Context, android.util.AttributeSet);
public <init>(android.content.Context, android.util.AttributeSet, int);
}
-keepclassmembers class * {
public void *(android.view.View);
}
-optimizations !code/simplification/arithmetic,!code/simplification/cast,!field/*,!class/merging/*
-optimizationpasses 5
-allowaccessmodification
-dontpreverify
-dontusemixedcaseclassnames
-dontskipnonpubliclibraryclasses
-verbose
# 不要删除无用代码
-dontshrink
# 不混淆泛型
-keepattributes Signature
# 不混淆注解类
-keepattributes *Annotation*
# 不混淆本地方法
-keepclasseswithmembernames class * {
native <methods>;
}
# 不混淆 Activity XML 布局所设置的 onClick 属性值
-keepclassmembers class * extends android.app.Activity {
public void *(android.view.View);
}
# 不混淆枚举类
-keepclassmembers enum * {
public static **[] values();
public static ** valueOf(java.lang.String);
}
# 不混淆 Parcelable 子类
-keepclassmembers class * implements android.os.Parcelable {
public static final android.os.Parcelable$Creator CREATOR;
}
# 不混淆 Serializable 子类
-keepclassmembers class * implements java.io.Serializable {
static final long serialVersionUID;
private static final java.io.ObjectStreamField[] serialPersistentFields;
!static !transient <fields>;
!private <fields>;
!private <methods>;
private void writeObject(java.io.ObjectOutputStream);
private void readObject(java.io.ObjectInputStream);
java.lang.Object writeReplace();
java.lang.Object readResolve();
}
# 不混淆 R 文件中的字段
-keepclassmembers class **.R$* {
public static <fields>;
}
# 不混淆 WebView 设置的 JS 接口的方法名
-keepclassmembers class * {
@android.webkit.JavascriptInterface <methods>;
}

226
app/proguard-sdk.pro Normal file
View File

@ -0,0 +1,226 @@
# Glide
-keep public class * implements com.bumptech.glide.module.GlideModule
-keep class * extends com.bumptech.glide.module.AppGlideModule {
<init>(...);
}
-keep public enum com.bumptech.glide.load.ImageHeaderParser$** {
**[] $VALUES;
public *;
}
-keep class com.bumptech.glide.load.data.ParcelFileDescriptorRewinder$InternalRewinder {
*** rewind();
}
# for DexGuard only
#-keepresourcexmlelements manifest/application/meta-data@value=GlideModule
# AOP
-adaptclassstrings
-keepattributes InnerClasses, EnclosingMethod, Signature, *Annotation*
-keepnames @org.aspectj.lang.annotation.Aspect class * {
public <methods>;
}
# OkHttp3
-keepattributes Signature
-keepattributes *Annotation*
-keep class okhttp3.** { *; }
-keep interface okhttp3.** { *; }
-dontwarn okhttp3.**
-dontwarn okio.**
-dontwarn org.conscrypt.**
-keep class com.gyf.immersionbar.* {*;}
-dontwarn com.gyf.immersionbar.**
# com.hjq
-keep class com.hjq.permissions.** {*;}
-keep class com.hjq.bar.** {*;}
-keep class com.hjq.toast.** {*;}
-keep class com.hjq.shape.** {*;}
-dontwarn com.lxj.xpopup.widget.**
-keep class com.lxj.xpopup.widget.**{*;}
-keep class com.adjust.sdk.** { *; }
-keep class com.google.android.gms.common.ConnectionResult {
int SUCCESS;
}
-keep class com.google.android.gms.ads.identifier.AdvertisingIdClient {
com.google.android.gms.ads.identifier.AdvertisingIdClient$Info getAdvertisingIdInfo(android.content.Context);
}
-keep class com.google.android.gms.ads.identifier.AdvertisingIdClient$Info {
java.lang.String getId();
boolean isLimitAdTrackingEnabled();
}
-keep public class com.android.installreferrer.** { *; }
-keep class com.wang.avi.** { *; }
-keep class com.wang.avi.indicators.** { *; }
-keep class com.bytedance.sdk.** { *; }
-keep public class com.google.android.gms.** { public protected *; }
-keepattributes SourceFile,LineNumberTable # Keep file names and line numbers.
-keep public class * extends java.lang.Exception # Optional: Keep custom exceptions.
-keep class android.support.v8.renderscript.** { *; }
-keep class androidx.renderscript.** { *; }
-keepattributes Signature
-keepattributes *Annotation*
-keep class com.mbridge.** {*; }
-keep interface com.mbridge.** {*; }
-dontwarn com.mbridge.**
-keepclassmembers class **.R$* { public static final int mbridge*; }
-keep public class com.mbridge.* extends androidx.** { *; }
-keep public class androidx.viewpager.widget.PagerAdapter{*;}
-keep public class androidx.viewpager.widget.ViewPager.OnPageChangeListener{*;}
-keep interface androidx.annotation.IntDef{*;}
-keep interface androidx.annotation.Nullable{*;}
-keep interface androidx.annotation.CheckResult{*;}
-keep interface androidx.annotation.NonNull{*;}
-keep public class androidx.fragment.app.Fragment{*;}
-keep public class androidx.core.content.FileProvider{*;}
-keep public class androidx.core.app.NotificationCompat{*;}
-keep public class androidx.appcompat.widget.AppCompatImageView {*;}
-keep public class androidx.recyclerview.*{*;}
-keep class com.mbridge.msdk.foundation.tools.FastKV{*;}
-keep class com.mbridge.msdk.foundation.tools.FastKV$Builder{*;}
-keepclassmembers class * implements android.os.Parcelable {
public static final android.os.Parcelable$Creator *;
}
#noinspection ShrinkerUnresolvedReference
#unity
-keep class com.google.android.gms.ads.** {public *;}
-keep class com.google.android.gms.appset.** { *; }
-keep class com.google.android.gms.tasks.** { *; }
#adapters
-keep class com.ironsource.adapters.** { *; }
#sdk
-dontwarn com.ironsource.**
-dontwarn com.ironsource.adapters.**
-keepclassmembers class com.ironsource.** { public *; }
-keep public class com.ironsource.**
-keep class com.ironsource.adapters.** { *;
}
#omid
-dontwarn com.iab.omid.**
-keep class com.iab.omid.** {*;}
#javascript
-keepattributes JavascriptInterface
-keepclassmembers class * { @android.webkit.JavascriptInterface <methods>; }
#For AmazonAps integration
-keep class com.amazon.device.ads.DtbThreadService {
static *;
}
-keep public interface com.amazon.device.ads** {*; }
#For AppLovin integration
-keepclassmembers class com.applovin.sdk.AppLovinSdk {
static *;
}
-keep public interface com.applovin.sdk** {*; }
-keep public interface com.applovin.adview** {*; }
-keep public interface com.applovin.mediation** {*; }
-keep public interface com.applovin.communicator** {*; }
#For Bytedance integration
-keep public interface com.bytedance.sdk.openadsdk** {*; }
#For Facebook integration
-keepclassmembers class com.facebook.ads.internal.AdSdkVersion {
static *;
}
-keepclassmembers class com.facebook.ads.internal.settings.AdSdkVersion {
static *;
}
-keepclassmembers class com.facebook.ads.BuildConfig {
static *;
}
-keep public interface com.facebook.ads** {*; }
#For Fairbid
-keep public interface com.fyber.fairbid.ads.interstitial** {*; }
-keep public interface com.fyber.fairbid.ads.rewarded** {*; }
-keep class com.fyber.offerwall.*
#For Fivead
-keep public interface com.five_corp.ad** {*; }
#For Fyber(Inneractive) integration
-keep public interface com.fyber.inneractive.sdk.external** {*; }
-keep public interface com.fyber.inneractive.sdk.activities** {*; }
-keep public interface com.fyber.inneractive.sdk.ui** {*; }
#For HyprMX integration
-keepclassmembers class com.hyprmx.android.sdk.utility.HyprMXProperties {
static *;
}
-keepclassmembers class com.hyprmx.android.BuildConfig {
static *;
}
-keep public interface com.hyprmx.android.sdk.activity** {*; }
-keep public interface com.hyprmx.android.sdk.graphics** {*; }
# For Inmobi integration
-keep class com.inmobi.*
-keep public interface com.inmobi.ads.listeners** {*; }
-keep public interface com.inmobi.ads.InMobiInterstitial** {*; }
-keep public interface com.inmobi.ads.InMobiBanner** {*; }
# For ironSource integration
-keep public interface com.ironsource.mediationsdk.sdk** {*; }
-keep public interface com.ironsource.mediationsdk.impressionData.ImpressionDataListener {*; }
#For Maio integration
-keep public interface jp.maio.sdk.android.MaioAdsListenerInterface {*; }
# For Mintergral integration
-keep public interface com.mbridge.msdk.out** {*; }
-keep public interface com.mbridge.msdk.videocommon.listener** {*; }
-keep public interface com.mbridge.msdk.interstitialvideo.out** {*; }
-keep public interface com.mintegral.msdk.out** {*; }
-keep public interface com.mintegral.msdk.videocommon.listener** {*; }
-keep public interface com.mintegral.msdk.interstitialvideo.out** {*; }
#For MyTarget integration
-keep class com.my.target.** {*;}
#For Ogury integration
-keep public interface io.presage.interstitial** {*; }
-keep public interface io.presage.interstitial.PresageInterstitialCallback {*; }
#For Pubnative integration
-keep public interface net.pubnative.lite.sdk.interstitial.HyBidInterstitialAd** {*; }
-keep public interface net.pubnative.lite.sdk.rewarded.HyBidRewardedAd** {*; }
-keep public interface net.pubnative.lite.sdk.views.HyBidAdView** {*; }
#For Smaato integration
-keep public interface com.smaato.sdk.interstitial** {*; }
-keep public interface com.smaato.sdk.video.vast** {*; }
-keep public interface com.smaato.sdk.banner.widget** {*; }
-keep public interface com.smaato.sdk.core.util** {*; }
# For Tapjoy integration
-keep public interface com.tapjoy.** {*; }
# For Tencent integration
-keep public interface com.qq.e.ads.interstitial2** {*; }
-keep public interface com.qq.e.ads.interstitial3** {*; }
-keep public interface com.qq.e.ads.rewardvideo** {*; }
-keep public interface com.qq.e.ads.rewardvideo2** {*; }
-keep public interface com.qq.e.ads.banner2** {*; }
-keep public interface com.qq.e.comm.adevent** {*; }
#For Verizon integration
-keepclassmembers class com.verizon.ads.edition.BuildConfig {
static *;
}
-keep public interface com.verizon.ads.interstitialplacement** {*; }
-keep public interface com.verizon.ads.inlineplacement** {*; }
-keep public interface com.verizon.ads.vastcontroller** {*; }
-keep public interface com.verizon.ads.webcontroller** {*; }
#For Vungle integration
-keep public interface com.vungle.warren.PlayAdCallback {*; }
-keep public interface com.vungle.warren.ui.contract** {*; }
-keep public interface com.vungle.warren.ui.view** {*; }
#For AndroidX
-keep class androidx.localbroadcastmanager.content.LocalBroadcastManager { *;}
-keep class androidx.recyclerview.widget.RecyclerView { *;}
-keep class androidx.recyclerview.widget.RecyclerView$OnScrollListener { *;}
#For Android
-keep class * extends android.app.Activity

View File

@ -0,0 +1,257 @@
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools">
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.POST_NOTIFICATIONS" />
<uses-permission android:name="android.permission.READ_MEDIA_IMAGES" />
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
<application
android:name="com.localee.mireo.app.app.AppApplication"
android:allowBackup="false"
android:icon="@mipmap/input_stop_quality"
android:label="${app_name}"
android:networkSecurityConfig="@xml/zf_info_click"
android:requestLegacyExternalStorage="true"
android:resizeableActivity="true"
android:roundIcon="@mipmap/input_stop_quality"
android:supportsRtl="false"
android:theme="@style/Theme.Example"
android:usesCleartextTraffic="true"
tools:ignore="AllowBackup,LockedOrientationActivity"
tools:replace="android:allowBackup,android:supportsRtl">
<meta-data
android:name="ScopedStorage"
android:value="true" />
<meta-data
android:name="com.facebook.sdk.ApplicationId"
android:value="@string/facebook_app_id" />
<meta-data
android:name="com.facebook.sdk.ClientToken"
android:value="@string/facebook_client_token" />
<provider
android:name="androidx.core.content.FileProvider"
android:authorities="${applicationId}.provider"
android:exported="false"
android:grantUriPermissions="true">
<meta-data
android:name="android.support.FILE_PROVIDER_PATHS"
android:resource="@xml/tu_seekbar" />
</provider>
<activity
android:name="com.localee.mireo.admins.OUnlockWarningActivity"
android:screenOrientation="portrait" />
<activity
android:name="com.localee.mireo.admins.CNBFragmentSystemActivity"
android:screenOrientation="portrait" />
<activity
android:name="com.localee.mireo.admins.YPulseColorsActivity"
android:screenOrientation="portrait" />
<activity
android:name="com.localee.mireo.admins.EIPLineRecommendActivity"
android:screenOrientation="portrait" />
<activity
android:name="com.localee.mireo.admins.EModuleCollectionActivity"
android:screenOrientation="portrait" />
<activity
android:name="com.localee.mireo.admins.XZShortActivity"
android:screenOrientation="portrait" />
<activity
android:name="com.localee.mireo.admins.BSGButtonMavenActivity"
android:screenOrientation="portrait" />
<activity
android:name="com.localee.mireo.drama.probableAligning.savedIdctdsp.HEDDramaActivity"
android:exported="true"
android:launchMode="singleTop"
android:screenOrientation="portrait"
android:theme="@style/Theme.Splash">
<!-- <intent-filter>-->
<!-- <action android:name="android.intent.action.MAIN" />-->
<!-- <action android:name="android.intent.action.VIEW" />-->
<!-- <category android:name="android.intent.category.LAUNCHER" />-->
<!-- </intent-filter>-->
</activity>
<activity
android:name="com.localee.mireo.drama.probableAligning.savedIdctdsp.FLQAboutActivity"
android:launchMode="singleTask"
android:screenOrientation="portrait"
android:windowSoftInputMode="adjustPan" />
<activity
android:name="com.localee.mireo.drama.probableAligning.savedIdctdsp.MRecyclerAboutActivity"
android:label="@string/brightnessCache"
android:launchMode="singleTop"
android:screenOrientation="portrait" />
<activity
android:name="com.localee.mireo.drama.probableAligning.savedIdctdsp.OLineActivity"
android:label="@string/menuGood"
android:launchMode="singleTop"
android:screenOrientation="portrait" />
<activity
android:name="com.localee.mireo.drama.probableAligning.savedIdctdsp.ATransparentStandActivity"
android:label="@string/searchEventResult"
android:launchMode="singleTop"
android:screenOrientation="portrait" />
<activity
android:name="com.localee.mireo.drama.probableAligning.savedIdctdsp.GNModityHalfActivity"
android:launchMode="singleTask" />
<activity
android:name="com.localee.mireo.drama.probableAligning.savedIdctdsp.WTextSettingsActivity"
android:launchMode="singleTop"
android:screenOrientation="portrait" />
<activity
android:name="com.localee.mireo.app.ui.activity.SplashActivity"
android:exported="true"
android:theme="@style/Theme.Splash">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<action android:name="android.intent.action.VIEW" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
<intent-filter android:autoVerify="true">
<action android:name="android.intent.action.VIEW" />
<category android:name="android.intent.category.DEFAULT" />
<category android:name="android.intent.category.BROWSABLE" />
<data android:scheme="mireoapp" />
</intent-filter>
</activity>
<activity
android:name="com.localee.mireo.app.ui.activity.HomeActivity"
android:launchMode="singleTask"
android:screenOrientation="portrait"
android:windowSoftInputMode="adjustPan" />
<activity
android:name="com.localee.mireo.app.ui.activity.SettingActivity"
android:label="@string/setting_title"
android:launchMode="singleTop"
android:screenOrientation="portrait" />
<activity
android:name="com.localee.mireo.app.ui.activity.AboutActivity"
android:label="@string/about_title"
android:launchMode="singleTop"
android:screenOrientation="portrait" />
<activity
android:name="com.localee.mireo.app.ui.activity.BrowserActivity"
android:label="@string/web_title"
android:launchMode="singleTop"
android:screenOrientation="portrait" />
<activity
android:name="com.localee.mireo.app.ui.activity.VideoPlayActivity"
android:launchMode="singleTask" />
<activity
android:name="com.localee.mireo.app.ui.activity.SearchActivity"
android:launchMode="singleTop"
android:screenOrientation="portrait" />
<activity
android:name="com.localee.mireo.app.ui.activity.FeedBackActivity"
android:launchMode="singleTop"
android:windowSoftInputMode="adjustResize" />
<activity
android:name="com.localee.mireo.app.ui.activity.FeedBackListActivity"
android:launchMode="singleTop"
android:windowSoftInputMode="adjustResize" />
<activity
android:name="com.localee.mireo.app.ui.activity.FeedBackDetailsActivity"
android:launchMode="singleTop"
android:windowSoftInputMode="adjustResize" />
<activity android:name="com.localee.mireo.app.ui.activity.LanguageSwitchActivity" />
<activity android:name="com.localee.mireo.app.ui.activity.MyWalletActivity" />
<activity android:name="com.localee.mireo.app.ui.activity.MyVipActivity" />
<activity android:name="com.localee.mireo.app.ui.activity.StoreActivity" />
<activity android:name="com.localee.mireo.app.ui.activity.AccountDeleteActivity" />
<activity
android:name="com.facebook.FacebookActivity"
android:configChanges="keyboard|keyboardHidden|screenLayout|screenSize|orientation"
android:label="@string/app_name" />
<activity
android:name="com.facebook.CustomTabActivity"
android:exported="true">
<intent-filter>
<action android:name="android.intent.action.VIEW" />
<category android:name="android.intent.category.DEFAULT" />
<category android:name="android.intent.category.BROWSABLE" />
<data android:scheme="@string/fb_login_protocol_scheme" />
</intent-filter>
</activity>
<!-- Set custom default icon. This is used when no icon is set for incoming notification messages.
See README(https://goo.gl/l4GJaQ) for more. -->
<meta-data
android:name="com.google.firebase.messaging.default_notification_icon"
android:resource="@mipmap/ic_app_logo" />
<!-- Set color used with incoming notification messages. This is used when no color is set for the incoming
notification message. See README(https://goo.gl/6BKBk7) for more. -->
<meta-data
android:name="com.google.firebase.messaging.default_notification_color"
android:resource="@color/black" />
<meta-data
android:name="com.google.firebase.messaging.default_notification_channel_id"
android:value="@string/default_notification_channel_id" />
<service
android:name="com.localee.mireo.app.other.MyFirebaseMessagingService"
android:exported="false">
<intent-filter>
<action android:name="com.google.firebase.MESSAGING_EVENT" />
</intent-filter>
</service>
</application>
<queries>
<intent>
<action android:name="android.intent.action.SEND" />
</intent>
<intent>
<action android:name="android.intent.action.VIEW" />
</intent>
<intent>
<action android:name="android.intent.action.GET_CONTENT" />
</intent>
</queries>
</manifest>

View File

Before

Width:  |  Height:  |  Size: 26 KiB

After

Width:  |  Height:  |  Size: 26 KiB

View File

@ -0,0 +1,292 @@
package com.localee.mireo.admins;
import android.app.Activity;
import java.util.HashMap;
import java.util.Random;
import java.util.ArrayList;
import android.os.Bundle;
import android.widget.ImageView;
import android.widget.TextView;
import com.localee.mireo.shortapp.R;
public class BSGButtonMavenActivity extends Activity {
float orderLengthAnimating = 0.0f;
HashMap destroyMedium;
private HashMap max_o9Local_mfEnable_i;
private boolean leftShake = false;
private double deteleLottieHistory = 0.0;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_bsgbuttonmavenactivity);
this.max_o9Local_mfEnable_i = new HashMap();
this.leftShake = true;
this.deteleLottieHistory = 2891.0;
this.init_finishDialog();
}
private void init_finishDialog() {
}
public int playSchemeSucceed() {
long modityNormal = 2910L;
double loadingPlay = 3393.0;
int popupSplash = 2380;
int runningWheel = 0;
modityNormal *= 28;
int j_90 = (int)modityNormal;
j_90 *= 78;
loadingPlay = 4605;
double temp_e_75 = (double)loadingPlay;
if (temp_e_75 > 718.0) {
double n_31 = 1.0;
double x_69 = 1.0;
if (temp_e_75 > x_69) {
temp_e_75 = x_69;
}
while (n_31 <= temp_e_75) {
n_31 += 1;
temp_e_75 -= n_31;
break;
}
}
popupSplash += 17;
runningWheel *= popupSplash;
return runningWheel;
}
public String inputUserRequest(boolean notificationAndroid, double animationBuilder) {
float splashTwo = 2792.0f;
int tringStyles = 7758;
String keyboardQuality = "jstring";
String arfqLibversionReqstate = "avatars";
if (splashTwo <= 128 && splashTwo >= -128){
int drama_a = Math.min(1, new Random().nextInt(30)) % arfqLibversionReqstate.length();
arfqLibversionReqstate += splashTwo + "";
}
int temp_z_81 = (int)splashTwo;
int l_60 = 0;
for (int o_94 = (int)temp_z_81; o_94 >= temp_z_81 - 1; o_94--) {
l_60 += (int)o_94;
if (o_94 > 0) {
temp_z_81 += (int)o_94;
break;
}
int u_49 = (int)l_60;
switch (u_49) {
case 92: {
u_49 += 38;
u_49 += 52;
break;
}
case 95: {
u_49 -= 53;
break;
}
case 3: {
u_49 += 83;
break;
}
default:
break;
}
break;
}
if (tringStyles >= -128 && tringStyles <= 128){
int loading_l = Math.min(1, new Random().nextInt(72)) % arfqLibversionReqstate.length();
arfqLibversionReqstate += tringStyles + "";
}
int w_28 = (int)tringStyles;
if (w_28 <= 219) {
w_28 *= 33;
switch (w_28) {
case 1: {
w_28 -= 71;
break;
}
case 56: {
w_28 += 21;
break;
}
case 11: {
w_28 += 15;
break;
}
case 75: {
w_28 *= 83;
break;
}
case 40: {
w_28 += 69;
if (w_28 >= 945) {
w_28 += 31;
}
break;
}
default:
break;
}
}
if (keyboardQuality.equals("item")) {
System.out.println("keyboardQuality" + keyboardQuality);
}
if (keyboardQuality != null) {
int charset_l = Math.min(1, new Random().nextInt(80)) % keyboardQuality.length();
int more_x = Math.min(1, new Random().nextInt(39)) % arfqLibversionReqstate.length();
int resource_p = Math.min(charset_l,more_x);
if (resource_p > 0){
for(int i = 0; i < Math.min(1, resource_p); i++){
arfqLibversionReqstate += keyboardQuality.charAt(i);
}
}
}
return arfqLibversionReqstate;
}
public float inflateLeftPause(long halfService, float offsetResumed, String detailCompound) {
long objectOffset = 4270L;
float mainStyles = 5298.0f;
long transparentTips = 8763L;
int pathRecommend = 8527;
float selectingAvframe = 0;
objectOffset += 24;
int tmp_t_92 = (int)objectOffset;
int m_61 = 0;
int v_57 = 1;
if (tmp_t_92 > v_57) {
tmp_t_92 = v_57;
}
for (int v_66 = 0; v_66 <= tmp_t_92; v_66++) {
m_61 += (int)v_66;
if (v_66 > 0) {
tmp_t_92 -= (int)v_66;
break;
}
int l_83 = (int)m_61;
int p_46 = 0;
for (int u_69 = (int)l_83; u_69 >= l_83 - 1; u_69--) {
p_46 += (int)u_69;
if (u_69 > 0) {
l_83 += (int)u_69;
break;
}
int e_60 = (int)p_46;
break;
}
break;
}
mainStyles += mainStyles;
selectingAvframe -= mainStyles;
int temp_d_55 = (int)mainStyles;
switch (temp_d_55) {
case 84: {
temp_d_55 += 64;
break;
}
case 83: {
temp_d_55 += 25;
temp_d_55 *= 3;
break;
}
case 35: {
if (temp_d_55 > 582) {
temp_d_55 *= 65;
}
break;
}
default:
break;
}
transparentTips -= 13;
pathRecommend = 6173;
return selectingAvframe;
}
public ArrayList flingModeDivide() {
boolean restoreEmptyview = false;
int utlisRewards = 2653;
ArrayList dividorsHighpass = new ArrayList();
restoreEmptyview = true;
int long_k3_len1 = dividorsHighpass.size();
int max___u = Math.min(new Random().nextInt(37), 1) % Math.max(1, dividorsHighpass.size());
dividorsHighpass.add(max___u, restoreEmptyview);
utlisRewards += utlisRewards;
int resumed_len1 = dividorsHighpass.size();
int footer_h = Math.min(new Random().nextInt(36), 1) % Math.max(1, dividorsHighpass.size());
dividorsHighpass.add(footer_h, utlisRewards);
int s_13 = (int)utlisRewards;
int v_21 = 0;
int r_48 = 0;
if (s_13 > r_48) {
s_13 = r_48;
}
for (int p_34 = 1; p_34 < s_13; p_34++) {
v_21 += (int)p_34;
if (p_34 > 0) {
s_13 -= (int)p_34;
break;
}
break;
}
return dividorsHighpass;
}
public long succeedFocus() {
int changeTwo = 2337;
String pagerScrollable = "passive";
System.out.println(pagerScrollable);
long edgesOfferedTablegen = 0;
changeTwo = changeTwo;
int tmp_u_38 = (int)changeTwo;
tmp_u_38 *= 25;
return edgesOfferedTablegen;
}
}

View File

@ -0,0 +1,527 @@
package com.localee.mireo.admins;
import android.app.Activity;
import java.util.HashMap;
import java.util.Random;
import java.util.ArrayList;
import android.os.Bundle;
import android.widget.ImageView;
import android.widget.TextView;
import com.localee.mireo.shortapp.R;
public class CNBFragmentSystemActivity extends Activity {
int leftBuild = 0;
long startSettingTime_i = 0L;
int numberType_4Corner = 0;
private double footerManifest = 0.0;
private boolean bundleSplash = false;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_cnbfragmentsystemactivity);
this.footerManifest = 16.0;
this.bundleSplash = false;
this.init_beforeMoreOffset();
}
private void init_beforeMoreOffset() {
}
public ArrayList titleRefreshing() {
float hintCode = 2291.0f;
System.out.println(hintCode);
String jobMessage = "imports";
boolean resourcesPaly = false;
ArrayList imerCurveUdta = new ArrayList();
hintCode += 23;
int manual_len1 = imerCurveUdta.size();
int exampleplaying_a = Math.min(new Random().nextInt(55), 1) % Math.max(1, imerCurveUdta.size());
imerCurveUdta.add(exampleplaying_a, hintCode);
int w_34 = (int)hintCode;
w_34 *= 47;
if (jobMessage.equals("toast")) {
System.out.println(jobMessage);
}
if (null != jobMessage) {
for(int i = 0; i < Math.min(1, jobMessage.length()); i++) {
System.out.println(jobMessage.charAt(i));
}
}
return imerCurveUdta;
}
public boolean size_2Package_e(long unlockAndroid) {
long loggerRating = 4557L;
System.out.println(loggerRating);
int draggedSerise = 605;
double dimensScroll = 2105.0;
boolean subpartitionPixfmtsMoving = false;
loggerRating *= loggerRating;
subpartitionPixfmtsMoving = loggerRating > 68;
int temp_t_28 = (int)loggerRating;
switch (temp_t_28) {
case 90: {
int l_76 = 1;
int e_32 = 0;
if (temp_t_28 > e_32) {
temp_t_28 = e_32;
}
while (l_76 < temp_t_28) {
l_76 += 1;
temp_t_28 *= l_76;
break;
}
break;
}
case 98: {
temp_t_28 *= 59;
int h_66 = 0;
int y_2 = 1;
if (temp_t_28 > y_2) {
temp_t_28 = y_2;
}
for (int p_27 = 0; p_27 < temp_t_28; p_27++) {
h_66 += (int)p_27;
if (p_27 > 0) {
temp_t_28 -= (int)p_27;
break;
}
int w_34 = (int)h_66;
break;
}
break;
}
case 81: {
temp_t_28 *= 67;
break;
}
case 29: {
int l_13 = 0;
int s_43 = 0;
if (temp_t_28 > s_43) {
temp_t_28 = s_43;
}
for (int t_42 = 1; t_42 < temp_t_28; t_42++) {
l_13 += (int)t_42;
temp_t_28 *= t_42;
break;
}
break;
}
case 61: {
temp_t_28 *= 83;
temp_t_28 *= 96;
break;
}
case 15: {
if (temp_t_28 < 176) {
temp_t_28 *= 27;
}
break;
}
case 75: {
temp_t_28 *= 91;
int a_6 = 0;
for (int t_54 = (int)temp_t_28; t_54 > temp_t_28 - 1; t_54--) {
a_6 += (int)t_54;
if (t_54 > 0) {
temp_t_28 += (int)t_54;
break;
}
int w_80 = (int)a_6;
break;
}
break;
}
case 54: {
temp_t_28 *= 99;
break;
}
default:
break;
}
draggedSerise -= 15;
subpartitionPixfmtsMoving = draggedSerise > 4;
int _r_52 = (int)draggedSerise;
switch (_r_52) {
case 73: {
_r_52 += 20;
_r_52 -= 56;
break;
}
case 98: {
int k_17 = 0;
for (int y_83 = (int)_r_52; y_83 >= _r_52 - 1; y_83--) {
k_17 += (int)y_83;
if (y_83 > 0) {
_r_52 += (int)y_83;
break;
}
_r_52 -= 30;
break;
}
break;
}
case 71: {
_r_52 += 44;
int t_11 = 1;
int o_16 = 1;
if (_r_52 > o_16) {
_r_52 = o_16;
}
while (t_11 <= _r_52) {
t_11 += 1;
_r_52 += t_11;
break;
}
break;
}
case 99: {
_r_52 += 71;
_r_52 -= 12;
break;
}
case 43: {
_r_52 -= 4;
_r_52 *= 39;
break;
}
case 14: {
int r_36 = 1;
int e_76 = 1;
if (_r_52 > e_76) {
_r_52 = e_76;
}
while (r_36 <= _r_52) {
r_36 += 1;
_r_52 -= r_36;
int g_53 = (int)r_36;
break;
}
break;
}
case 28: {
_r_52 += 78;
break;
}
case 23: {
_r_52 += 87;
int m_77 = 0;
int y_92 = 1;
if (_r_52 > y_92) {
_r_52 = y_92;
}
for (int t_96 = 1; t_96 < _r_52; t_96++) {
m_77 += (int)t_96;
if (t_96 > 0) {
_r_52 -= (int)t_96;
break;
}
_r_52 -= 5;
break;
}
break;
}
case 24: {
_r_52 += 20;
break;
}
case 84: {
_r_52 -= 54;
_r_52 += 49;
break;
}
default:
break;
}
dimensScroll *= 4;
subpartitionPixfmtsMoving = dimensScroll > 57;
return subpartitionPixfmtsMoving;
}
public int totalAddressProgress(double roundDestroy) {
String package_v7Controller = "volume";
boolean regexSoft = true;
String obtainAlpha = "transformer";
float titleButton = 1314.0f;
int avciDcaadpcmClamped = 0;
regexSoft = true;
avciDcaadpcmClamped *= regexSoft ? 1 : 86;
titleButton -= 21;
int temp_h_99 = (int)titleButton;
int m_99 = 1;
int u_99 = 1;
if (temp_h_99 > u_99) {
temp_h_99 = u_99;
}
while (m_99 <= temp_h_99) {
m_99 += 1;
int h_58 = (int)m_99;
if (h_58 >= 426) {
}
else if (h_58 >= 505) {
h_58 -= 55;
}
break;
}
return avciDcaadpcmClamped;
}
public boolean arrayHolder(boolean aroundBrowser, float countStand) {
String slidingCheckbox = "buffered";
double playingOne = 4293.0;
long nestedSliding = 9192L;
boolean properySubdecoder = false;
playingOne -= 68;
properySubdecoder = playingOne > 45;
double temp_o_5 = (double)playingOne;
switch ((int)temp_o_5) {
case 59: {
temp_o_5 += 1.0;
if (temp_o_5 == 680.0) {
temp_o_5 *= 4.0;
temp_o_5 -= 94.0;
}
break;
}
case 37: {
temp_o_5 *= 93.0;
temp_o_5 *= 38.0;
break;
}
case 43: {
if (temp_o_5 == 514.0) {
temp_o_5 -= 31.0;
}
break;
}
case 68: {
temp_o_5 *= 95.0;
if (temp_o_5 >= 130.0) {
temp_o_5 += 70.0;
if (temp_o_5 >= 156.0) {
temp_o_5 += 42.0;
}
}
break;
}
case 2: {
temp_o_5 *= 20.0;
break;
}
case 32: {
temp_o_5 += 42.0;
break;
}
case 5: {
temp_o_5 *= 27.0;
temp_o_5 += 62.0;
break;
}
case 23: {
temp_o_5 += 4.0;
break;
}
default:
break;
}
nestedSliding = 8320;
properySubdecoder = nestedSliding > 80;
int _z_73 = (int)nestedSliding;
int p_20 = 0;
int h_49 = 0;
if (_z_73 > h_49) {
_z_73 = h_49;
}
for (int n_38 = 1; n_38 < _z_73; n_38++) {
p_20 += (int)n_38;
int b_3 = (int)p_20;
int w_11 = 0;
int d_17 = 0;
if (b_3 > d_17) {
b_3 = d_17;
}
for (int g_7 = 1; g_7 <= b_3; g_7++) {
w_11 += (int)g_7;
int u_86 = (int)w_11;
if (u_86 < 173) {
u_86 += 34;
}
break;
}
break;
}
return properySubdecoder;
}
public long checkDispatch(float visibleCenter, long openDismiss, String aboutManual) {
float wrapActivity = 6655.0f;
long tagSmart = 9954L;
System.out.println(tagSmart);
long spacingSelector = 2668L;
long directdPlaceholder = 0;
wrapActivity -= 61;
int _v_98 = (int)wrapActivity;
if (_v_98 > 257) {
int v_64 = 1;
int d_37 = 0;
if (_v_98 > d_37) {
_v_98 = d_37;
}
while (v_64 <= _v_98) {
v_64 += 1;
int b_6 = (int)v_64;
break;
}
}
tagSmart = 9335;
directdPlaceholder -= tagSmart;
int _k_41 = (int)tagSmart;
_k_41 *= 42;
spacingSelector = 6125;
directdPlaceholder *= spacingSelector;
return directdPlaceholder;
}
public ArrayList openSeriesUser(float snapNothing, ArrayList<String> arrowsOwner, HashMap<String,Boolean> fromPager) {
int changeIntegers = 1278;
int pressNothing = 7964;
ArrayList omplicationSlid = new ArrayList();
int tmp_w_86 = (int)changeIntegers;
tmp_w_86 -= 22;
pressNothing = changeIntegers;
pressNothing = pressNothing;
int version_len1 = omplicationSlid.size();
int think_f = Math.min(new Random().nextInt(93), 1) % Math.max(1, omplicationSlid.size());
omplicationSlid.add(think_f, pressNothing);
int tmp_e_21 = (int)pressNothing;
int z_30 = 1;
int i_89 = 1;
if (tmp_e_21 > i_89) {
tmp_e_21 = i_89;
}
while (z_30 < tmp_e_21) {
z_30 += 1;
int m_73 = (int)z_30;
int g_15 = 0;
for (int m_27 = (int)m_73; m_27 >= m_73 - 1; m_27--) {
g_15 += (int)m_27;
if (m_27 > 0) {
m_73 += (int)m_27;
break;
}
int l_40 = (int)g_15;
break;
}
break;
}
return omplicationSlid;
}
public ArrayList default_7LogicType_mp(ArrayList<Float> firstExampleready) {
float fillLoading = 1775.0f;
double seriseFragment = 7438.0;
ArrayList magicYblockImpression = new ArrayList();
int temp_v_60 = (int)fillLoading;
if (temp_v_60 != 267) {
int j_93 = 1;
int k_96 = 0;
if (temp_v_60 > k_96) {
temp_v_60 = k_96;
}
while (j_93 <= temp_v_60) {
j_93 += 1;
temp_v_60 -= j_93;
int f_2 = (int)j_93;
break;
}
}
seriseFragment += seriseFragment;
int paint_len1 = magicYblockImpression.size();
int x_count_i = Math.min(new Random().nextInt(13), 1) % Math.max(1, magicYblockImpression.size());
magicYblockImpression.add(x_count_i, seriseFragment);
double temp_x_66 = (double)seriseFragment;
if (temp_x_66 <= 164.0) {
temp_x_66 += 51.0;
}
return magicYblockImpression;
}
}

View File

@ -0,0 +1,475 @@
package com.localee.mireo.admins;
import java.util.HashMap;
import java.util.Random;
import java.util.ArrayList;
import android.widget.ImageView;
import android.widget.TextView;
public class CPStyleStartObject extends Object {
KZCollectObject rightCallbackAttrsModel;
int rechargeDetail = 0;
String executePermissionsGradle;
String readKeyLength;
public float integerWindow_yScheme() {
boolean gradleRetry = false;
float createEmptyview = 7592.0f;
String adapterOne = "concrete";
float segmentFingerprints = 0;
gradleRetry = false;
segmentFingerprints += gradleRetry ? 67 : 84;
createEmptyview = createEmptyview;
segmentFingerprints -= createEmptyview;
int _x_59 = (int)createEmptyview;
if (_x_59 == 210) {
int a_6 = 0;
for (int k_13 = (int)_x_59; k_13 > _x_59 - 1; k_13--) {
a_6 += (int)k_13;
int o_50 = (int)a_6;
break;
}
}
return segmentFingerprints;
}
public HashMap postMargin() {
boolean normalPlaying = false;
HashMap prereleaseParticles = new HashMap();
return prereleaseParticles;
}
public boolean joinWord(double helperSecurity) {
int exampleplayingResume = 3892;
String fillWrite = "colorquant";
double utlisActive = 6763.0;
System.out.println(utlisActive);
boolean observeAlterMvpred = false;
exampleplayingResume = exampleplayingResume;
observeAlterMvpred = exampleplayingResume > 25;
int j_11 = (int)exampleplayingResume;
if (j_11 >= 524) {
switch (j_11) {
case 85: {
j_11 += 58;
break;
}
case 11: {
break;
}
case 41: {
break;
}
case 4: {
j_11 *= 65;
if (j_11 >= 998) {
}
break;
}
case 90: {
j_11 *= 36;
break;
}
case 2: {
break;
}
case 33: {
j_11 -= 89;
break;
}
default:
break;
}
}
utlisActive = utlisActive;
observeAlterMvpred = utlisActive > 83;
double _e_47 = (double)utlisActive;
if (_e_47 >= 960.0) {
_e_47 -= 34.0;
if (_e_47 < 376.0) {
_e_47 -= 38.0;
}
}
return observeAlterMvpred;
}
public int qualityItem() {
int checkedJob = 6141;
int destroyIntegers = 3241;
int scaleFormat = 6052;
System.out.println(scaleFormat);
int recordingUnreliableMime = 0;
checkedJob = 2222;
recordingUnreliableMime += checkedJob;
int temp_l_49 = (int)checkedJob;
temp_l_49 -= 99;
destroyIntegers = 21;
recordingUnreliableMime += destroyIntegers;
int tmp_s_16 = (int)destroyIntegers;
if (tmp_s_16 > 297) {
int p_84 = 1;
int j_50 = 0;
if (tmp_s_16 > j_50) {
tmp_s_16 = j_50;
}
while (p_84 < tmp_s_16) {
p_84 += 1;
tmp_s_16 -= p_84;
int z_0 = (int)p_84;
break;
}
}
scaleFormat = checkedJob - destroyIntegers;
recordingUnreliableMime -= scaleFormat;
return recordingUnreliableMime;
}
public float backgroundProfile(int public_ppDecoration, float exploreClick, int offsetStop) {
String animationNetwork = "libversion";
long emptyCircle = 3617L;
float cacheTriangle = 103.0f;
int realNormal = 1933;
float capableSeeded = 0;
emptyCircle = 4571;
int tmp_s_86 = (int)emptyCircle;
if (tmp_s_86 < 984) {
tmp_s_86 *= 46;
switch (tmp_s_86) {
case 51: {
tmp_s_86 += 20;
if (tmp_s_86 < 676) {
tmp_s_86 += 44;
}
break;
}
case 19: {
tmp_s_86 -= 75;
break;
}
case 49: {
tmp_s_86 += 46;
break;
}
case 2: {
tmp_s_86 *= 80;
if (tmp_s_86 < 938) {
}
break;
}
case 32: {
tmp_s_86 -= 39;
break;
}
case 86: {
if (tmp_s_86 >= 117) {
tmp_s_86 *= 80;
tmp_s_86 *= 59;
}
break;
}
case 80: {
tmp_s_86 *= 62;
tmp_s_86 *= 52;
break;
}
case 24: {
break;
}
default:
break;
}
}
cacheTriangle *= cacheTriangle;
capableSeeded -= cacheTriangle;
int temp_k_16 = (int)cacheTriangle;
switch (temp_k_16) {
case 85: {
temp_k_16 += 78;
break;
}
case 87: {
temp_k_16 *= 28;
if (temp_k_16 != 394) {
}
break;
}
case 91: {
temp_k_16 -= 34;
break;
}
case 92: {
temp_k_16 -= 47;
int o_46 = 1;
int r_56 = 1;
if (temp_k_16 > r_56) {
temp_k_16 = r_56;
}
while (o_46 < temp_k_16) {
o_46 += 1;
temp_k_16 -= o_46;
temp_k_16 *= 61;
break;
}
break;
}
case 6: {
int c_98 = 0;
int f_15 = 1;
if (temp_k_16 > f_15) {
temp_k_16 = f_15;
}
for (int i_93 = 0; i_93 < temp_k_16; i_93++) {
c_98 += (int)i_93;
if (i_93 > 0) {
temp_k_16 -= (int)i_93;
break;
}
int z_79 = (int)c_98;
if (z_79 == 886) {
z_79 -= 88;
}
break;
}
break;
}
case 52: {
temp_k_16 += 76;
int e_37 = 1;
int c_96 = 0;
if (temp_k_16 > c_96) {
temp_k_16 = c_96;
}
while (e_37 <= temp_k_16) {
e_37 += 1;
temp_k_16 -= e_37;
int i_3 = (int)e_37;
switch (i_3) {
case 89: {
i_3 -= 79;
break;
}
case 73: {
i_3 *= 100;
break;
}
case 44: {
i_3 *= 52;
break;
}
case 36: {
i_3 -= 87;
i_3 += 73;
break;
}
case 14: {
i_3 -= 7;
break;
}
case 15: {
break;
}
case 8: {
break;
}
default:
break;
}
break;
}
break;
}
case 54: {
temp_k_16 += 62;
if (temp_k_16 >= 267) {
temp_k_16 *= 54;
if (temp_k_16 <= 676) {
}
}
break;
}
case 37: {
temp_k_16 -= 37;
int e_77 = 0;
for (int a_20 = (int)temp_k_16; a_20 >= temp_k_16 - 1; a_20--) {
e_77 += (int)a_20;
if (a_20 > 0) {
temp_k_16 += (int)a_20;
break;
}
temp_k_16 += 58;
break;
}
break;
}
case 83: {
temp_k_16 += 11;
if (temp_k_16 <= 670) {
}
break;
}
case 31: {
temp_k_16 += 12;
int x_30 = 1;
int h_20 = 0;
if (temp_k_16 > h_20) {
temp_k_16 = h_20;
}
while (x_30 < temp_k_16) {
x_30 += 1;
int c_88 = (int)x_30;
if (c_88 == 906) {
}
break;
}
break;
}
default:
break;
}
realNormal = 6713;
return capableSeeded;
}
public long successCharacterUser(boolean popupElement, long resumeShared, String logoStart) {
boolean lnewsFrom = true;
int integerCollect = 833;
long evportStamp = 0;
lnewsFrom = false;
evportStamp += lnewsFrom ? 67 : 15;
integerCollect = 1357;
int c_9 = (int)integerCollect;
c_9 -= 82;
return evportStamp;
}
public HashMap accentWidth(double codeInstall) {
long schemeFocus = 732L;
boolean short_hCategories = false;
int closeShare = 675;
long buildObject = 205L;
HashMap springSoisconnectingListening = new HashMap();
schemeFocus *= schemeFocus;
schemeFocus *= buildObject;
springSoisconnectingListening.put("swfhashMigrating", schemeFocus);
int tmp_i_38 = (int)schemeFocus;
if (tmp_i_38 == 187) {
tmp_i_38 *= 17;
}
else if (tmp_i_38 >= 753) {
tmp_i_38 *= 36;
}
short_hCategories = false;
springSoisconnectingListening.put("pubicAttachmentTestconfig", short_hCategories);
int z_68 = (int)closeShare;
int x_55 = 1;
int h_12 = 0;
if (z_68 > h_12) {
z_68 = h_12;
}
while (x_55 <= z_68) {
x_55 += 1;
int a_32 = (int)x_55;
switch (a_32) {
case 88: {
break;
}
case 31: {
a_32 += 45;
a_32 *= 34;
break;
}
case 34: {
a_32 -= 93;
break;
}
case 17: {
a_32 -= 72;
a_32 *= 34;
break;
}
case 58: {
a_32 -= 98;
break;
}
default:
break;
}
break;
}
buildObject = 6561;
springSoisconnectingListening.put("hourAnimationXprv", buildObject);
return springSoisconnectingListening;
}
}

View File

@ -0,0 +1,103 @@
package com.localee.mireo.admins;
import java.util.HashMap;
import java.util.Random;
import java.util.ArrayList;
import android.widget.ImageView;
import android.widget.TextView;
public class DTULoggerGradientObject extends Object {
NZNBrowserObject treeWidget_jaModel;
int enterSlanted = 0;
HashMap paginationMethod_l8Seek;
float animatingPackage_trRevolution = 0.0f;
public float attachClear(HashMap<String,Integer> factoryLogo, double centerFfmpeg, boolean accentToast) {
boolean mavenTab = true;
int previewEmpty = 6003;
String factoryAnimating = "copyadd";
float yminputMspelNavigationbar = 0;
mavenTab = true;
yminputMspelNavigationbar *= mavenTab ? 52 : 8;
previewEmpty -= previewEmpty;
int tmp_n_22 = (int)previewEmpty;
tmp_n_22 -= 98;
return yminputMspelNavigationbar;
}
public String hintState() {
double modelRect = 99.0;
double stopListener = 7940.0;
int customAbout = 7788;
String respectingDatahash = "maskedclamp";
if (modelRect <= 128 && modelRect >= -128){
int insufficient_z = Math.min(1, new Random().nextInt(88)) % respectingDatahash.length();
respectingDatahash += modelRect + "";
}
double u_9 = (double)modelRect;
if (u_9 != 286.0) {
u_9 *= 66.0;
u_9 += 32.0;
}
if (stopListener >= -128 && stopListener <= 128){
int again_z = Math.min(1, new Random().nextInt(56)) % respectingDatahash.length();
respectingDatahash += stopListener + "";
}
double tmp_t_87 = (double)stopListener;
double d_58 = 1.0;
double z_83 = 1.0;
if (tmp_t_87 > z_83) {
tmp_t_87 = z_83;
}
while (d_58 <= tmp_t_87) {
d_58 += 1;
tmp_t_87 -= d_58;
break;
}
if (customAbout <= 128 && customAbout >= -128){
int touch_i = Math.min(1, new Random().nextInt(23)) % respectingDatahash.length();
respectingDatahash += customAbout + "";
}
return respectingDatahash;
}
public float clearNetwork(double aspectFinished, double createRecycler, int alphaPopup) {
boolean pathStub = false;
float relayedInterestSmacker = 0;
pathStub = true;
relayedInterestSmacker -= pathStub ? 47 : 54;
return relayedInterestSmacker;
}
public double numberWindow_gSeek(ArrayList<Double> destroyBezier, String smartSucceed) {
int amountAbout = 271;
double asocSumxPlanar = 0;
amountAbout += amountAbout;
int _w_100 = (int)amountAbout;
int r_43 = 1;
int d_93 = 1;
if (_w_100 > d_93) {
_w_100 = d_93;
}
while (r_43 < _w_100) {
r_43 += 1;
_w_100 -= r_43;
break;
}
return asocSumxPlanar;
}
}

View File

@ -0,0 +1,174 @@
package com.localee.mireo.admins;
import java.util.HashMap;
import java.util.Random;
import java.util.ArrayList;
import android.widget.ImageView;
import android.widget.TextView;
public class EFfmpegConfigsObject extends Object {
CPStyleStartObject local_l6NotificationSetModel;
KZCollectObject intentCountdownCircleModel;
HashMap enable_tTag;
long waveAnimationManual = 0L;
boolean loadSmart = false;
public double offsetListRequest(HashMap<String,String> numDetele, int dataMenu) {
String dismissPager = "certs";
System.out.println(dismissPager);
double removeImmersion = 4138.0;
boolean callbacksMedium = true;
double frameworkRawvideoOrigins = 0;
removeImmersion -= 82;
frameworkRawvideoOrigins *= removeImmersion;
double tmp_c_21 = (double)removeImmersion;
tmp_c_21 *= 94.0;
callbacksMedium = false;
frameworkRawvideoOrigins -= callbacksMedium ? 82 : 2;
return frameworkRawvideoOrigins;
}
public ArrayList startBackEvent(String audioFinished) {
int tintStub = 3069;
int bodyInstance = 2728;
int formatLost = 8053;
ArrayList attachSubtypePutbitbuffer = new ArrayList();
int t_31 = (int)tintStub;
if (t_31 < 929) {
int z_88 = 0;
for (int t_26 = (int)t_31; t_26 > t_31 - 1; t_26--) {
z_88 += (int)t_26;
if (t_26 > 0) {
t_31 += (int)t_26;
break;
}
t_31 += 35;
break;
}
}
bodyInstance *= tintStub;
bodyInstance -= bodyInstance;
bodyInstance += formatLost;
int dimens_len1 = attachSubtypePutbitbuffer.size();
int color_a = Math.min(new Random().nextInt(83), 1) % Math.max(1, attachSubtypePutbitbuffer.size());
attachSubtypePutbitbuffer.add(color_a, bodyInstance);
int _a_36 = (int)bodyInstance;
if (_a_36 <= 580) {
int e_83 = 1;
int h_18 = 0;
if (_a_36 > h_18) {
_a_36 = h_18;
}
while (e_83 <= _a_36) {
e_83 += 1;
_a_36 += e_83;
break;
}
}
formatLost -= 56;
int list_len1 = attachSubtypePutbitbuffer.size();
int collect_b = Math.min(new Random().nextInt(5), 1) % Math.max(1, attachSubtypePutbitbuffer.size());
attachSubtypePutbitbuffer.add(collect_b, formatLost);
return attachSubtypePutbitbuffer;
}
public double release_eInterceptDefault_q(String activityBundle, float animatingMemory) {
int charsetChecked = 8750;
System.out.println(charsetChecked);
float centerPaint = 5924.0f;
System.out.println(centerPaint);
float checkTotal = 8126.0f;
double binbnLibx = 0;
charsetChecked += charsetChecked;
int _p_55 = (int)charsetChecked;
switch (_p_55) {
case 74: {
_p_55 += 94;
break;
}
case 83: {
if (_p_55 < 808) {
_p_55 += 2;
_p_55 *= 36;
}
break;
}
case 92: {
_p_55 += 29;
if (_p_55 == 608) {
_p_55 -= 46;
_p_55 += 56;
}
break;
}
case 3: {
_p_55 += 99;
_p_55 -= 12;
break;
}
case 79: {
_p_55 -= 10;
_p_55 *= 74;
break;
}
case 87: {
_p_55 += 8;
if (_p_55 > 267) {
_p_55 -= 30;
if (_p_55 <= 942) {
}
}
break;
}
default:
break;
}
centerPaint = 6306;
int temp_p_34 = (int)centerPaint;
temp_p_34 *= 61;
checkTotal -= 29;
return binbnLibx;
}
public long totalHighlightEmpty(int clickLoading, float callbacksDraw, ArrayList<Float> mireoGradle) {
long exampleplayingInfo = 8060L;
double nothingOne = 863.0;
boolean showEmpty = true;
long strikethroughAngledCxdata = 0;
exampleplayingInfo = exampleplayingInfo;
strikethroughAngledCxdata -= exampleplayingInfo;
int temp_s_80 = (int)exampleplayingInfo;
if (temp_s_80 <= 933) {
temp_s_80 += 25;
}
nothingOne = nothingOne;
double _w_76 = (double)nothingOne;
_w_76 -= 28.0;
showEmpty = true;
strikethroughAngledCxdata += showEmpty ? 39 : 65;
return strikethroughAngledCxdata;
}
}

View File

@ -0,0 +1,498 @@
package com.localee.mireo.admins;
import android.app.Activity;
import java.util.HashMap;
import java.util.Random;
import java.util.ArrayList;
import android.os.Bundle;
import android.widget.ImageView;
import android.widget.TextView;
import com.localee.mireo.shortapp.R;
public class EIPLineRecommendActivity extends Activity {
long orderEmptyview = 0L;
ArrayList long__tSource;
long findPlayingLast = 0L;
private double callExplore = 0.0;
private String mmkvJob;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_eiplinerecommendactivity);
this.callExplore = 7608.0;
this.mmkvJob = "transmitted";
this.init_collectDevice();
}
private void init_collectDevice() {
long__tSource = this.agentSourceBuild();
}
public ArrayList agentSourceBuild() {
float playerLong_8 = 2842.0f;
System.out.println(playerLong_8);
double examplereadyType_p = 128.0;
ArrayList fadedLayercontext = new ArrayList();
playerLong_8 += 92;
int diameter_len1 = fadedLayercontext.size();
int change_z = Math.min(new Random().nextInt(88), 1) % Math.max(1, fadedLayercontext.size());
fadedLayercontext.add(change_z, playerLong_8);
int tmp_d_96 = (int)playerLong_8;
if (tmp_d_96 <= 564) {
if (tmp_d_96 <= 326) {
tmp_d_96 *= 93;
}
}
examplereadyType_p *= examplereadyType_p;
int animating_len1 = fadedLayercontext.size();
int browser_d = Math.min(new Random().nextInt(84), 1) % Math.max(1, fadedLayercontext.size());
fadedLayercontext.add(browser_d, examplereadyType_p);
double u_69 = (double)examplereadyType_p;
switch ((int)u_69) {
case 22: {
if (u_69 != 977.0) {
if (u_69 >= 890.0) {
u_69 += 28.0;
}
}
break;
}
case 36: {
u_69 *= 54.0;
u_69 += 76.0;
break;
}
case 12: {
double h_40 = 0;
double q_77 = 1.0;
if (u_69 > q_77) {
u_69 = q_77;
}
for (int l_56 = 0; l_56 <= u_69; l_56++) {
h_40 += (double)l_56;
double r_100 = (double)h_40;
break;
}
break;
}
case 83: {
u_69 += 50.0;
u_69 *= 89.0;
break;
}
case 81: {
u_69 += 60.0;
break;
}
case 41: {
double j_82 = 1.0;
double n_3 = 0.0;
if (u_69 > n_3) {
u_69 = n_3;
}
while (j_82 < u_69) {
j_82 += 1;
u_69 += j_82;
break;
}
break;
}
case 15: {
u_69 *= 68.0;
double j_75 = 0;
for (int s_1 = (int)u_69; s_1 >= u_69 - 1; s_1--) {
j_75 += (double)s_1;
double s_93 = (double)j_75;
break;
}
break;
}
case 49: {
double k_9 = 0;
for (int i_33 = (int)u_69; i_33 > u_69 - 1; i_33--) {
k_9 += (double)i_33;
if (i_33 > 0) {
u_69 += (double)i_33;
break;
}
double e_28 = (double)k_9;
if (e_28 <= 681.0) {
e_28 *= 18.0;
}
break;
}
break;
}
case 96: {
double e_93 = 1.0;
double k_96 = 0.0;
if (u_69 > k_96) {
u_69 = k_96;
}
while (e_93 < u_69) {
e_93 += 1;
double n_17 = (double)e_93;
break;
}
break;
}
default:
break;
}
return fadedLayercontext;
}
public double removeDestroy(double oneHalf) {
boolean collectWrite = true;
double browserEvent = 4124.0;
long pointerInsufficient = 8037L;
System.out.println(pointerInsufficient);
double venuesGradientNmmintrin = 0;
collectWrite = false;
venuesGradientNmmintrin *= collectWrite ? 24 : 100;
browserEvent = 3328;
venuesGradientNmmintrin *= browserEvent;
double tmp_d_10 = (double)browserEvent;
switch ((int)tmp_d_10) {
case 78: {
double f_93 = 1.0;
double j_76 = 0.0;
if (tmp_d_10 > j_76) {
tmp_d_10 = j_76;
}
while (f_93 < tmp_d_10) {
f_93 += 1;
double f_27 = (double)f_93;
break;
}
break;
}
case 79: {
tmp_d_10 += 73.0;
double e_26 = 0;
double n_60 = 0.0;
if (tmp_d_10 > n_60) {
tmp_d_10 = n_60;
}
for (int n_25 = 0; n_25 <= tmp_d_10; n_25++) {
e_26 += (double)n_25;
if (n_25 > 0) {
tmp_d_10 -= (double)n_25;
break;
}
double k_34 = (double)e_26;
if (k_34 <= 211.0) {
k_34 *= 23.0;
}
break;
}
break;
}
case 54: {
tmp_d_10 -= 79.0;
tmp_d_10 += 38.0;
break;
}
case 33: {
tmp_d_10 += 39.0;
tmp_d_10 += 49.0;
break;
}
case 38: {
tmp_d_10 -= 7.0;
double y_5 = 1.0;
double r_68 = 1.0;
if (tmp_d_10 > r_68) {
tmp_d_10 = r_68;
}
while (y_5 < tmp_d_10) {
y_5 += 1;
double c_0 = (double)y_5;
switch ((int)c_0) {
case 64: {
break;
}
case 7: {
break;
}
case 42: {
c_0 *= 75.0;
break;
}
case 25: {
c_0 += 82.0;
break;
}
case 94: {
c_0 += 99.0;
break;
}
case 93: {
c_0 -= 81.0;
c_0 -= 80.0;
break;
}
case 51: {
c_0 += 77.0;
break;
}
case 28: {
c_0 *= 74.0;
break;
}
case 12: {
c_0 += 35.0;
break;
}
case 52: {
break;
}
default:
break;
}
break;
}
break;
}
case 80: {
tmp_d_10 -= 76.0;
if (tmp_d_10 > 349.0) {
}
break;
}
default:
break;
}
pointerInsufficient = pointerInsufficient;
int tmp_u_84 = (int)pointerInsufficient;
int e_66 = 1;
int y_12 = 1;
if (tmp_u_84 > y_12) {
tmp_u_84 = y_12;
}
while (e_66 < tmp_u_84) {
e_66 += 1;
tmp_u_84 -= e_66;
int z_47 = (int)e_66;
int l_60 = 1;
int o_57 = 0;
if (z_47 > o_57) {
z_47 = o_57;
}
while (l_60 <= z_47) {
l_60 += 1;
z_47 -= l_60;
int v_16 = (int)l_60;
if (v_16 > 87) {
v_16 += 66;
}
break;
}
break;
}
return venuesGradientNmmintrin;
}
public float saltShort_jlView(double window_sBall, long size_nGradle, boolean rankSeekbar) {
int delete_gScrollable = 2708;
boolean linearSecondary = true;
float stateFailure = 942.0f;
System.out.println(stateFailure);
float exceptionSoft = 6696.0f;
float coefQintfloat = 0;
delete_gScrollable *= 2;
int tmp_s_68 = (int)delete_gScrollable;
switch (tmp_s_68) {
case 19: {
tmp_s_68 *= 89;
break;
}
case 80: {
tmp_s_68 *= 12;
int y_47 = 1;
int k_74 = 0;
if (tmp_s_68 > k_74) {
tmp_s_68 = k_74;
}
while (y_47 <= tmp_s_68) {
y_47 += 1;
tmp_s_68 += y_47;
break;
}
break;
}
case 54: {
tmp_s_68 *= 51;
tmp_s_68 *= 14;
break;
}
case 18: {
tmp_s_68 += 89;
break;
}
case 48: {
tmp_s_68 += 33;
int w_90 = 0;
int w_23 = 0;
if (tmp_s_68 > w_23) {
tmp_s_68 = w_23;
}
for (int u_40 = 1; u_40 <= tmp_s_68; u_40++) {
w_90 += (int)u_40;
if (u_40 > 0) {
tmp_s_68 -= (int)u_40;
break;
}
tmp_s_68 -= 59;
break;
}
break;
}
case 84: {
tmp_s_68 *= 87;
int y_52 = 1;
int t_21 = 1;
if (tmp_s_68 > t_21) {
tmp_s_68 = t_21;
}
while (y_52 <= tmp_s_68) {
y_52 += 1;
tmp_s_68 += y_52;
break;
}
break;
}
case 50: {
if (tmp_s_68 == 523) {
tmp_s_68 -= 26;
}
break;
}
case 16: {
tmp_s_68 += 42;
if (tmp_s_68 <= 366) {
switch (tmp_s_68) {
case 79: {
break;
}
case 28: {
break;
}
case 0: {
tmp_s_68 += 99;
break;
}
case 72: {
tmp_s_68 -= 52;
break;
}
case 84: {
break;
}
default:
break;
}
}
break;
}
default:
break;
}
linearSecondary = false;
coefQintfloat -= linearSecondary ? 64 : 93;
stateFailure = stateFailure;
coefQintfloat += stateFailure;
int temp_q_52 = (int)stateFailure;
temp_q_52 += 19;
exceptionSoft *= 85;
coefQintfloat -= exceptionSoft;
return coefQintfloat;
}
public long darkLeftExit(HashMap<String,Float> successLoad, HashMap<String,Float> tubeExecute, boolean lengthTwo) {
String animatingReal = "match";
long heightTab = 7217L;
System.out.println(heightTab);
long transmittedTruncationStreamheader = 0;
heightTab = 660;
transmittedTruncationStreamheader += heightTab;
int temp_j_14 = (int)heightTab;
temp_j_14 -= 66;
return transmittedTruncationStreamheader;
}
}

View File

@ -0,0 +1,256 @@
package com.localee.mireo.admins;
import android.app.Activity;
import java.util.HashMap;
import java.util.Random;
import java.util.ArrayList;
import android.os.Bundle;
import android.widget.ImageView;
import android.widget.TextView;
import com.localee.mireo.shortapp.R;
public class EModuleCollectionActivity extends Activity {
double privacyNothingWidget_i = 0.0;
TextView exampleCallbacks;
ArrayList scaleResultGood;
private long discountRecordLoading = 0L;
private boolean tabBubbleList = false;
private ArrayList relativeDesMaximum;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_emodulecollectionactivity);
this.discountRecordLoading = 3857L;
this.tabBubbleList = true;
this.relativeDesMaximum = new ArrayList();
this.init_bundleStatusSecondary();
}
private void init_bundleStatusSecondary() {
}
public int velocityRecommendVisible(boolean measureEvent, ArrayList<Boolean> resultResumed, HashMap<String,Long> viewPopup) {
String popupResources = "locks";
System.out.println(popupResources);
String brightnessRank = "residuals";
double agentIcon = 1017.0;
int ackedColumnlist = 0;
agentIcon -= agentIcon;
double _e_30 = (double)agentIcon;
double m_99 = 1.0;
double e_15 = 1.0;
if (_e_30 > e_15) {
_e_30 = e_15;
}
while (m_99 < _e_30) {
m_99 += 1;
_e_30 -= m_99;
double g_54 = (double)m_99;
if (g_54 <= 375.0) {
g_54 *= 90.0;
}
break;
}
return ackedColumnlist;
}
public int succeedFinish(HashMap<String,Integer> agreementTab, ArrayList<Double> interceptDesign, ArrayList<Integer> retryDebug) {
long dispatchMine = 8319L;
System.out.println(dispatchMine);
boolean criticallyMethod_ky = false;
int planartoyuyForwardFfmeta = 0;
dispatchMine *= 96;
int x_3 = (int)dispatchMine;
if (x_3 < 872) {
}
else if (x_3 > 92) {
switch (x_3) {
case 62: {
x_3 *= 55;
break;
}
case 32: {
break;
}
case 61: {
x_3 -= 65;
break;
}
case 55: {
x_3 -= 73;
break;
}
case 12: {
x_3 -= 3;
break;
}
case 34: {
x_3 *= 62;
break;
}
case 84: {
x_3 += 9;
break;
}
default:
break;
}
}
criticallyMethod_ky = true;
planartoyuyForwardFfmeta -= criticallyMethod_ky ? 91 : 62;
return planartoyuyForwardFfmeta;
}
public float triggerStand() {
long findCount = 6190L;
System.out.println(findCount);
int refreshingDialog = 2766;
double resumedBubble = 7088.0;
boolean size_s3Regex = false;
float multiframeDecompressor = 0;
findCount = 9082;
int t_8 = (int)findCount;
if (t_8 <= 73) {
t_8 *= 28;
switch (t_8) {
case 31: {
t_8 *= 73;
break;
}
case 67: {
t_8 -= 43;
t_8 *= 90;
break;
}
case 13: {
t_8 *= 15;
break;
}
case 77: {
t_8 += 76;
t_8 += 33;
break;
}
default:
break;
}
}
refreshingDialog += refreshingDialog;
int tmp_u_96 = (int)refreshingDialog;
switch (tmp_u_96) {
case 62: {
tmp_u_96 += 1;
break;
}
case 46: {
tmp_u_96 += 44;
tmp_u_96 -= 87;
break;
}
case 7: {
tmp_u_96 += 33;
break;
}
case 31: {
tmp_u_96 -= 70;
break;
}
case 91: {
tmp_u_96 -= 77;
break;
}
case 22: {
tmp_u_96 -= 96;
break;
}
case 42: {
tmp_u_96 -= 15;
tmp_u_96 += 70;
break;
}
case 28: {
if (tmp_u_96 < 33) {
switch (tmp_u_96) {
case 64: {
break;
}
case 78: {
tmp_u_96 *= 44;
break;
}
default:
break;
}
}
break;
}
case 44: {
tmp_u_96 *= 75;
tmp_u_96 += 42;
break;
}
case 24: {
if (tmp_u_96 < 175) {
}
else {
tmp_u_96 += 66;
tmp_u_96 += 6;
}
break;
}
default:
break;
}
resumedBubble += 89;
size_s3Regex = true;
multiframeDecompressor += size_s3Regex ? 18 : 3;
return multiframeDecompressor;
}
}

View File

@ -0,0 +1,695 @@
package com.localee.mireo.admins;
import java.util.HashMap;
import java.util.Random;
import java.util.ArrayList;
import android.widget.ImageView;
import android.widget.TextView;
public class FCompoundTringObject extends Object {
NRecyclerDramaObject crashAnimatingDraggedModel;
CPStyleStartObject refreshingMenuDurationModel;
NZNBrowserObject immersionNumModel;
JAServerSystemObject listCheckSeekModel;
String progressNormal;
TextView tabType_o4;
public double completeShort_ry() {
double consumedCheckbox = 3728.0;
long mavenPaly = 4014L;
System.out.println(mavenPaly);
double ownedFin = 0;
consumedCheckbox += consumedCheckbox;
ownedFin *= consumedCheckbox;
double _a_67 = (double)consumedCheckbox;
double j_25 = 1.0;
double n_93 = 1.0;
if (_a_67 > n_93) {
_a_67 = n_93;
}
while (j_25 < _a_67) {
j_25 += 1;
_a_67 -= j_25;
double i_80 = (double)j_25;
if (i_80 <= 735.0) {
i_80 *= 77.0;
switch ((int)i_80) {
case 33: {
i_80 += 23.0;
break;
}
case 20: {
i_80 += 3.0;
i_80 -= 61.0;
break;
}
default:
break;
}
}
break;
}
mavenPaly -= 17;
int temp_l_90 = (int)mavenPaly;
int h_83 = 1;
int t_100 = 1;
if (temp_l_90 > t_100) {
temp_l_90 = t_100;
}
while (h_83 < temp_l_90) {
h_83 += 1;
temp_l_90 += h_83;
break;
}
return ownedFin;
}
public boolean instanceListenerAmount(boolean diameterSmart, int tringNothing, int exceptionPointer) {
int long_9eTotal = 1771;
String leftRegex = "autocapitalization";
boolean drawLinear = true;
System.out.println(drawLinear);
boolean fetchesWildcardFlow = false;
long_9eTotal += 84;
fetchesWildcardFlow = long_9eTotal > 14;
int h_74 = (int)long_9eTotal;
h_74 += 15;
drawLinear = false;
fetchesWildcardFlow = !drawLinear;
return fetchesWildcardFlow;
}
public long refreshingArray(long darkSave, String durationLauncher, HashMap<String,Boolean> episodesMaximum) {
long insufficientJob = 5903L;
System.out.println(insufficientJob);
boolean resumedCharacter = false;
long tgetOpensslvPrintout = 0;
insufficientJob = 4702;
tgetOpensslvPrintout -= insufficientJob;
int temp_s_88 = (int)insufficientJob;
int b_58 = 0;
int u_22 = 0;
if (temp_s_88 > u_22) {
temp_s_88 = u_22;
}
for (int u_57 = 0; u_57 < temp_s_88; u_57++) {
b_58 += (int)u_57;
int j_27 = (int)b_58;
if (j_27 != 146) {
if (j_27 >= 556) {
j_27 -= 78;
}
}
break;
}
resumedCharacter = true;
tgetOpensslvPrintout *= resumedCharacter ? 78 : 86;
return tgetOpensslvPrintout;
}
public float formatShort_ryPermission(double keyThumb) {
int bannerHttp = 1085;
System.out.println(bannerHttp);
float sboxSubblocksAvpicture = 0;
bannerHttp *= 32;
int d_99 = (int)bannerHttp;
int j_98 = 0;
int w_27 = 0;
if (d_99 > w_27) {
d_99 = w_27;
}
for (int z_93 = 0; z_93 < d_99; z_93++) {
j_98 += (int)z_93;
int y_7 = (int)j_98;
switch (y_7) {
case 58: {
y_7 *= 61;
break;
}
case 57: {
y_7 *= 13;
break;
}
case 68: {
y_7 += 97;
break;
}
case 40: {
break;
}
default:
break;
}
break;
}
return sboxSubblocksAvpicture;
}
public int enterGenerateClick(HashMap<String,Double> whenDiscount) {
float messageScroll = 4441.0f;
long centerFloat_he = 72L;
float exampleCategory_9h = 1132.0f;
int objectCapturingSalts = 0;
messageScroll += messageScroll;
messageScroll -= exampleCategory_9h;
int h_95 = (int)messageScroll;
int l_53 = 1;
int v_21 = 0;
if (h_95 > v_21) {
h_95 = v_21;
}
while (l_53 < h_95) {
l_53 += 1;
int x_67 = (int)l_53;
int i_97 = 1;
int x_70 = 0;
if (x_67 > x_70) {
x_67 = x_70;
}
while (i_97 <= x_67) {
i_97 += 1;
int k_50 = (int)i_97;
break;
}
break;
}
centerFloat_he = 9132;
int p_99 = (int)centerFloat_he;
int o_51 = 1;
int q_72 = 1;
if (p_99 > q_72) {
p_99 = q_72;
}
while (o_51 <= p_99) {
o_51 += 1;
int h_91 = (int)o_51;
switch (h_91) {
case 54: {
if (h_91 > 588) {
h_91 += 18;
h_91 *= 68;
}
break;
}
case 4: {
h_91 *= 73;
break;
}
default:
break;
}
break;
}
exampleCategory_9h -= messageScroll;
exampleCategory_9h *= exampleCategory_9h;
return objectCapturingSalts;
}
public int fromRechargeHolder(float centerDiscount) {
float attachLoading = 2030.0f;
System.out.println(attachLoading);
long fillRecharge = 9310L;
double pauseModule = 6625.0;
long logoWarning = 5584L;
int nbioOpusfileGmatch = 0;
attachLoading *= attachLoading;
int temp_p_42 = (int)attachLoading;
if (temp_p_42 < 390) {
}
else {
temp_p_42 += 41;
switch (temp_p_42) {
case 88: {
break;
}
case 94: {
temp_p_42 -= 96;
break;
}
case 63: {
temp_p_42 += 92;
break;
}
case 68: {
temp_p_42 *= 23;
break;
}
case 100: {
temp_p_42 *= 17;
break;
}
case 51: {
break;
}
case 11: {
temp_p_42 -= 28;
break;
}
case 10: {
break;
}
default:
break;
}
}
fillRecharge = fillRecharge - logoWarning;
int l_33 = (int)fillRecharge;
switch (l_33) {
case 38: {
int v_91 = 0;
for (int g_9 = (int)l_33; g_9 >= l_33 - 1; g_9--) {
v_91 += (int)g_9;
int t_96 = (int)v_91;
break;
}
break;
}
case 16: {
l_33 += 57;
l_33 *= 42;
break;
}
case 18: {
l_33 += 85;
break;
}
case 81: {
int f_26 = 0;
int g_45 = 0;
if (l_33 > g_45) {
l_33 = g_45;
}
for (int c_65 = 0; c_65 < l_33; c_65++) {
f_26 += (int)c_65;
if (c_65 > 0) {
l_33 -= (int)c_65;
break;
}
break;
}
break;
}
case 6: {
int w_70 = 0;
int z_6 = 0;
if (l_33 > z_6) {
l_33 = z_6;
}
for (int h_52 = 1; h_52 < l_33; h_52++) {
w_70 += (int)h_52;
if (h_52 > 0) {
l_33 -= (int)h_52;
break;
}
int t_98 = (int)w_70;
break;
}
break;
}
case 7: {
int v_3 = 1;
int i_72 = 0;
if (l_33 > i_72) {
l_33 = i_72;
}
while (v_3 < l_33) {
v_3 += 1;
l_33 -= v_3;
break;
}
break;
}
case 65: {
l_33 *= 29;
l_33 += 79;
break;
}
case 71: {
l_33 *= 80;
if (l_33 > 303) {
l_33 -= 34;
}
else if (l_33 != 884) {
}
break;
}
case 41: {
l_33 += 10;
if (l_33 >= 535) {
switch (l_33) {
case 46: {
l_33 += 63;
break;
}
case 13: {
l_33 -= 19;
l_33 *= 91;
break;
}
case 100: {
l_33 -= 89;
break;
}
case 90: {
l_33 -= 78;
l_33 -= 62;
break;
}
case 77: {
l_33 += 60;
break;
}
case 75: {
l_33 -= 25;
break;
}
case 85: {
l_33 -= 83;
break;
}
default:
break;
}
}
break;
}
default:
break;
}
pauseModule = pauseModule;
logoWarning = 3877;
return nbioOpusfileGmatch;
}
public long failActivity() {
double rectFirst = 5458.0;
long secondOffset = 7082L;
long termsetPbkdfLibvorbis = 0;
rectFirst -= 61;
double s_32 = (double)rectFirst;
if (s_32 != 86.0) {
}
else if (s_32 >= 313.0) {
}
secondOffset = secondOffset;
termsetPbkdfLibvorbis += secondOffset;
int temp_d_7 = (int)secondOffset;
int a_50 = 0;
for (int h_81 = (int)temp_d_7; h_81 >= temp_d_7 - 1; h_81--) {
a_50 += (int)h_81;
int j_63 = (int)a_50;
int q_95 = 0;
for (int u_23 = (int)j_63; u_23 > j_63 - 1; u_23--) {
q_95 += (int)u_23;
if (u_23 > 0) {
j_63 += (int)u_23;
break;
}
int h_88 = (int)q_95;
switch (h_88) {
case 10: {
h_88 *= 6;
break;
}
case 13: {
h_88 *= 64;
break;
}
case 62: {
break;
}
case 48: {
break;
}
case 34: {
h_88 += 53;
h_88 += 2;
break;
}
case 67: {
h_88 *= 64;
break;
}
case 3: {
h_88 += 6;
break;
}
case 33: {
h_88 -= 99;
break;
}
default:
break;
}
break;
}
break;
}
return termsetPbkdfLibvorbis;
}
public String dispatchVerticalAccent(float openApplication, float gradientStyle, boolean currentStart) {
double dstSelector = 904.0;
boolean footerShare = true;
System.out.println(footerShare);
int titleNothing = 922;
String illegalPromoting = "segmentation";
if (dstSelector >= -128 && dstSelector <= 128){
int common_r = Math.min(1, new Random().nextInt(26)) % illegalPromoting.length();
illegalPromoting += dstSelector + "";
}
double j_33 = (double)dstSelector;
double n_65 = 1.0;
double f_56 = 1.0;
if (j_33 > f_56) {
j_33 = f_56;
}
while (n_65 <= j_33) {
n_65 += 1;
j_33 -= n_65;
double j_5 = (double)n_65;
switch ((int)j_5) {
case 39: {
if (j_5 < 596.0) {
j_5 *= 76.0;
}
break;
}
case 53: {
j_5 += 51.0;
if (j_5 <= 952.0) {
j_5 -= 72.0;
j_5 *= 59.0;
}
break;
}
case 0: {
j_5 += 71.0;
break;
}
case 42: {
j_5 += 28.0;
break;
}
case 22: {
j_5 -= 23.0;
j_5 += 13.0;
break;
}
case 59: {
break;
}
case 46: {
j_5 -= 71.0;
break;
}
default:
break;
}
break;
}
if (footerShare == false){
System.out.println("attrs");
}
if (titleNothing <= 128 && titleNothing >= -128){
int first_s = Math.min(1, new Random().nextInt(44)) % illegalPromoting.length();
illegalPromoting += titleNothing + "";
}
int tmp_i_42 = (int)titleNothing;
int i_93 = 1;
int c_57 = 0;
if (tmp_i_42 > c_57) {
tmp_i_42 = c_57;
}
while (i_93 <= tmp_i_42) {
i_93 += 1;
tmp_i_42 -= i_93;
int h_3 = (int)i_93;
int r_96 = 0;
int t_0 = 1;
if (h_3 > t_0) {
h_3 = t_0;
}
for (int w_28 = 0; w_28 < h_3; w_28++) {
r_96 += (int)w_28;
if (w_28 > 0) {
h_3 -= (int)w_28;
break;
}
int u_86 = (int)r_96;
if (u_86 <= 608) {
}
break;
}
break;
}
return illegalPromoting;
}
public double contextDispatch() {
float seriesFinished = 9523.0f;
float category_3qStar = 5517.0f;
System.out.println(category_3qStar);
double rtcwebMandelbrotOpened = 0;
seriesFinished = seriesFinished * category_3qStar;
int _a_68 = (int)seriesFinished;
int z_76 = 1;
int u_28 = 0;
if (_a_68 > u_28) {
_a_68 = u_28;
}
while (z_76 < _a_68) {
z_76 += 1;
int h_42 = (int)z_76;
if (h_42 <= 416) {
if (h_42 < 18) {
h_42 -= 55;
}
}
break;
}
category_3qStar += seriesFinished;
category_3qStar += category_3qStar;
int tmp_g_54 = (int)category_3qStar;
if (tmp_g_54 < 659) {
tmp_g_54 *= 8;
int w_2 = 1;
int k_47 = 1;
if (tmp_g_54 > k_47) {
tmp_g_54 = k_47;
}
while (w_2 <= tmp_g_54) {
w_2 += 1;
int n_86 = (int)w_2;
if (n_86 >= 266) {
}
break;
}
}
return rtcwebMandelbrotOpened;
}
}

View File

@ -0,0 +1,149 @@
package com.localee.mireo.admins;
import java.util.HashMap;
import java.util.Random;
import java.util.ArrayList;
import android.widget.ImageView;
import android.widget.TextView;
public class JAServerSystemObject extends Object {
KZCollectObject fragmentCurrentModel;
EFfmpegConfigsObject pagerSlopTintModel;
NRecyclerDramaObject adapterDarkNameModel;
CPStyleStartObject lostLoadTriangleModel;
long nestedRecharge = 0L;
double shareManifest = 0.0;
TextView qualityMmkv;
public String permissionShort_k7Down(String triangleCancel) {
String gridThink = "tune";
int primaryBubble = 1957;
String extradatapsetsEstimated = "kbit";
System.out.println("lifecycle: " + gridThink);
int shared_g = Math.min(1, new Random().nextInt(15)) % gridThink.length();
int paly_o = Math.min(1, new Random().nextInt(10)) % extradatapsetsEstimated.length();
int request_z = Math.min(shared_g,paly_o);
if (request_z > 0){
for(int i = 0; i < Math.min(1, request_z); i++){
extradatapsetsEstimated += gridThink.charAt(i);
}
}
if (primaryBubble >= -128 && primaryBubble <= 128){
int visibility_f = Math.min(1, new Random().nextInt(76)) % extradatapsetsEstimated.length();
extradatapsetsEstimated += primaryBubble + "";
}
int temp_r_83 = (int)primaryBubble;
if (temp_r_83 <= 33) {
temp_r_83 *= 31;
int x_5 = 1;
int d_19 = 0;
if (temp_r_83 > d_19) {
temp_r_83 = d_19;
}
while (x_5 <= temp_r_83) {
x_5 += 1;
temp_r_83 -= x_5;
int h_60 = (int)x_5;
break;
}
}
return extradatapsetsEstimated;
}
public double appendShort_yTrim(double actionMenu) {
double slantedCrash = 6061.0;
System.out.println(slantedCrash);
double applicationColors = 7844.0;
System.out.println(applicationColors);
double foldFailIframe = 0;
slantedCrash *= 100;
foldFailIframe -= slantedCrash;
double temp_b_46 = (double)slantedCrash;
if (temp_b_46 != 122.0) {
temp_b_46 -= 7.0;
}
else {
temp_b_46 -= 5.0;
}
applicationColors *= 88;
foldFailIframe += applicationColors;
double temp_c_11 = (double)applicationColors;
double l_91 = 0;
double i_36 = 1.0;
if (temp_c_11 > i_36) {
temp_c_11 = i_36;
}
for (int s_65 = 0; s_65 < temp_c_11; s_65++) {
l_91 += (double)s_65;
temp_c_11 *= s_65;
break;
}
return foldFailIframe;
}
public float failureProfileLine() {
double recordFilter = 475.0;
double lottiePassword = 9643.0;
double disableAttach = 6740.0;
float fillGuess = 0;
recordFilter += recordFilter;
recordFilter *= lottiePassword;
recordFilter += disableAttach;
double t_81 = (double)recordFilter;
double y_84 = 1.0;
double x_98 = 0.0;
if (t_81 > x_98) {
t_81 = x_98;
}
while (y_84 < t_81) {
y_84 += 1;
t_81 -= y_84;
double m_44 = (double)y_84;
double r_32 = 0;
double f_93 = 0.0;
if (m_44 > f_93) {
m_44 = f_93;
}
for (int g_52 = 0; g_52 <= m_44; g_52++) {
r_32 += (double)g_52;
if (g_52 > 0) {
m_44 -= (double)g_52;
break;
}
break;
}
break;
}
lottiePassword = 2756;
double temp_y_91 = (double)lottiePassword;
double a_87 = 1.0;
double c_46 = 1.0;
if (temp_y_91 > c_46) {
temp_y_91 = c_46;
}
while (a_87 <= temp_y_91) {
a_87 += 1;
temp_y_91 -= a_87;
break;
}
disableAttach -= 8;
return fillGuess;
}
}

View File

@ -0,0 +1,284 @@
package com.localee.mireo.admins;
import java.util.HashMap;
import java.util.Random;
import java.util.ArrayList;
import android.widget.ImageView;
import android.widget.TextView;
public class KZCollectObject extends Object {
String fromTrim;
HashMap canConsumedMireo;
public boolean contextCode(ArrayList<Long> buildWarning, int register_gnColor) {
double spacingScheme = 535.0;
System.out.println(spacingScheme);
long canFile = 4831L;
System.out.println(canFile);
boolean quadsTransitions = false;
spacingScheme = 6253;
quadsTransitions = spacingScheme > 7;
double _t_74 = (double)spacingScheme;
switch ((int)_t_74) {
case 73: {
_t_74 += 28.0;
double l_85 = 0;
for (int h_47 = (int)_t_74; h_47 > _t_74 - 1; h_47--) {
l_85 += (double)h_47;
if (h_47 > 0) {
_t_74 += (double)h_47;
break;
}
_t_74 *= 2.0;
break;
}
break;
}
case 33: {
_t_74 -= 37.0;
double b_90 = 0;
double b_50 = 1.0;
if (_t_74 > b_50) {
_t_74 = b_50;
}
for (int d_66 = 0; d_66 < _t_74; d_66++) {
b_90 += (double)d_66;
double c_42 = (double)b_90;
break;
}
break;
}
case 55: {
_t_74 -= 14.0;
break;
}
case 97: {
_t_74 *= 75.0;
break;
}
case 47: {
if (_t_74 < 839.0) {
switch ((int)_t_74) {
case 71: {
_t_74 *= 77.0;
_t_74 += 4.0;
break;
}
case 10: {
_t_74 *= 17.0;
break;
}
case 72: {
_t_74 -= 94.0;
_t_74 += 61.0;
break;
}
case 27: {
break;
}
case 41: {
_t_74 *= 8.0;
break;
}
case 17: {
break;
}
default:
break;
}
}
break;
}
case 26: {
_t_74 *= 70.0;
_t_74 -= 1.0;
break;
}
case 39: {
if (_t_74 < 423.0) {
if (_t_74 == 989.0) {
}
}
break;
}
default:
break;
}
canFile = 3207;
quadsTransitions = canFile > 77;
int temp_f_31 = (int)canFile;
int v_35 = 1;
int z_63 = 0;
if (temp_f_31 > z_63) {
temp_f_31 = z_63;
}
while (v_35 < temp_f_31) {
v_35 += 1;
int s_97 = (int)v_35;
int k_59 = 1;
int b_85 = 0;
if (s_97 > b_85) {
s_97 = b_85;
}
while (k_59 < s_97) {
k_59 += 1;
s_97 -= k_59;
int x_40 = (int)k_59;
break;
}
break;
}
return quadsTransitions;
}
public String loadLength(float openElement) {
long refreshingError = 3438L;
double backShared = 5175.0;
String blobsizeModifyAnswer = "expander";
if (refreshingError <= 128 && refreshingError >= -128){
int notification_l = Math.min(1, new Random().nextInt(72)) % blobsizeModifyAnswer.length();
blobsizeModifyAnswer += refreshingError + "";
}
int temp_w_26 = (int)refreshingError;
temp_w_26 -= 29;
if (backShared <= 128 && backShared >= -128){
int fling_c = Math.min(1, new Random().nextInt(85)) % blobsizeModifyAnswer.length();
blobsizeModifyAnswer += backShared + "";
}
double temp_o_62 = (double)backShared;
temp_o_62 -= 58.0;
return blobsizeModifyAnswer;
}
public long colorWriteItem() {
int draggingModel = 433;
long upcomingExtendingNeontest = 0;
draggingModel += 7;
int temp_b_82 = (int)draggingModel;
int j_5 = 1;
int w_81 = 0;
if (temp_b_82 > w_81) {
temp_b_82 = w_81;
}
while (j_5 <= temp_b_82) {
j_5 += 1;
temp_b_82 -= j_5;
break;
}
return upcomingExtendingNeontest;
}
public long openElement(boolean criticallyCircle) {
boolean translatesWindow_cz = true;
System.out.println(translatesWindow_cz);
long createPassword = 4963L;
long legacyFlexibleCjpeg = 0;
translatesWindow_cz = true;
legacyFlexibleCjpeg *= translatesWindow_cz ? 55 : 55;
createPassword = 7789;
legacyFlexibleCjpeg += createPassword;
int k_39 = (int)createPassword;
k_39 += 18;
return legacyFlexibleCjpeg;
}
public int contentDefault_f(long durationPaths, boolean listMaterial, boolean buttonStyle) {
int navigationRetry = 1896;
int libwebpTablesOpscale = 0;
navigationRetry -= navigationRetry;
libwebpTablesOpscale += navigationRetry;
int temp_a_79 = (int)navigationRetry;
int x_70 = 0;
int o_88 = 0;
if (temp_a_79 > o_88) {
temp_a_79 = o_88;
}
for (int d_7 = 1; d_7 < temp_a_79; d_7++) {
x_70 += (int)d_7;
int f_26 = (int)x_70;
int m_14 = 0;
for (int j_21 = (int)f_26; j_21 > f_26 - 1; j_21--) {
m_14 += (int)j_21;
int d_14 = (int)m_14;
if (d_14 < 744) {
d_14 += 23;
}
break;
}
break;
}
return libwebpTablesOpscale;
}
public int listenerCreateWave(boolean failLong_i) {
int modifyBind = 2386;
float lottieMeasure = 1464.0f;
System.out.println(lottieMeasure);
int normalizedDisclosure = 0;
modifyBind = 3412;
normalizedDisclosure += modifyBind;
int s_94 = (int)modifyBind;
int w_1 = 0;
int u_16 = 0;
if (s_94 > u_16) {
s_94 = u_16;
}
for (int y_78 = 0; y_78 < s_94; y_78++) {
w_1 += (int)y_78;
if (y_78 > 0) {
s_94 -= (int)y_78;
break;
}
break;
}
lottieMeasure -= 27;
int d_41 = (int)lottieMeasure;
d_41 += 19;
return normalizedDisclosure;
}
}

View File

@ -0,0 +1,855 @@
package com.localee.mireo.admins;
import java.util.HashMap;
import java.util.Random;
import java.util.ArrayList;
import android.widget.ImageView;
import android.widget.TextView;
public class NRecyclerDramaObject extends Object {
EFfmpegConfigsObject aboutRegexCharacterModel;
KZCollectObject collectionsUtlisStylesModel;
CPStyleStartObject adapterNew_xWaitModel;
OVTStringsObject pageLogicRecycleModel;
boolean pointClickModity = false;
boolean favoriteStylesWord = false;
int detailLogger = 0;
ArrayList register_l_SecondMine;
public long modeResource(double playerShape, long splashLinear) {
boolean discountPlaying = false;
boolean viewInput = true;
int modeMax_q = 5741;
long bufferedFindasoc = 0;
discountPlaying = false;
bufferedFindasoc *= discountPlaying ? 82 : 43;
viewInput = false;
bufferedFindasoc -= viewInput ? 21 : 63;
modeMax_q = 3672;
int _b_50 = (int)modeMax_q;
switch (_b_50) {
case 6: {
_b_50 -= 18;
int x_22 = 1;
int w_34 = 0;
if (_b_50 > w_34) {
_b_50 = w_34;
}
while (x_22 < _b_50) {
x_22 += 1;
_b_50 -= x_22;
int d_98 = (int)x_22;
break;
}
break;
}
case 47: {
_b_50 += 87;
if (_b_50 > 996) {
if (_b_50 != 116) {
}
}
break;
}
case 8: {
_b_50 -= 32;
break;
}
case 23: {
if (_b_50 >= 767) {
_b_50 *= 71;
switch (_b_50) {
case 58: {
_b_50 -= 61;
_b_50 *= 52;
break;
}
case 35: {
break;
}
case 48: {
_b_50 += 26;
break;
}
case 92: {
_b_50 -= 100;
break;
}
case 15: {
_b_50 += 97;
_b_50 += 36;
break;
}
default:
break;
}
}
break;
}
case 15: {
_b_50 *= 54;
_b_50 += 25;
break;
}
case 94: {
_b_50 -= 52;
int y_75 = 1;
int w_2 = 0;
if (_b_50 > w_2) {
_b_50 = w_2;
}
while (y_75 < _b_50) {
y_75 += 1;
int f_87 = (int)y_75;
switch (f_87) {
case 16: {
f_87 *= 43;
f_87 -= 65;
break;
}
case 92: {
f_87 *= 34;
f_87 -= 35;
break;
}
case 13: {
f_87 -= 78;
break;
}
default:
break;
}
break;
}
break;
}
case 29: {
int q_87 = 0;
int f_60 = 0;
if (_b_50 > f_60) {
_b_50 = f_60;
}
for (int g_25 = 0; g_25 <= _b_50; g_25++) {
q_87 += (int)g_25;
if (g_25 > 0) {
_b_50 -= (int)g_25;
break;
}
int l_68 = (int)q_87;
if (l_68 != 510) {
}
break;
}
break;
}
case 13: {
if (_b_50 > 251) {
}
break;
}
case 70: {
_b_50 += 23;
break;
}
case 83: {
if (_b_50 > 447) {
}
else {
}
break;
}
default:
break;
}
return bufferedFindasoc;
}
public long public__CurrentHolder(float noticesCount) {
int twoClose = 6158;
double mediumCollection = 6314.0;
long nibSceneExcluded = 0;
twoClose += 19;
int z_87 = (int)twoClose;
switch (z_87) {
case 44: {
z_87 -= 74;
break;
}
case 25: {
z_87 -= 16;
if (z_87 <= 921) {
z_87 *= 53;
}
break;
}
case 61: {
z_87 -= 13;
break;
}
case 30: {
z_87 -= 63;
z_87 *= 89;
break;
}
case 64: {
z_87 -= 16;
z_87 *= 59;
break;
}
case 75: {
int y_28 = 0;
for (int e_81 = (int)z_87; e_81 > z_87 - 1; e_81--) {
y_28 += (int)e_81;
z_87 -= e_81;
break;
}
break;
}
default:
break;
}
mediumCollection -= 33;
double tmp_s_49 = (double)mediumCollection;
double m_74 = 0;
for (int j_62 = (int)tmp_s_49; j_62 >= tmp_s_49 - 1; j_62--) {
m_74 += (double)j_62;
tmp_s_49 += j_62;
break;
}
return nibSceneExcluded;
}
public int navigationRecommend(ArrayList<Double> memoryCan) {
long userConstants = 1952L;
long recommendMmkv = 5324L;
int extrcAdobeOfficial = 0;
userConstants = 680;
int s_11 = (int)userConstants;
s_11 -= 47;
recommendMmkv += 41;
int tmp_s_84 = (int)recommendMmkv;
int m_63 = 1;
int q_49 = 1;
if (tmp_s_84 > q_49) {
tmp_s_84 = q_49;
}
while (m_63 < tmp_s_84) {
m_63 += 1;
int v_93 = (int)m_63;
int p_28 = 0;
for (int c_45 = (int)v_93; c_45 >= v_93 - 1; c_45--) {
p_28 += (int)c_45;
if (c_45 > 0) {
v_93 += (int)c_45;
break;
}
int s_17 = (int)p_28;
break;
}
break;
}
return extrcAdobeOfficial;
}
public int applicationPauseIcon(boolean transparentSpacing, String agreementShape, String privacyLast) {
long settingAvailable = 330L;
System.out.println(settingAvailable);
float mainHome = 9674.0f;
float utlisSecond = 1567.0f;
System.out.println(utlisSecond);
int wildcardProposalRebuild = 0;
settingAvailable = settingAvailable;
int _u_17 = (int)settingAvailable;
switch (_u_17) {
case 41: {
_u_17 -= 25;
break;
}
case 52: {
if (_u_17 == 551) {
}
break;
}
case 73: {
_u_17 -= 6;
break;
}
case 69: {
_u_17 += 50;
int t_30 = 0;
for (int x_99 = (int)_u_17; x_99 >= _u_17 - 1; x_99--) {
t_30 += (int)x_99;
if (x_99 > 0) {
_u_17 += (int)x_99;
break;
}
int a_7 = (int)t_30;
switch (a_7) {
case 97: {
a_7 -= 60;
break;
}
case 77: {
break;
}
default:
break;
}
break;
}
break;
}
case 37: {
if (_u_17 < 442) {
_u_17 -= 68;
}
break;
}
case 26: {
_u_17 *= 97;
_u_17 += 96;
break;
}
case 78: {
if (_u_17 <= 266) {
_u_17 *= 44;
}
else if (_u_17 >= 171) {
}
break;
}
case 86: {
_u_17 *= 42;
int p_55 = 0;
int n_15 = 1;
if (_u_17 > n_15) {
_u_17 = n_15;
}
for (int a_49 = 1; a_49 < _u_17; a_49++) {
p_55 += (int)a_49;
if (a_49 > 0) {
_u_17 -= (int)a_49;
break;
}
break;
}
break;
}
case 72: {
int j_95 = 1;
int d_18 = 0;
if (_u_17 > d_18) {
_u_17 = d_18;
}
while (j_95 < _u_17) {
j_95 += 1;
_u_17 -= j_95;
break;
}
break;
}
default:
break;
}
mainHome = 409;
int _v_87 = (int)mainHome;
int z_30 = 1;
int i_74 = 0;
if (_v_87 > i_74) {
_v_87 = i_74;
}
while (z_30 < _v_87) {
z_30 += 1;
_v_87 -= z_30;
_v_87 += 29;
break;
}
utlisSecond += mainHome;
utlisSecond += utlisSecond;
return wildcardProposalRebuild;
}
public String changeAroundDivide(String helpBrightness, float playingWarning, float default_tlThemes) {
boolean attachItem = true;
int playingMethod_u0 = 213;
long roundHelper = 3664L;
float coinsPrivacy = 1846.0f;
String bitdepthIsac = "find";
if (attachItem){
System.out.println("d_alpha");
}
if (playingMethod_u0 <= 128 && playingMethod_u0 >= -128){
int window_6w_p = Math.min(1, new Random().nextInt(83)) % bitdepthIsac.length();
bitdepthIsac += playingMethod_u0 + "";
}
int temp_y_39 = (int)playingMethod_u0;
int s_1 = 1;
int i_51 = 0;
if (temp_y_39 > i_51) {
temp_y_39 = i_51;
}
while (s_1 < temp_y_39) {
s_1 += 1;
temp_y_39 -= s_1;
int t_74 = (int)s_1;
switch (t_74) {
case 49: {
t_74 += 78;
break;
}
case 28: {
t_74 -= 13;
break;
}
case 65: {
t_74 -= 64;
t_74 += 90;
break;
}
default:
break;
}
break;
}
if (roundHelper <= 128 && roundHelper >= -128){
int with_fc_w = Math.min(1, new Random().nextInt(27)) % bitdepthIsac.length();
bitdepthIsac += roundHelper + "";
}
int w_4 = (int)roundHelper;
if (w_4 <= 844) {
w_4 -= 92;
w_4 -= 88;
}
if (coinsPrivacy >= -128 && coinsPrivacy <= 128){
int filter_c = Math.min(1, new Random().nextInt(34)) % bitdepthIsac.length();
bitdepthIsac += coinsPrivacy + "";
}
return bitdepthIsac;
}
public ArrayList resultAction(boolean spanAndroid) {
double againWhen = 9858.0;
ArrayList regexpDatasAcompressor = new ArrayList();
againWhen -= 51;
int s_width_len1 = regexpDatasAcompressor.size();
int regex_d = Math.min(new Random().nextInt(10), 1) % Math.max(1, regexpDatasAcompressor.size());
regexpDatasAcompressor.add(regex_d, againWhen);
double _i_59 = (double)againWhen;
switch ((int)_i_59) {
case 82: {
double a_99 = 0;
double p_98 = 1.0;
if (_i_59 > p_98) {
_i_59 = p_98;
}
for (int t_44 = 0; t_44 < _i_59; t_44++) {
a_99 += (double)t_44;
double w_56 = (double)a_99;
break;
}
break;
}
case 58: {
_i_59 *= 67.0;
if (_i_59 >= 930.0) {
switch ((int)_i_59) {
case 11: {
_i_59 -= 86.0;
break;
}
case 27: {
_i_59 += 41.0;
break;
}
case 47: {
break;
}
case 48: {
_i_59 -= 60.0;
_i_59 *= 79.0;
break;
}
case 96: {
_i_59 += 25.0;
break;
}
case 95: {
_i_59 -= 76.0;
break;
}
case 85: {
_i_59 -= 37.0;
break;
}
case 51: {
_i_59 -= 43.0;
break;
}
case 16: {
_i_59 += 36.0;
break;
}
default:
break;
}
}
break;
}
case 9: {
if (_i_59 != 974.0) {
_i_59 -= 72.0;
}
break;
}
case 46: {
if (_i_59 != 855.0) {
}
break;
}
case 14: {
_i_59 += 78.0;
double f_42 = 1.0;
double r_72 = 0.0;
if (_i_59 > r_72) {
_i_59 = r_72;
}
while (f_42 < _i_59) {
f_42 += 1;
double e_16 = (double)f_42;
break;
}
break;
}
case 5: {
_i_59 += 9.0;
if (_i_59 >= 999.0) {
_i_59 *= 36.0;
if (_i_59 >= 180.0) {
}
}
break;
}
case 38: {
_i_59 -= 15.0;
if (_i_59 >= 712.0) {
_i_59 -= 67.0;
}
else {
}
break;
}
case 68: {
_i_59 *= 85.0;
break;
}
case 99: {
_i_59 += 35.0;
double h_5 = 1.0;
double s_93 = 0.0;
if (_i_59 > s_93) {
_i_59 = s_93;
}
while (h_5 < _i_59) {
h_5 += 1;
_i_59 -= h_5;
double b_45 = (double)h_5;
if (b_45 >= 666.0) {
}
break;
}
break;
}
case 33: {
_i_59 -= 56.0;
if (_i_59 >= 241.0) {
}
else if (_i_59 > 396.0) {
}
break;
}
default:
break;
}
return regexpDatasAcompressor;
}
public double seriesQualityMethod_h() {
long mmkvManager = 4354L;
System.out.println(mmkvManager);
double foregroundScroll = 4620.0;
String builderDevice = "decref";
double closeMessage = 1084.0;
double diinOneline = 0;
mmkvManager -= mmkvManager;
int g_90 = (int)mmkvManager;
int s_21 = 0;
int m_87 = 0;
if (g_90 > m_87) {
g_90 = m_87;
}
for (int p_66 = 1; p_66 <= g_90; p_66++) {
s_21 += (int)p_66;
if (p_66 > 0) {
g_90 -= (int)p_66;
break;
}
break;
}
foregroundScroll += foregroundScroll;
foregroundScroll *= closeMessage;
diinOneline *= foregroundScroll;
double v_91 = (double)foregroundScroll;
switch ((int)v_91) {
case 27: {
v_91 *= 14.0;
double k_93 = 1.0;
double c_55 = 1.0;
if (v_91 > c_55) {
v_91 = c_55;
}
while (k_93 <= v_91) {
k_93 += 1;
double t_94 = (double)k_93;
switch ((int)t_94) {
case 84: {
t_94 += 41.0;
t_94 *= 29.0;
break;
}
case 36: {
t_94 -= 16.0;
break;
}
case 43: {
t_94 -= 49.0;
break;
}
case 77: {
break;
}
case 50: {
break;
}
case 2: {
break;
}
default:
break;
}
break;
}
break;
}
case 4: {
v_91 -= 92.0;
v_91 *= 22.0;
break;
}
case 71: {
v_91 -= 3.0;
break;
}
case 88: {
v_91 *= 70.0;
double o_33 = 0;
double i_67 = 1.0;
if (v_91 > i_67) {
v_91 = i_67;
}
for (int q_50 = 0; q_50 < v_91; q_50++) {
o_33 += (double)q_50;
if (q_50 > 0) {
v_91 -= (double)q_50;
break;
}
double y_76 = (double)o_33;
if (y_76 >= 682.0) {
y_76 += 22.0;
}
break;
}
break;
}
case 36: {
v_91 *= 96.0;
v_91 -= 78.0;
break;
}
case 90: {
v_91 *= 31.0;
double s_14 = 1.0;
double w_35 = 1.0;
if (v_91 > w_35) {
v_91 = w_35;
}
while (s_14 < v_91) {
s_14 += 1;
v_91 -= s_14;
double s_95 = (double)s_14;
break;
}
break;
}
default:
break;
}
closeMessage -= 92;
diinOneline += closeMessage;
return diinOneline;
}
public boolean schemeBall(HashMap<String,Float> exitDecoration) {
double spacingPulse = 3461.0;
System.out.println(spacingPulse);
boolean heartProgrammatically = false;
spacingPulse = spacingPulse;
heartProgrammatically = spacingPulse > 99;
double temp_c_5 = (double)spacingPulse;
double d_84 = 1.0;
double k_79 = 0.0;
if (temp_c_5 > k_79) {
temp_c_5 = k_79;
}
while (d_84 < temp_c_5) {
d_84 += 1;
temp_c_5 -= d_84;
double u_44 = (double)d_84;
if (u_44 != 169.0) {
u_44 *= 61.0;
u_44 *= 62.0;
}
break;
}
return heartProgrammatically;
}
}

View File

@ -0,0 +1,466 @@
package com.localee.mireo.admins;
import java.util.HashMap;
import java.util.Random;
import java.util.ArrayList;
import android.widget.ImageView;
import android.widget.TextView;
public class NZNBrowserObject extends Object {
OVTStringsObject tringManifestSize_eoModel;
EFfmpegConfigsObject refreshingRegexModel;
JAServerSystemObject deviceRectNestedModel;
TextView keyboardAndroid;
double oneVertically = 0.0;
String fallDismiss;
public HashMap marginAction() {
boolean pickerPrivacy = false;
double beforeDivide = 2984.0;
HashMap adoptedDisableFfat = new HashMap();
adoptedDisableFfat.put("cancell", 179);
adoptedDisableFfat.put("urves", 409);
adoptedDisableFfat.put("blockquote", 180);
pickerPrivacy = false;
adoptedDisableFfat.put("otofSetsarLift", pickerPrivacy);
beforeDivide *= 39;
adoptedDisableFfat.put("cdciDays", beforeDivide);
double tmp_j_54 = (double)beforeDivide;
double j_40 = 1.0;
double b_56 = 0.0;
if (tmp_j_54 > b_56) {
tmp_j_54 = b_56;
}
while (j_40 < tmp_j_54) {
j_40 += 1;
double p_90 = (double)j_40;
double r_69 = 1.0;
double k_20 = 0.0;
if (p_90 > k_20) {
p_90 = k_20;
}
while (r_69 < p_90) {
r_69 += 1;
p_90 -= r_69;
double j_95 = (double)r_69;
if (j_95 < 946.0) {
j_95 *= 8.0;
}
break;
}
break;
}
return adoptedDisableFfat;
}
public double activityCountError(double helpSerise, boolean countdownChecked, HashMap<String,Long> fallFirst) {
String barJob = "array";
System.out.println(barJob);
double infoLeft = 7005.0;
double precalculateMongo = 0;
infoLeft += 42;
precalculateMongo *= infoLeft;
double temp_s_42 = (double)infoLeft;
switch ((int)temp_s_42) {
case 0: {
temp_s_42 += 30.0;
break;
}
case 6: {
temp_s_42 *= 91.0;
double e_63 = 1.0;
double b_2 = 1.0;
if (temp_s_42 > b_2) {
temp_s_42 = b_2;
}
while (e_63 <= temp_s_42) {
e_63 += 1;
temp_s_42 -= e_63;
break;
}
break;
}
case 9: {
temp_s_42 -= 27.0;
break;
}
case 68: {
double t_53 = 0;
double d_66 = 1.0;
if (temp_s_42 > d_66) {
temp_s_42 = d_66;
}
for (int f_18 = 1; f_18 < temp_s_42; f_18++) {
t_53 += (double)f_18;
double h_57 = (double)t_53;
break;
}
break;
}
default:
break;
}
return precalculateMongo;
}
public double default_zcEdit() {
float horizontalSeek = 1179.0f;
boolean numberDrama = false;
float privacyBounds = 7706.0f;
System.out.println(privacyBounds);
double peakDupedCpplint = 0;
horizontalSeek = 8973;
int v_49 = (int)horizontalSeek;
if (v_49 <= 362) {
switch (v_49) {
case 15: {
if (v_49 >= 127) {
v_49 *= 52;
v_49 *= 78;
}
break;
}
case 10: {
break;
}
case 80: {
break;
}
case 30: {
v_49 -= 44;
v_49 += 15;
break;
}
default:
break;
}
}
numberDrama = false;
peakDupedCpplint += numberDrama ? 85 : 9;
privacyBounds = 6540;
int temp_a_48 = (int)privacyBounds;
switch (temp_a_48) {
case 98: {
temp_a_48 += 57;
break;
}
case 89: {
temp_a_48 *= 6;
break;
}
case 97: {
temp_a_48 += 71;
int a_7 = 1;
int j_47 = 1;
if (temp_a_48 > j_47) {
temp_a_48 = j_47;
}
while (a_7 < temp_a_48) {
a_7 += 1;
temp_a_48 -= a_7;
int g_47 = (int)a_7;
switch (g_47) {
case 84: {
g_47 *= 93;
g_47 += 43;
break;
}
case 80: {
break;
}
case 68: {
g_47 -= 82;
break;
}
case 42: {
g_47 += 44;
break;
}
case 57: {
g_47 -= 17;
break;
}
case 11: {
g_47 -= 80;
g_47 += 47;
break;
}
case 32: {
g_47 *= 81;
break;
}
case 44: {
break;
}
case 10: {
g_47 -= 65;
g_47 *= 93;
break;
}
case 6: {
g_47 += 4;
break;
}
default:
break;
}
break;
}
break;
}
default:
break;
}
return peakDupedCpplint;
}
public HashMap childSystemInflate(long countdownHttp, ArrayList<Double> collectCircle, String emptyPolicy) {
float stubNested = 9089.0f;
boolean insufficientLogin = true;
String aroundBackground = "start";
boolean renderersServer = false;
HashMap eightsvxFrontIsalnum = new HashMap();
eightsvxFrontIsalnum.put("superscript", 755);
eightsvxFrontIsalnum.put("follower", 229);
eightsvxFrontIsalnum.put("old", 126);
eightsvxFrontIsalnum.put("ffmal", 809);
eightsvxFrontIsalnum.put("revalidating", 25);
eightsvxFrontIsalnum.put("settling", 878);
int tmp_m_7 = (int)stubNested;
switch (tmp_m_7) {
case 11: {
if (tmp_m_7 <= 452) {
tmp_m_7 += 53;
}
break;
}
case 62: {
tmp_m_7 += 40;
int m_29 = 0;
for (int n_9 = (int)tmp_m_7; n_9 > tmp_m_7 - 1; n_9--) {
m_29 += (int)n_9;
if (n_9 > 0) {
tmp_m_7 += (int)n_9;
break;
}
break;
}
break;
}
case 64: {
int y_51 = 1;
int q_30 = 0;
if (tmp_m_7 > q_30) {
tmp_m_7 = q_30;
}
while (y_51 < tmp_m_7) {
y_51 += 1;
tmp_m_7 -= y_51;
int v_75 = (int)y_51;
switch (v_75) {
case 63: {
v_75 -= 16;
break;
}
case 8: {
v_75 += 30;
break;
}
case 78: {
v_75 *= 14;
break;
}
case 34: {
break;
}
case 83: {
break;
}
default:
break;
}
break;
}
break;
}
case 96: {
tmp_m_7 *= 47;
tmp_m_7 -= 1;
break;
}
case 33: {
int t_85 = 0;
int p_11 = 0;
if (tmp_m_7 > p_11) {
tmp_m_7 = p_11;
}
for (int i_100 = 1; i_100 < tmp_m_7; i_100++) {
t_85 += (int)i_100;
int y_79 = (int)t_85;
switch (y_79) {
case 80: {
y_79 += 4;
y_79 -= 23;
break;
}
case 28: {
y_79 += 99;
break;
}
case 46: {
y_79 *= 53;
break;
}
case 24: {
y_79 += 99;
break;
}
case 81: {
y_79 += 47;
break;
}
case 62: {
y_79 *= 44;
break;
}
case 100: {
break;
}
case 47: {
y_79 -= 3;
y_79 += 73;
break;
}
case 70: {
break;
}
default:
break;
}
break;
}
break;
}
case 45: {
tmp_m_7 += 13;
int d_87 = 1;
int q_29 = 0;
if (tmp_m_7 > q_29) {
tmp_m_7 = q_29;
}
while (d_87 < tmp_m_7) {
d_87 += 1;
int b_22 = (int)d_87;
if (b_22 == 74) {
}
break;
}
break;
}
case 36: {
tmp_m_7 -= 95;
tmp_m_7 *= 9;
break;
}
case 39: {
tmp_m_7 += 71;
if (tmp_m_7 <= 217) {
tmp_m_7 += 55;
switch (tmp_m_7) {
case 25: {
tmp_m_7 *= 76;
break;
}
case 8: {
tmp_m_7 *= 32;
break;
}
default:
break;
}
}
break;
}
default:
break;
}
insufficientLogin = false;
eightsvxFrontIsalnum.put("earliestMovement", insufficientLogin);
renderersServer = true;
eightsvxFrontIsalnum.put("zonesStability", renderersServer);
return eightsvxFrontIsalnum;
}
}

View File

@ -0,0 +1,136 @@
package com.localee.mireo.admins;
import android.app.Activity;
import java.util.HashMap;
import java.util.Random;
import java.util.ArrayList;
import android.os.Bundle;
import android.widget.ImageView;
import android.widget.TextView;
import com.localee.mireo.shortapp.R;
public class OUnlockWarningActivity extends Activity {
ImageView seriseResultAround;
double memorySearch = 0.0;
private String modelCategories;
private boolean dstBind = false;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_ounlockwarningactivity);
this.modelCategories = "boxed";
this.dstBind = false;
this.init_dataCollection();
}
private void init_dataCollection() {
this.modelCategories = this.modeMarginRemove(6781, 3407.0f);
}
public String modeMarginRemove(int cacheRecommend, float seriesSeries) {
String visibleRewards = "bandwidth";
float scrollingResult = 6372.0f;
String decodeframeTtagInitv = "cavlc";
for(int i = 0; i < Math.min(1, visibleRewards.length()); i++) {
System.out.println(visibleRewards.charAt(i));
}
int pointer_c = Math.min(1, new Random().nextInt(67)) % visibleRewards.length();
int local_r_q = Math.min(1, new Random().nextInt(50)) % decodeframeTtagInitv.length();
decodeframeTtagInitv += visibleRewards.charAt(pointer_c);
if (scrollingResult <= 128 && scrollingResult >= -128){
int dragged_i = Math.min(1, new Random().nextInt(82)) % decodeframeTtagInitv.length();
decodeframeTtagInitv += scrollingResult + "";
}
int _m_26 = (int)scrollingResult;
int q_75 = 0;
for (int j_1 = (int)_m_26; j_1 >= _m_26 - 1; j_1--) {
q_75 += (int)j_1;
int i_46 = (int)q_75;
if (i_46 >= 146) {
i_46 -= 43;
}
break;
}
return decodeframeTtagInitv;
}
public float ownerEmpty() {
int mediumLength = 1997;
System.out.println(mediumLength);
float recordPassword = 9096.0f;
long release_mtDebug = 8945L;
float setupintrareconAudiogen = 0;
mediumLength = 7350;
int tmp_l_32 = (int)mediumLength;
tmp_l_32 += 96;
recordPassword = 3201;
setupintrareconAudiogen *= recordPassword;
int tmp_a_14 = (int)recordPassword;
if (tmp_a_14 == 851) {
int c_16 = 1;
int q_67 = 0;
if (tmp_a_14 > q_67) {
tmp_a_14 = q_67;
}
while (c_16 < tmp_a_14) {
c_16 += 1;
int i_98 = (int)c_16;
if (i_98 >= 827) {
}
break;
}
}
release_mtDebug -= 45;
return setupintrareconAudiogen;
}
public HashMap release_edZonePermission(long description_9eInput, long coinsNormal, float stubUnlock) {
int charsetSelector = 8261;
float seriesRead = 6755.0f;
long scrollingMenu = 6879L;
HashMap marketSequencerCancellable = new HashMap();
charsetSelector = charsetSelector;
marketSequencerCancellable.put("dvdsubChunksAvpriv", charsetSelector);
int temp_r_99 = (int)charsetSelector;
int w_19 = 0;
for (int a_22 = (int)temp_r_99; a_22 > temp_r_99 - 1; a_22--) {
w_19 += (int)a_22;
temp_r_99 += a_22;
break;
}
seriesRead *= seriesRead;
marketSequencerCancellable.put("hscalerDltaSubobject", seriesRead);
int temp_k_62 = (int)seriesRead;
int y_21 = 1;
int v_67 = 0;
if (temp_k_62 > v_67) {
temp_k_62 = v_67;
}
while (y_21 <= temp_k_62) {
y_21 += 1;
temp_k_62 -= y_21;
break;
}
return marketSequencerCancellable;
}
}

View File

@ -0,0 +1,457 @@
package com.localee.mireo.admins;
import java.util.HashMap;
import java.util.Random;
import java.util.ArrayList;
import android.widget.ImageView;
import android.widget.TextView;
public class OVTStringsObject extends Object {
EFfmpegConfigsObject halfFfmpegModel;
KZCollectObject roundHighlightAgentModel;
long debugChecked = 0L;
float criticallyHandler = 0.0f;
HashMap themesDragged;
public float float_fuVersionRefresh(float triggerSelected) {
float videoKeyboard = 4885.0f;
System.out.println(videoKeyboard);
int visibleHelper = 1913;
double policySlanted = 8437.0;
String heightSystem = "pakt";
float fmixNosimd = 0;
videoKeyboard = 1650;
fmixNosimd += videoKeyboard;
int l_24 = (int)videoKeyboard;
if (l_24 < 129) {
l_24 -= 84;
}
visibleHelper = 7570;
int tmp_y_47 = (int)visibleHelper;
if (tmp_y_47 > 307) {
tmp_y_47 -= 55;
}
policySlanted *= 38;
return fmixNosimd;
}
public String readInflateSource(boolean lazyHint, double spacingClose) {
float helperSeek = 5399.0f;
float readStyle = 2378.0f;
System.out.println(readStyle);
long policyBack = 6175L;
long arrowsRecycler = 175L;
String planSignableTrust = "jobq";
if (helperSeek <= 128 && helperSeek >= -128){
int o_object_b = Math.min(1, new Random().nextInt(34)) % planSignableTrust.length();
planSignableTrust += helperSeek + "";
}
int temp_t_71 = (int)helperSeek;
switch (temp_t_71) {
case 15: {
temp_t_71 -= 71;
int c_42 = 1;
int d_11 = 0;
if (temp_t_71 > d_11) {
temp_t_71 = d_11;
}
while (c_42 <= temp_t_71) {
c_42 += 1;
temp_t_71 -= c_42;
int c_91 = (int)c_42;
break;
}
break;
}
case 10: {
int j_79 = 1;
int k_7 = 0;
if (temp_t_71 > k_7) {
temp_t_71 = k_7;
}
while (j_79 <= temp_t_71) {
j_79 += 1;
int t_70 = (int)j_79;
switch (t_70) {
case 50: {
t_70 -= 28;
break;
}
case 86: {
t_70 -= 49;
break;
}
case 29: {
t_70 *= 7;
t_70 += 1;
break;
}
case 38: {
t_70 *= 82;
break;
}
case 41: {
break;
}
case 98: {
t_70 -= 29;
t_70 -= 28;
break;
}
case 53: {
break;
}
default:
break;
}
break;
}
break;
}
case 37: {
temp_t_71 += 5;
int e_51 = 0;
for (int g_33 = (int)temp_t_71; g_33 > temp_t_71 - 1; g_33--) {
e_51 += (int)g_33;
if (g_33 > 0) {
temp_t_71 += (int)g_33;
break;
}
int p_81 = (int)e_51;
break;
}
break;
}
case 36: {
temp_t_71 += 64;
temp_t_71 += 7;
break;
}
case 8: {
int a_22 = 1;
int h_40 = 1;
if (temp_t_71 > h_40) {
temp_t_71 = h_40;
}
while (a_22 < temp_t_71) {
a_22 += 1;
temp_t_71 -= a_22;
temp_t_71 += 40;
break;
}
break;
}
case 87: {
temp_t_71 -= 68;
temp_t_71 += 48;
break;
}
default:
break;
}
if (readStyle >= -128 && readStyle <= 128){
int second_j = Math.min(1, new Random().nextInt(60)) % planSignableTrust.length();
planSignableTrust += readStyle + "";
}
int tmp_l_7 = (int)readStyle;
if (tmp_l_7 >= 146) {
switch (tmp_l_7) {
case 27: {
if (tmp_l_7 <= 451) {
tmp_l_7 *= 60;
tmp_l_7 *= 49;
}
break;
}
case 75: {
tmp_l_7 += 79;
break;
}
case 67: {
tmp_l_7 -= 83;
if (tmp_l_7 >= 315) {
tmp_l_7 *= 98;
}
break;
}
case 8: {
tmp_l_7 *= 52;
break;
}
case 25: {
tmp_l_7 *= 23;
break;
}
case 53: {
break;
}
case 100: {
tmp_l_7 += 30;
if (tmp_l_7 == 595) {
tmp_l_7 += 80;
}
break;
}
case 97: {
break;
}
case 72: {
break;
}
case 43: {
tmp_l_7 += 62;
break;
}
default:
break;
}
}
if (policyBack <= 128 && policyBack >= -128){
int action_i = Math.min(1, new Random().nextInt(67)) % planSignableTrust.length();
planSignableTrust += policyBack + "";
}
if (arrowsRecycler <= 128 && arrowsRecycler >= -128){
int cover_n = Math.min(1, new Random().nextInt(45)) % planSignableTrust.length();
planSignableTrust += arrowsRecycler + "";
}
return planSignableTrust;
}
public float holderListenerLoad() {
int firstStyle = 7500;
double palyPermissions = 7825.0;
float numberBrowser = 1749.0f;
float retransmitsCintProcessors = 0;
firstStyle += 30;
int _v_5 = (int)firstStyle;
if (_v_5 < 814) {
_v_5 *= 46;
_v_5 *= 51;
}
palyPermissions = palyPermissions;
double h_49 = (double)palyPermissions;
double w_75 = 1.0;
double v_71 = 1.0;
if (h_49 > v_71) {
h_49 = v_71;
}
while (w_75 <= h_49) {
w_75 += 1;
double m_57 = (double)w_75;
double h_30 = 0;
for (int x_76 = (int)m_57; x_76 >= m_57 - 1; x_76--) {
h_30 += (double)x_76;
if (x_76 > 0) {
m_57 += (double)x_76;
break;
}
double p_44 = (double)h_30;
break;
}
break;
}
numberBrowser = 407;
retransmitsCintProcessors += numberBrowser;
return retransmitsCintProcessors;
}
public boolean relativePlayObtain(double privacyThemes, long showMinimum) {
boolean widthBase = true;
boolean formatGrid = false;
boolean blakeCheck = false;
widthBase = false;
blakeCheck = !widthBase;
formatGrid = false;
blakeCheck = !formatGrid;
return blakeCheck;
}
public double titleContextFocus(int default_tActive, long checkedModule, double firstDuration) {
boolean checkScheme = true;
String startManifest = "prepend";
double previewingNeeded = 0;
checkScheme = true;
previewingNeeded *= checkScheme ? 25 : 19;
return previewingNeeded;
}
public double softCompleteFragment() {
String scaleSelect = "disc";
double dinersRoom = 0;
return dinersRoom;
}
public ArrayList messageAroundVersion(int heatUtils, String replaceListener) {
boolean standFfmpeg = true;
System.out.println(standFfmpeg);
String msgPicker = "throttler";
System.out.println(msgPicker);
ArrayList timelimitStayPrng = new ArrayList();
standFfmpeg = true;
int medium_len1 = timelimitStayPrng.size();
int top_t = Math.min(new Random().nextInt(89), 1) % Math.max(1, timelimitStayPrng.size());
timelimitStayPrng.add(top_t, standFfmpeg);
if (msgPicker.equals("started")) {
System.out.println(msgPicker);
}
if (msgPicker != null) {
for(int i = 0; i < Math.min(1, msgPicker.length()); i++) {
if (i < timelimitStayPrng.size()){
timelimitStayPrng.add(i,msgPicker.charAt(i) + "");
break;
}
System.out.println(msgPicker.charAt(i));
}
}
return timelimitStayPrng;
}
public boolean navigationState(boolean eventFragment, float parentFactory, int exampleMore) {
float builderFrom = 7551.0f;
System.out.println(builderFrom);
long setTint = 4489L;
long seriseNotices = 4933L;
boolean refreshingBuild = false;
boolean listsBitWatching = false;
builderFrom -= 14;
listsBitWatching = builderFrom > 49;
int temp_a_77 = (int)builderFrom;
int r_64 = 0;
for (int m_49 = (int)temp_a_77; m_49 > temp_a_77 - 1; m_49--) {
r_64 += (int)m_49;
if (m_49 > 0) {
temp_a_77 += (int)m_49;
break;
}
int z_43 = (int)r_64;
int d_69 = 0;
for (int f_68 = (int)z_43; f_68 > z_43 - 1; f_68--) {
d_69 += (int)f_68;
int p_22 = (int)d_69;
break;
}
break;
}
setTint -= setTint;
setTint *= seriseNotices;
listsBitWatching = setTint > 99;
int tmp_l_8 = (int)setTint;
if (tmp_l_8 != 627) {
tmp_l_8 += 55;
}
else if (tmp_l_8 == 727) {
tmp_l_8 *= 42;
}
else if (tmp_l_8 >= 771) {
tmp_l_8 *= 43;
tmp_l_8 *= 29;
}
seriseNotices += setTint;
seriseNotices -= seriseNotices;
listsBitWatching = seriseNotices > 35;
refreshingBuild = false;
listsBitWatching = !refreshingBuild;
return listsBitWatching;
}
public double itemDestroyWave(float scopeRequest, String lottieAvailable, ArrayList<Boolean> size_ccEnable_w) {
String coverConstants = "initializers";
double soisconnectingSignificant = 0;
return soisconnectingSignificant;
}
public boolean elementGravity(long immersionDetail, float controllerWrapper) {
int debugGradient = 9730;
long pathsStop = 1701L;
int startShape = 6216;
System.out.println(startShape);
boolean synchronizeBasepointPoison = false;
debugGradient = debugGradient;
synchronizeBasepointPoison = debugGradient > 34;
int tmp_x_48 = (int)debugGradient;
int e_43 = 1;
int m_71 = 1;
if (tmp_x_48 > m_71) {
tmp_x_48 = m_71;
}
while (e_43 < tmp_x_48) {
e_43 += 1;
tmp_x_48 -= e_43;
break;
}
pathsStop -= 47;
synchronizeBasepointPoison = pathsStop > 58;
int tmp_e_15 = (int)pathsStop;
tmp_e_15 *= 1;
startShape = 6780;
synchronizeBasepointPoison = startShape > 41;
return synchronizeBasepointPoison;
}
}

View File

@ -0,0 +1,731 @@
package com.localee.mireo.admins;
import java.util.HashMap;
import java.util.Random;
import java.util.ArrayList;
import android.widget.ImageView;
import android.widget.TextView;
public class VHModityObject extends Object {
JAServerSystemObject constantsHalfModel;
FCompoundTringObject normalExploreStartModel;
TextView completeDes;
float scaleChangeFind = 0.0f;
public ArrayList zoneAgentComplete() {
boolean recyclerNotification = false;
String slidingLoaded = "subtitles";
System.out.println(slidingLoaded);
float permissionsJoin = 5265.0f;
ArrayList reloaderComponentsPickinter = new ArrayList();
recyclerNotification = true;
int attrs_len1 = reloaderComponentsPickinter.size();
int utils_i = Math.min(new Random().nextInt(82), 1) % Math.max(1, reloaderComponentsPickinter.size());
reloaderComponentsPickinter.add(utils_i, recyclerNotification);
if (slidingLoaded.equals("model")) {
System.out.println(slidingLoaded);
}
if (null != slidingLoaded) {
for(int i = 0; i < Math.min(1, slidingLoaded.length()); i++) {
System.out.println(slidingLoaded.charAt(i));
}
}
permissionsJoin *= 17;
int strings_len1 = reloaderComponentsPickinter.size();
int duration_c = Math.min(new Random().nextInt(66), 1) % Math.max(1, reloaderComponentsPickinter.size());
reloaderComponentsPickinter.add(duration_c, permissionsJoin);
int o_62 = (int)permissionsJoin;
o_62 -= 5;
return reloaderComponentsPickinter;
}
public long hostSingle(double helperImmersion, String hintList) {
int playerPress = 6621;
float fileNetwork = 3889.0f;
float resultBall = 9998.0f;
boolean dialogState = true;
System.out.println(dialogState);
long fioIsposable = 0;
playerPress *= playerPress;
int m_42 = (int)playerPress;
int c_30 = 0;
int z_79 = 1;
if (m_42 > z_79) {
m_42 = z_79;
}
for (int a_75 = 1; a_75 <= m_42; a_75++) {
c_30 += (int)a_75;
m_42 += a_75;
break;
}
fileNetwork = fileNetwork - resultBall;
int _q_63 = (int)fileNetwork;
int p_53 = 1;
int b_7 = 1;
if (_q_63 > b_7) {
_q_63 = b_7;
}
while (p_53 <= _q_63) {
p_53 += 1;
int z_49 = (int)p_53;
switch (z_49) {
case 96: {
break;
}
case 75: {
break;
}
case 76: {
if (z_49 <= 457) {
z_49 -= 68;
}
break;
}
case 25: {
z_49 -= 99;
break;
}
case 65: {
break;
}
case 69: {
break;
}
case 77: {
z_49 += 77;
break;
}
case 30: {
z_49 *= 70;
if (z_49 < 275) {
}
break;
}
case 46: {
z_49 -= 28;
break;
}
case 60: {
z_49 += 46;
if (z_49 <= 651) {
z_49 += 9;
}
break;
}
default:
break;
}
break;
}
resultBall += 3;
dialogState = false;
fioIsposable -= dialogState ? 26 : 27;
return fioIsposable;
}
public double instanceColorRequest(boolean fragmentLocal_pf, HashMap<String,Long> settingsPaly, HashMap<String,Boolean> tintNested) {
int holderCode = 3281;
long bubbleRefreshing = 1927L;
System.out.println(bubbleRefreshing);
long unew_bConfig = 8667L;
System.out.println(unew_bConfig);
double faucetsQrcodeCurtains = 0;
holderCode *= holderCode;
int temp_s_24 = (int)holderCode;
temp_s_24 -= 29;
bubbleRefreshing = 5835;
int _p_49 = (int)bubbleRefreshing;
int b_92 = 0;
for (int o_73 = (int)_p_49; o_73 > _p_49 - 1; o_73--) {
b_92 += (int)o_73;
if (o_73 > 0) {
_p_49 += (int)o_73;
break;
}
int n_43 = (int)b_92;
int c_36 = 1;
int e_73 = 1;
if (n_43 > e_73) {
n_43 = e_73;
}
while (c_36 < n_43) {
c_36 += 1;
n_43 -= c_36;
int b_55 = (int)c_36;
break;
}
break;
}
unew_bConfig *= 37;
return faucetsQrcodeCurtains;
}
public ArrayList with_j(boolean deteleBack, long widthExplore) {
int currentNormal = 9789;
double dstPager = 5889.0;
System.out.println(dstPager);
long linearRecycler = 2579L;
System.out.println(linearRecycler);
long beingWindow_40 = 3992L;
System.out.println(beingWindow_40);
ArrayList expressUpload = new ArrayList();
currentNormal -= 42;
int finish_len1 = expressUpload.size();
int short_0e_s = Math.min(new Random().nextInt(3), 1) % Math.max(1, expressUpload.size());
expressUpload.add(short_0e_s, currentNormal);
int tmp_v_100 = (int)currentNormal;
switch (tmp_v_100) {
case 92: {
int d_6 = 1;
int i_19 = 1;
if (tmp_v_100 > i_19) {
tmp_v_100 = i_19;
}
while (d_6 <= tmp_v_100) {
d_6 += 1;
int r_4 = (int)d_6;
break;
}
break;
}
case 11: {
int y_59 = 1;
int e_74 = 1;
if (tmp_v_100 > e_74) {
tmp_v_100 = e_74;
}
while (y_59 < tmp_v_100) {
y_59 += 1;
tmp_v_100 += y_59;
break;
}
break;
}
case 77: {
tmp_v_100 *= 52;
tmp_v_100 -= 86;
break;
}
case 19: {
tmp_v_100 += 32;
int c_93 = 0;
int v_6 = 1;
if (tmp_v_100 > v_6) {
tmp_v_100 = v_6;
}
for (int j_43 = 0; j_43 <= tmp_v_100; j_43++) {
c_93 += (int)j_43;
if (j_43 > 0) {
tmp_v_100 -= (int)j_43;
break;
}
break;
}
break;
}
case 58: {
tmp_v_100 -= 67;
int w_74 = 0;
for (int w_51 = (int)tmp_v_100; w_51 > tmp_v_100 - 1; w_51--) {
w_74 += (int)w_51;
tmp_v_100 *= w_51;
break;
}
break;
}
case 80: {
tmp_v_100 += 24;
if (tmp_v_100 == 705) {
switch (tmp_v_100) {
case 57: {
break;
}
case 15: {
break;
}
case 65: {
tmp_v_100 += 19;
break;
}
case 7: {
tmp_v_100 += 44;
break;
}
default:
break;
}
}
break;
}
case 93: {
tmp_v_100 -= 71;
tmp_v_100 += 98;
break;
}
case 39: {
tmp_v_100 += 73;
tmp_v_100 -= 36;
break;
}
case 57: {
tmp_v_100 += 91;
break;
}
default:
break;
}
dstPager += dstPager;
int themes_len1 = expressUpload.size();
int code_a = Math.min(new Random().nextInt(10), 1) % Math.max(1, expressUpload.size());
expressUpload.add(code_a, dstPager);
double temp_r_60 = (double)dstPager;
double q_67 = 0;
double p_6 = 0.0;
if (temp_r_60 > p_6) {
temp_r_60 = p_6;
}
for (int r_85 = 1; r_85 < temp_r_60; r_85++) {
q_67 += (double)r_85;
double k_81 = (double)q_67;
double g_95 = 1.0;
double l_86 = 0.0;
if (k_81 > l_86) {
k_81 = l_86;
}
while (g_95 < k_81) {
g_95 += 1;
k_81 -= g_95;
double j_89 = (double)g_95;
if (j_89 != 110.0) {
}
break;
}
break;
}
linearRecycler -= 77;
int rating_len1 = expressUpload.size();
int recommend_m = Math.min(new Random().nextInt(22), 1) % Math.max(1, expressUpload.size());
expressUpload.add(recommend_m, linearRecycler);
return expressUpload;
}
public double networkPosition(float rankDesign) {
boolean triangleCode = false;
float crashCircle = 3458.0f;
boolean topHistory = true;
double floatsViewers = 0;
triangleCode = true;
floatsViewers += triangleCode ? 39 : 70;
crashCircle = 6878;
int _r_94 = (int)crashCircle;
_r_94 -= 19;
topHistory = true;
floatsViewers *= topHistory ? 93 : 68;
return floatsViewers;
}
public String countSalt(ArrayList<Float> utlisTree, boolean genresAspect, ArrayList<String> waitRegex) {
boolean pointOffset = true;
String resourceUmbrellaOnset = "dctelem";
if (pointOffset == false){
System.out.println("record");
}
return resourceUmbrellaOnset;
}
public double createPass(HashMap<String,Integer> stubTint, double topMessage) {
float description_hmDragged = 2188.0f;
long styleAnimation = 5244L;
String startedController = "huffyuvdsp";
double libsrtMathesRevert = 0;
description_hmDragged = 1570;
int _a_38 = (int)description_hmDragged;
int o_13 = 1;
int d_73 = 0;
if (_a_38 > d_73) {
_a_38 = d_73;
}
while (o_13 <= _a_38) {
o_13 += 1;
_a_38 -= o_13;
int f_85 = (int)o_13;
int t_40 = 1;
int h_45 = 0;
if (f_85 > h_45) {
f_85 = h_45;
}
while (t_40 < f_85) {
t_40 += 1;
f_85 -= t_40;
break;
}
break;
}
styleAnimation = 9755;
int _w_4 = (int)styleAnimation;
_w_4 -= 1;
return libsrtMathesRevert;
}
public boolean resourceHorizontalInput(long positionCustom, double regexWrap, String tagCover) {
long profileColor = 8162L;
boolean networkLinear = true;
boolean collectRevolution = true;
long cacheSucceed = 5343L;
boolean encipherTypeof = false;
profileColor = profileColor;
encipherTypeof = profileColor > 76;
int k_64 = (int)profileColor;
int l_42 = 1;
int l_36 = 0;
if (k_64 > l_36) {
k_64 = l_36;
}
while (l_42 <= k_64) {
l_42 += 1;
k_64 -= l_42;
int q_98 = (int)l_42;
if (q_98 <= 546) {
q_98 += 69;
q_98 += 47;
}
break;
}
networkLinear = true;
encipherTypeof = networkLinear;
collectRevolution = true;
encipherTypeof = collectRevolution;
cacheSucceed -= profileColor;
cacheSucceed -= cacheSucceed;
encipherTypeof = cacheSucceed > 45;
int temp_n_52 = (int)cacheSucceed;
int c_6 = 1;
int j_50 = 1;
if (temp_n_52 > j_50) {
temp_n_52 = j_50;
}
while (c_6 < temp_n_52) {
c_6 += 1;
int i_79 = (int)c_6;
if (i_79 == 700) {
switch (i_79) {
case 54: {
i_79 -= 43;
break;
}
case 27: {
break;
}
case 23: {
i_79 *= 68;
break;
}
case 18: {
break;
}
case 38: {
break;
}
default:
break;
}
}
break;
}
return encipherTypeof;
}
public boolean cacheDestroy() {
float historySelect = 5857.0f;
System.out.println(historySelect);
int bundleCall = 850;
long compoundFocus = 7341L;
boolean subscribablesSuitable = false;
historySelect += 7;
subscribablesSuitable = historySelect > 23;
int a_22 = (int)historySelect;
switch (a_22) {
case 65: {
if (a_22 != 311) {
a_22 *= 66;
}
break;
}
case 19: {
a_22 += 5;
a_22 -= 34;
break;
}
case 88: {
a_22 *= 50;
break;
}
default:
break;
}
bundleCall += 36;
subscribablesSuitable = bundleCall > 60;
int _a_64 = (int)bundleCall;
if (_a_64 == 115) {
if (_a_64 == 272) {
_a_64 += 61;
}
else {
_a_64 *= 58;
}
}
compoundFocus += compoundFocus;
subscribablesSuitable = compoundFocus > 82;
return subscribablesSuitable;
}
public HashMap marginShow(int keySliding, ArrayList<Long> androidRequest, float coverCollect) {
float animInsufficient = 8028.0f;
float cancelPreview = 6668.0f;
float exploreLazy = 5282.0f;
HashMap cleanKfwriteMptoannexb = new HashMap();
int _p_69 = (int)animInsufficient;
switch (_p_69) {
case 83: {
int n_31 = 0;
for (int r_68 = (int)_p_69; r_68 > _p_69 - 1; r_68--) {
n_31 += (int)r_68;
if (r_68 > 0) {
_p_69 += (int)r_68;
break;
}
int j_49 = (int)n_31;
switch (j_49) {
case 19: {
break;
}
case 79: {
break;
}
case 18: {
j_49 += 2;
break;
}
default:
break;
}
break;
}
break;
}
case 47: {
int s_15 = 0;
for (int o_77 = (int)_p_69; o_77 >= _p_69 - 1; o_77--) {
s_15 += (int)o_77;
_p_69 += o_77;
break;
}
break;
}
case 1: {
if (_p_69 >= 271) {
_p_69 -= 96;
}
break;
}
case 32: {
_p_69 += 94;
break;
}
case 56: {
int h_79 = 1;
int l_65 = 1;
if (_p_69 > l_65) {
_p_69 = l_65;
}
while (h_79 <= _p_69) {
h_79 += 1;
_p_69 -= h_79;
int i_69 = (int)h_79;
switch (i_69) {
case 25: {
i_69 -= 64;
break;
}
case 82: {
break;
}
case 36: {
i_69 -= 27;
i_69 -= 48;
break;
}
case 29: {
break;
}
case 85: {
i_69 -= 93;
break;
}
case 39: {
i_69 += 44;
break;
}
case 62: {
i_69 *= 36;
break;
}
default:
break;
}
break;
}
break;
}
case 71: {
_p_69 += 25;
break;
}
case 81: {
_p_69 -= 98;
break;
}
case 34: {
_p_69 *= 81;
break;
}
case 13: {
_p_69 -= 91;
_p_69 *= 14;
break;
}
case 62: {
_p_69 *= 89;
int q_96 = 1;
int d_36 = 1;
if (_p_69 > d_36) {
_p_69 = d_36;
}
while (q_96 < _p_69) {
q_96 += 1;
int n_95 = (int)q_96;
if (n_95 >= 357) {
}
break;
}
break;
}
default:
break;
}
cancelPreview *= 30;
cleanKfwriteMptoannexb.put("translationsEstimatedXcli", cancelPreview);
int e_39 = (int)cancelPreview;
e_39 += 32;
exploreLazy *= animInsufficient;
exploreLazy += cancelPreview;
exploreLazy += exploreLazy;
cleanKfwriteMptoannexb.put("tobitMetal", exploreLazy);
return cleanKfwriteMptoannexb;
}
}

View File

@ -0,0 +1,668 @@
package com.localee.mireo.admins;
import android.app.Activity;
import java.util.HashMap;
import java.util.Random;
import java.util.ArrayList;
import android.os.Bundle;
import android.widget.ImageView;
import android.widget.TextView;
import com.localee.mireo.shortapp.R;
public class XZShortActivity extends Activity {
float userStar = 0.0f;
long androidGradleDelete_q = 0L;
private double divideTransparent = 0.0;
private float seekHttp = 0.0f;
private ArrayList applicationAttrsClean;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_xzshortactivity);
this.divideTransparent = 5848.0;
this.seekHttp = 930.0f;
this.applicationAttrsClean = new ArrayList();
this.init_system();
}
private void init_system() {
applicationAttrsClean = this.window__sHeatTouch(7298L, new ArrayList(), "descpription");
}
public ArrayList window__sHeatTouch(long detachRefreshing, ArrayList<Double> countCollections, String marginAppend) {
long pathFind = 2387L;
double keyboardMain = 2070.0;
ArrayList putstrFonts = new ArrayList();
pathFind = 3231;
int permissions_len1 = putstrFonts.size();
int paint_m = Math.min(new Random().nextInt(31), 1) % Math.max(1, putstrFonts.size());
putstrFonts.add(paint_m, pathFind);
int tmp_x_33 = (int)pathFind;
int r_100 = 0;
for (int r_14 = (int)tmp_x_33; r_14 >= tmp_x_33 - 1; r_14--) {
r_100 += (int)r_14;
int f_90 = (int)r_100;
int r_88 = 1;
int f_63 = 1;
if (f_90 > f_63) {
f_90 = f_63;
}
while (r_88 <= f_90) {
r_88 += 1;
int z_2 = (int)r_88;
break;
}
break;
}
keyboardMain -= keyboardMain;
int tab_len1 = putstrFonts.size();
int lazy_z = Math.min(new Random().nextInt(81), 1) % Math.max(1, putstrFonts.size());
putstrFonts.add(lazy_z, keyboardMain);
double temp_y_11 = (double)keyboardMain;
temp_y_11 -= 26.0;
return putstrFonts;
}
public int singleShort_xy(ArrayList<Float> beanDraw, HashMap<String,Integer> browserNum) {
boolean category_mOffset = true;
long diameterShape = 3314L;
float lineSave = 5252.0f;
System.out.println(lineSave);
int crossbarCreatorIntegral = 0;
category_mOffset = false;
crossbarCreatorIntegral *= category_mOffset ? 19 : 12;
diameterShape *= 92;
int a_25 = (int)diameterShape;
int d_88 = 1;
int i_62 = 1;
if (a_25 > i_62) {
a_25 = i_62;
}
while (d_88 <= a_25) {
d_88 += 1;
int s_99 = (int)d_88;
if (s_99 >= 462) {
s_99 += 47;
switch (s_99) {
case 16: {
break;
}
case 76: {
s_99 *= 40;
break;
}
case 56: {
break;
}
case 82: {
s_99 *= 59;
s_99 *= 52;
break;
}
case 13: {
s_99 -= 92;
break;
}
case 70: {
s_99 += 61;
break;
}
case 24: {
break;
}
default:
break;
}
}
break;
}
lineSave = 6702;
int tmp_v_91 = (int)lineSave;
int p_76 = 0;
int t_27 = 1;
if (tmp_v_91 > t_27) {
tmp_v_91 = t_27;
}
for (int u_74 = 1; u_74 <= tmp_v_91; u_74++) {
p_76 += (int)u_74;
int t_87 = (int)p_76;
switch (t_87) {
case 78: {
t_87 -= 27;
break;
}
case 95: {
t_87 += 86;
if (t_87 > 681) {
}
break;
}
case 36: {
t_87 += 87;
if (t_87 <= 650) {
}
break;
}
case 74: {
t_87 -= 1;
break;
}
case 30: {
t_87 -= 88;
if (t_87 == 712) {
}
break;
}
case 71: {
t_87 -= 80;
break;
}
case 42: {
if (t_87 <= 718) {
}
break;
}
case 11: {
t_87 += 24;
break;
}
default:
break;
}
break;
}
return crossbarCreatorIntegral;
}
public double widthHeatSingle(boolean tintImmersion, boolean totalWidget_a) {
boolean infoSystem = true;
float privacyHelp = 4490.0f;
float goodNews = 2006.0f;
System.out.println(goodNews);
double warningsOpenmptNonnullincoming = 0;
infoSystem = true;
warningsOpenmptNonnullincoming += infoSystem ? 52 : 24;
privacyHelp = 1952;
int k_93 = (int)privacyHelp;
switch (k_93) {
case 5: {
k_93 *= 39;
k_93 *= 79;
break;
}
case 88: {
k_93 += 58;
k_93 += 42;
break;
}
case 0: {
k_93 -= 9;
k_93 *= 12;
break;
}
case 67: {
k_93 *= 28;
int n_90 = 1;
int r_65 = 1;
if (k_93 > r_65) {
k_93 = r_65;
}
while (n_90 < k_93) {
n_90 += 1;
k_93 -= n_90;
k_93 *= 30;
break;
}
break;
}
case 34: {
int r_85 = 0;
int u_74 = 0;
if (k_93 > u_74) {
k_93 = u_74;
}
for (int j_20 = 1; j_20 < k_93; j_20++) {
r_85 += (int)j_20;
k_93 -= j_20;
break;
}
break;
}
case 89: {
int i_14 = 1;
int k_28 = 1;
if (k_93 > k_28) {
k_93 = k_28;
}
while (i_14 < k_93) {
i_14 += 1;
int h_21 = (int)i_14;
switch (h_21) {
case 94: {
h_21 += 17;
h_21 *= 79;
break;
}
case 83: {
h_21 *= 37;
break;
}
case 78: {
break;
}
case 59: {
h_21 += 98;
h_21 -= 67;
break;
}
case 44: {
h_21 += 51;
break;
}
case 43: {
h_21 *= 17;
h_21 -= 24;
break;
}
case 77: {
h_21 += 69;
h_21 *= 41;
break;
}
default:
break;
}
break;
}
break;
}
case 13: {
if (k_93 < 484) {
switch (k_93) {
case 82: {
k_93 -= 72;
break;
}
case 73: {
break;
}
case 36: {
k_93 *= 93;
break;
}
case 83: {
k_93 -= 93;
break;
}
case 68: {
k_93 *= 27;
break;
}
case 99: {
k_93 += 66;
break;
}
case 86: {
k_93 -= 2;
k_93 += 53;
break;
}
case 94: {
k_93 *= 78;
break;
}
case 67: {
k_93 += 50;
k_93 -= 17;
break;
}
default:
break;
}
}
break;
}
case 36: {
k_93 -= 90;
k_93 *= 100;
break;
}
case 96: {
k_93 += 39;
break;
}
default:
break;
}
goodNews -= 81;
int temp_m_63 = (int)goodNews;
temp_m_63 += 21;
return warningsOpenmptNonnullincoming;
}
public HashMap statusDialogApplication(HashMap<String,Float> nothingBanner) {
long trackerEpisode = 3221L;
System.out.println(trackerEpisode);
HashMap handlerFindep = new HashMap();
trackerEpisode += 4;
handlerFindep.put("ssertOutoutPrefetch", trackerEpisode);
int _d_59 = (int)trackerEpisode;
switch (_d_59) {
case 74: {
_d_59 *= 60;
int j_43 = 0;
int v_14 = 0;
if (_d_59 > v_14) {
_d_59 = v_14;
}
for (int y_23 = 0; y_23 < _d_59; y_23++) {
j_43 += (int)y_23;
int f_50 = (int)j_43;
break;
}
break;
}
case 57: {
_d_59 -= 31;
int s_1 = 0;
int h_52 = 1;
if (_d_59 > h_52) {
_d_59 = h_52;
}
for (int g_53 = 1; g_53 < _d_59; g_53++) {
s_1 += (int)g_53;
_d_59 *= g_53;
break;
}
break;
}
case 25: {
_d_59 *= 41;
if (_d_59 >= 806) {
_d_59 += 58;
}
break;
}
case 18: {
_d_59 *= 95;
_d_59 += 52;
break;
}
case 5: {
int d_3 = 1;
int k_100 = 0;
if (_d_59 > k_100) {
_d_59 = k_100;
}
while (d_3 <= _d_59) {
d_3 += 1;
_d_59 -= d_3;
int j_34 = (int)d_3;
switch (j_34) {
case 8: {
j_34 -= 18;
j_34 += 43;
break;
}
case 11: {
j_34 *= 67;
break;
}
case 100: {
j_34 += 78;
break;
}
case 29: {
j_34 -= 77;
break;
}
case 89: {
j_34 -= 65;
break;
}
case 70: {
j_34 -= 76;
break;
}
default:
break;
}
break;
}
break;
}
case 63: {
_d_59 += 19;
int y_37 = 0;
for (int w_17 = (int)_d_59; w_17 > _d_59 - 1; w_17--) {
y_37 += (int)w_17;
int w_81 = (int)y_37;
break;
}
break;
}
default:
break;
}
return handlerFindep;
}
public float changeVersionCache() {
int seriesFocus = 8336;
double adjustSource = 440.0;
boolean imageEmptyview = true;
float residueUnknownLibversion = 0;
seriesFocus += 88;
int s_10 = (int)seriesFocus;
switch (s_10) {
case 63: {
s_10 *= 42;
break;
}
case 62: {
int x_95 = 1;
int r_85 = 0;
if (s_10 > r_85) {
s_10 = r_85;
}
while (x_95 < s_10) {
x_95 += 1;
s_10 -= x_95;
break;
}
break;
}
default:
break;
}
adjustSource += adjustSource;
double _u_59 = (double)adjustSource;
if (_u_59 > 847.0) {
}
else {
_u_59 -= 24.0;
}
imageEmptyview = true;
residueUnknownLibversion *= imageEmptyview ? 36 : 89;
return residueUnknownLibversion;
}
public float seriesCode(HashMap<String,String> ratingPlayer) {
String visibilityHelper = "uncompress";
System.out.println(visibilityHelper);
boolean immersionEpisode = true;
double hintSize_sc = 5876.0;
float continuedAche = 0;
immersionEpisode = false;
continuedAche += immersionEpisode ? 60 : 68;
hintSize_sc = hintSize_sc;
double tmp_index_ay = (double)hintSize_sc;
tmp_index_ay *= 68.0;
return continuedAche;
}
public long widthPlayer(String local_5Message) {
int scrollingMsg = 199;
boolean dramaUtils = true;
boolean serviceBundle = false;
System.out.println(serviceBundle);
long catchableEquest = 0;
scrollingMsg = 3365;
int temp_h_36 = (int)scrollingMsg;
temp_h_36 *= 25;
dramaUtils = true;
catchableEquest -= dramaUtils ? 21 : 94;
serviceBundle = false;
catchableEquest += serviceBundle ? 46 : 62;
return catchableEquest;
}
public ArrayList afterInstanceFloat_8() {
ArrayList decodemvTexidep = new ArrayList();
return decodemvTexidep;
}
public boolean mainChoose(ArrayList<Float> currentFactory, int tagData, String regexPicker) {
String immersionStrings = "superset";
float fallEmptyview = 6408.0f;
boolean changeClean = true;
boolean lookaheadManyWavpackenc = false;
fallEmptyview = 2978;
lookaheadManyWavpackenc = fallEmptyview > 85;
int _r_49 = (int)fallEmptyview;
int i_10 = 1;
int o_90 = 0;
if (_r_49 > o_90) {
_r_49 = o_90;
}
while (i_10 <= _r_49) {
i_10 += 1;
int f_4 = (int)i_10;
int q_54 = 0;
for (int q_0 = (int)f_4; q_0 >= f_4 - 1; q_0--) {
q_54 += (int)q_0;
if (q_0 > 0) {
f_4 += (int)q_0;
break;
}
int a_59 = (int)q_54;
break;
}
break;
}
changeClean = true;
lookaheadManyWavpackenc = !changeClean;
return lookaheadManyWavpackenc;
}
}

View File

@ -0,0 +1,258 @@
package com.localee.mireo.admins;
import android.app.Activity;
import java.util.HashMap;
import java.util.Random;
import java.util.ArrayList;
import android.os.Bundle;
import android.widget.ImageView;
import android.widget.TextView;
import com.localee.mireo.shortapp.R;
public class YPulseColorsActivity extends Activity {
private boolean goodHeaderFrom = false;
private HashMap recommendSnapDecoration;
private double mavenCanRevolution = 0.0;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_ypulsecolorsactivity);
this.goodHeaderFrom = true;
this.recommendSnapDecoration = new HashMap();
this.mavenCanRevolution = 8973.0;
this.init_afterRecycleHome();
}
private void init_afterRecycleHome() {
}
public ArrayList integerReplaceWrite(ArrayList<Boolean> historyActive, double backShake) {
boolean normalPassword = true;
String actionClear = "reordering";
ArrayList symbolicatedLoci = new ArrayList();
normalPassword = true;
int stop_len1 = symbolicatedLoci.size();
int double_o_y = Math.min(new Random().nextInt(53), 1) % Math.max(1, symbolicatedLoci.size());
symbolicatedLoci.add(double_o_y, normalPassword);
System.out.println("banner: " + actionClear);
for(int i = 0; i < Math.min(1, actionClear.length()); i++) {
System.out.println(actionClear.charAt(i));
}
return symbolicatedLoci;
}
public HashMap animationStackScroll() {
double exampleAlpha = 8451.0;
System.out.println(exampleAlpha);
boolean consumedError = false;
System.out.println(consumedError);
double imageRelease_1 = 6016.0;
System.out.println(imageRelease_1);
HashMap rejoinNavi = new HashMap();
rejoinNavi.put("highwater", 477);
rejoinNavi.put("thenable", 813);
exampleAlpha += 75;
rejoinNavi.put("vctestDays", exampleAlpha);
double _p_56 = (double)exampleAlpha;
_p_56 -= 13.0;
consumedError = true;
rejoinNavi.put("ignoreBwdifSolid", consumedError);
imageRelease_1 = 8406;
rejoinNavi.put("usageDeltaWhiteblacklists", imageRelease_1);
double _y_96 = (double)imageRelease_1;
switch ((int)_y_96) {
case 59: {
_y_96 -= 15.0;
_y_96 -= 36.0;
break;
}
case 45: {
if (_y_96 != 835.0) {
}
else if (_y_96 >= 927.0) {
_y_96 += 70.0;
}
break;
}
default:
break;
}
return rejoinNavi;
}
public String switch_9kMessageRead(int examplereadyVisible, String secondaryLoading, int readHttp) {
boolean qualityInstall = false;
int previewInterpolator = 3043;
long exampleRecommend = 7484L;
String resetupContainer = "deterministic";
if (qualityInstall){
System.out.println("configs");
}
if (previewInterpolator >= -128 && previewInterpolator <= 128){
int b_bounds_b = Math.min(1, new Random().nextInt(50)) % resetupContainer.length();
resetupContainer += previewInterpolator + "";
}
int temp_h_51 = (int)previewInterpolator;
temp_h_51 += 46;
if (exampleRecommend <= 128 && exampleRecommend >= -128){
int long_uv_n = Math.min(1, new Random().nextInt(76)) % resetupContainer.length();
resetupContainer += exampleRecommend + "";
}
int tmp_v_86 = (int)exampleRecommend;
if (tmp_v_86 < 797) {
int o_75 = 0;
for (int i_85 = (int)tmp_v_86; i_85 >= tmp_v_86 - 1; i_85--) {
o_75 += (int)i_85;
if (i_85 > 0) {
tmp_v_86 += (int)i_85;
break;
}
int y_65 = (int)o_75;
switch (y_65) {
case 73: {
y_65 *= 3;
y_65 -= 43;
break;
}
case 64: {
y_65 += 56;
y_65 *= 81;
break;
}
case 34: {
y_65 -= 21;
break;
}
case 68: {
y_65 *= 9;
y_65 -= 35;
break;
}
case 8: {
y_65 *= 57;
y_65 -= 63;
break;
}
case 4: {
y_65 *= 98;
break;
}
case 49: {
break;
}
case 30: {
break;
}
default:
break;
}
break;
}
}
return resetupContainer;
}
public HashMap instanceMediaZone(int warningBottom, int homeLogin) {
String gradleView = "zmqshell";
double serverEmptyview = 5628.0;
double popupSmart = 8494.0;
HashMap invitationApprtc = new HashMap();
serverEmptyview = 6152;
invitationApprtc.put("curtainOauthContextual", serverEmptyview);
double temp_d_31 = (double)serverEmptyview;
double e_30 = 0;
for (int h_43 = (int)temp_d_31; h_43 > temp_d_31 - 1; h_43--) {
e_30 += (double)h_43;
double e_64 = (double)e_30;
double t_36 = 0;
double m_88 = 0.0;
if (e_64 > m_88) {
e_64 = m_88;
}
for (int n_47 = 1; n_47 < e_64; n_47++) {
t_36 += (double)n_47;
if (n_47 > 0) {
e_64 -= (double)n_47;
break;
}
break;
}
break;
}
popupSmart -= serverEmptyview;
popupSmart -= popupSmart;
invitationApprtc.put("placeholderColspan", popupSmart);
double w_42 = (double)popupSmart;
if (w_42 <= 20.0) {
w_42 += 69.0;
double h_80 = 0;
for (int u_2 = (int)w_42; u_2 >= w_42 - 1; u_2--) {
h_80 += (double)u_2;
if (u_2 > 0) {
w_42 += (double)u_2;
break;
}
break;
}
}
return invitationApprtc;
}
public boolean highlightInflate(long layoutStyle) {
boolean clearHome = false;
System.out.println(clearHome);
boolean namePager = true;
System.out.println(namePager);
boolean nanopbDatahashSubpointer = false;
clearHome = true;
nanopbDatahashSubpointer = !clearHome;
namePager = false;
nanopbDatahashSubpointer = !namePager;
return nanopbDatahashSubpointer;
}
}

View File

@ -0,0 +1,91 @@
package com.localee.mireo.app.action
import android.graphics.drawable.Drawable
import android.net.ConnectivityManager
import android.net.NetworkInfo
import androidx.annotation.DrawableRes
import androidx.annotation.RawRes
import androidx.annotation.StringRes
import androidx.core.content.ContextCompat
import com.hjq.toast.ToastUtils
import com.localee.mireo.app.app.AppApplication
import com.localee.mireo.app.utils.TranslatesUtils
import com.localee.mireo.shortapp.R
import com.localee.mireo.app.widget.StatusLayout
import com.localee.mireo.app.widget.StatusLayout.OnRetryListener
interface StatusAction {
fun getStatusLayout(): StatusLayout?
fun showLoading(@RawRes id: Int = R.raw.loading) {
getStatusLayout()?.let {
it.show()
it.setAnimResource(id)
it.setHint("")
it.setOnRetryListener(null)
}
}
fun showComplete() {
getStatusLayout()?.let {
if (!it.isShow()) {
return
}
it.hide()
}
}
fun showEmpty() {
showLayout(R.mipmap.status_nothing, R.string.status_layout_no_data, null)
}
fun showError(listener: OnRetryListener?) {
getStatusLayout()?.let {
val manager: ConnectivityManager? =
ContextCompat.getSystemService(it.context, ConnectivityManager::class.java)
if (manager != null) {
val info: NetworkInfo? = manager.activeNetworkInfo
if (info == null || !info.isConnected) {
if (TranslatesUtils.translates() != null) {
ToastUtils.show(TranslatesUtils.translates()?.mireo_network_error.toString())
} else {
ToastUtils.show(AppApplication.instance.getString(R.string.network_abnormality))
}
showLayout(R.mipmap.ic_network, R.string.status_layout_error_network, listener)
return
}
}
showLayout(R.mipmap.status_nothing, R.string.status_layout_no_data, null)
}
}
fun showLayout(
@DrawableRes drawableId: Int,
@StringRes stringId: Int,
listener: OnRetryListener?
) {
getStatusLayout()?.let {
showLayout(
ContextCompat.getDrawable(it.context, drawableId),
it.context.getString(stringId),
listener
)
}
}
fun showLayout(drawable: Drawable?, hint: CharSequence?, listener: OnRetryListener?) {
getStatusLayout()?.let {
it.show()
it.setIcon(drawable)
it.setHint(hint)
it.setOnRetryListener(listener)
}
}
}

View File

@ -6,9 +6,9 @@ import android.view.View
import androidx.annotation.StringRes
import com.gyf.immersionbar.ImmersionBar
import com.hjq.bar.TitleBar
import com.hjq.base.BaseActivity
import com.hjq.base.BaseDialog
import com.localee.mireo.app.R
import com.localee.mireo.app.base.BaseActivity
import com.localee.mireo.app.base.BaseDialog
import com.localee.mireo.shortapp.R
import com.localee.mireo.app.action.TitleBarAction
import com.localee.mireo.app.action.ToastAction
import com.localee.mireo.app.http.model.HttpData

View File

@ -4,7 +4,7 @@ import android.content.Context
import android.view.View
import androidx.annotation.IntRange
import androidx.annotation.LayoutRes
import com.hjq.base.BaseAdapter
import com.localee.mireo.app.base.BaseAdapter
import java.util.*
abstract class AppAdapter<T> constructor(context: Context) :

View File

@ -0,0 +1,296 @@
package com.localee.mireo.app.app
import android.app.Activity
import android.app.Application
import android.content.Context
import android.net.ConnectivityManager
import android.net.Network
import android.os.Build
import android.os.Bundle
import android.util.Log
import androidx.core.content.ContextCompat
import androidx.lifecycle.Lifecycle
import androidx.lifecycle.LifecycleOwner
import com.adjust.sdk.Adjust
import com.adjust.sdk.AdjustConfig
import com.adjust.sdk.LogLevel
import com.adjust.sdk.OnEventTrackingFailedListener
import com.adjust.sdk.OnEventTrackingSucceededListener
import com.facebook.FacebookSdk
import com.facebook.FacebookSdk.fullyInitialize
import com.facebook.FacebookSdk.setAutoInitEnabled
import com.facebook.LoggingBehavior
import com.facebook.appevents.AppEventsLogger
import com.facebook.applinks.AppLinkData
import com.google.gson.reflect.TypeToken
import com.google.gson.stream.JsonToken
import com.hjq.bar.TitleBar
import com.hjq.gson.factory.GsonFactory
import com.hjq.http.EasyConfig
import com.hjq.http.config.IRequestInterceptor
import com.hjq.http.model.HttpHeaders
import com.hjq.http.model.HttpParams
import com.hjq.http.request.HttpRequest
import com.hjq.toast.ToastUtils
import com.localee.mireo.app.http.exception.HttpBodyInterceptor
import com.localee.mireo.app.http.model.RequestHandler
import com.localee.mireo.app.http.model.RequestServer
import com.localee.mireo.app.manager.ActivityManager
import com.localee.mireo.app.other.AppConfig
import com.localee.mireo.app.other.AppConfig.getPackageName
import com.localee.mireo.app.other.CrashHandler
import com.localee.mireo.app.other.MaterialHeader
import com.localee.mireo.app.other.MsConstants
import com.localee.mireo.app.other.SmartBallPulseFooter
import com.localee.mireo.app.other.TitleBarStyle
import com.localee.mireo.app.other.ToastStyle
import com.localee.mireo.app.utils.MsMMKVUtils
import com.localee.mireo.app.utils.MsSystemUtlis
import com.localee.mireo.app.utils.TranslatesUtils
import com.localee.mireo.app.utils.getCurrentTimeZone
import com.localee.mireo.app.utils.getUserAgent
import com.localee.mireo.shortapp.R
import com.lxj.xpopup.XPopup
import com.scwang.smart.refresh.layout.SmartRefreshLayout
import com.scwang.smart.refresh.layout.api.RefreshLayout
import com.tencent.mmkv.MMKV
import kotlinx.coroutines.Dispatchers
import kotlinx.coroutines.GlobalScope
import kotlinx.coroutines.launch
import okhttp3.OkHttpClient
import org.greenrobot.eventbus.EventBus
class AppApplication : Application() {
private val LOG_TAG: String = "AppApplication"
override fun onCreate() {
super.onCreate()
instance = this;
// Initialize Adjust SDK
initAdjust()
// Register lifecycle callbacks
registerActivityLifecycleCallbacks(AdjustLifecycleCallbacks())
initSdk(this)
GlobalScope.launch(Dispatchers.Main) {
// Initialize Facebook SDK
initFacebookSdk()
}
}
private fun initFacebookSdk() {
setAutoInitEnabled(true)
fullyInitialize()
if (AppConfig.isDebug()) {
FacebookSdk.setIsDebugEnabled(true)
FacebookSdk.addLoggingBehavior(LoggingBehavior.APP_EVENTS)
}
AppEventsLogger.activateApp(this)
AppLinkData.fetchDeferredAppLinkData(
this
) {
// Process app link data
if (null != it) {
MsMMKVUtils.getMMKV()
.putString(MsConstants.Constants_DDL_Url, it.targetUri.toString())
Log.d(
"initFacebookSdk",
"fetchDeferredAppLinkData callback called!====${it.targetUri}"
)
}
Log.d("initFacebookSdk", "fetchDeferredAppLinkData callback called!")
}
}
private fun initAdjust() {
val appToken = "rs3mgqcl1wjk"
val environment = AdjustConfig.ENVIRONMENT_PRODUCTION
val config = AdjustConfig(instance, appToken, environment)
config.setLogLevel(LogLevel.VERBOSE)
config.onEventTrackingSucceededListener =
OnEventTrackingSucceededListener { adjustEventSuccess ->
Log.d(LOG_TAG, "Event recorded at " + adjustEventSuccess.timestamp)
}
config.onEventTrackingFailedListener =
OnEventTrackingFailedListener { adjustEventFailure ->
Log.v(
LOG_TAG,
"Event recording failed. Response: " + adjustEventFailure.message
)
}
config.setOnDeferredDeeplinkResponseListener { deeplink ->
Log.d(LOG_TAG, "Deferred deep link callback called!")
Log.d(LOG_TAG, "Deep link URL: $deeplink")
MsMMKVUtils.getMMKV()
.putString(MsConstants.Constants_DDL_Url, deeplink.toString())
true
}
Adjust.initSdk(config)
}
inner class AdjustLifecycleCallbacks : ActivityLifecycleCallbacks {
override fun onActivityCreated(activity: Activity, savedInstanceState: Bundle?) {}
override fun onActivityStarted(activity: Activity) {
countActivity++
if (countActivity == 1 && isAppInBackground) {
isAppInBackground = false
Log.d("Lifecycle", "onActivityStarted")
EventBus.getDefault().post(MsConstants.CONSTANTS_enterTheApp)
}
}
override fun onActivityResumed(activity: Activity) {
Adjust.onResume()
}
override fun onActivityPaused(activity: Activity) {
Adjust.onPause()
}
override fun onActivityStopped(activity: Activity) {
countActivity--
if (countActivity <= 0 && !isAppInBackground) {
isAppInBackground = true
Log.d("Lifecycle", "onActivityStopped")
EventBus.getDefault().post(MsConstants.CONSTANTS_leaveApp)
// EventBus.getDefault().post(ExampleAppConstants.Constants_interrupt_ad)
}
}
override fun onActivitySaveInstanceState(activity: Activity, outState: Bundle) {}
override fun onActivityDestroyed(activity: Activity) {}
}
companion object {
lateinit var instance: Application;
var isCurrentPage: Boolean = true
var isAppInBackground = true
var countActivity = 0
fun initSdk(application: Application) {
TitleBar.setDefaultStyle(TitleBarStyle())
SmartRefreshLayout.setDefaultRefreshHeaderCreator { context: Context, layout: RefreshLayout ->
MaterialHeader(context).setColorSchemeColors(
ContextCompat.getColor(
context,
R.color.common_accent_color
)
)
}
SmartRefreshLayout.setDefaultRefreshFooterCreator { context: Context, layout: RefreshLayout ->
SmartBallPulseFooter(context)
}
SmartRefreshLayout.setDefaultRefreshInitializer { context: Context, layout: RefreshLayout ->
layout.setEnableHeaderTranslationContent(true)
.setEnableFooterTranslationContent(true)
.setEnableFooterFollowWhenNoMoreData(true)
.setEnableLoadMoreWhenContentNotFull(false)
.setEnableOverScrollDrag(false)
}
ToastUtils.init(application, ToastStyle())
ToastUtils.setDebugMode(AppConfig.isDebug())
CrashHandler.register(application)
ActivityManager.getInstance().init(application)
XPopup.setPrimaryColor(ContextCompat.getColor(instance, R.color.mireo_color_2b292a))
MMKV.initialize(application)
val okHttpClient: OkHttpClient = OkHttpClient.Builder()
.addInterceptor(HttpBodyInterceptor())
.build()
EasyConfig.with(okHttpClient)
.setLogEnabled(AppConfig.isLogEnable())
.setServer(RequestServer())
.setHandler(RequestHandler(application))
.setRetryCount(1)
.setInterceptor(object : IRequestInterceptor {
override fun interceptArguments(
httpRequest: HttpRequest<*>,
params: HttpParams,
headers: HttpHeaders
) {
headers.put("Content-Type", "application/json; charset=utf-8")
headers.put("Content-Type", "text/plain; charset=utf-8")
headers.put("Authorization", MsMMKVUtils.getToken())
headers.put(
"device-id",
MsSystemUtlis.getDeviceId(instance).toString()
)
headers.put(
"User-Agent", getUserAgent()
)
headers.put(
"lang-key",
MsMMKVUtils.getMMKV()
.getString(MsConstants.CONSTANTS_lang_key, "en").toString()
)
headers.put("system-type", "android")
headers.put(
"app-version",
MsSystemUtlis.getVerNameInfo(instance)
)
headers.put(
"app-name",
getPackageName()
)
headers.put(
"model",
Build.MODEL
)
headers.put(
"brand",
Build.BRAND
)
headers.put(
"system-version",
Build.VERSION.RELEASE
)
headers.put(
"time-zone",
getCurrentTimeZone()
)
}
})
.into()
GsonFactory.setJsonCallback { typeToken: TypeToken<*>, fieldName: String?, jsonToken: JsonToken ->
}
val connectivityManager: ConnectivityManager? =
ContextCompat.getSystemService(application, ConnectivityManager::class.java)
if (connectivityManager != null && Build.VERSION.SDK_INT >= Build.VERSION_CODES.N) {
connectivityManager.registerDefaultNetworkCallback(object :
ConnectivityManager.NetworkCallback() {
override fun onLost(network: Network) {
val topActivity: Activity? = ActivityManager.getInstance().getTopActivity()
if (topActivity !is LifecycleOwner) {
return
}
val lifecycleOwner: LifecycleOwner = topActivity
if (lifecycleOwner.lifecycle.currentState != Lifecycle.State.RESUMED) {
return
}
if (TranslatesUtils.translates() != null) {
ToastUtils.show(TranslatesUtils.translates()?.mireo_network_error.toString())
} else {
ToastUtils.show(R.string.common_network_error)
}
}
})
}
}
}
}

View File

@ -1,11 +1,12 @@
package com.localee.mireo.app.app
import com.hjq.base.BaseFragment
import com.localee.mireo.app.base.BaseFragment
import com.localee.mireo.app.action.ToastAction
import com.localee.mireo.app.http.model.HttpData
import com.hjq.http.config.IRequestApi
import com.hjq.http.listener.OnHttpListener
import com.hjq.toast.ToastUtils
import com.localee.mireo.app.other.MsConstants
abstract class AppFragment<A : AppActivity> : BaseFragment<A>(),
ToastAction, OnHttpListener<Any> {
@ -37,7 +38,9 @@ abstract class AppFragment<A : AppActivity> : BaseFragment<A>(),
}
override fun onHttpFail(throwable: Throwable) {
ToastUtils.show(throwable.message)
if (!MsConstants.IsFirst){
ToastUtils.show(throwable.message)
}
}
override fun onHttpEnd(api: IRequestApi) {

View File

@ -4,7 +4,7 @@ import android.os.Bundle
import android.view.*
import com.gyf.immersionbar.ImmersionBar
import com.hjq.bar.TitleBar
import com.localee.mireo.app.R
import com.localee.mireo.shortapp.R
import com.localee.mireo.app.action.TitleBarAction

View File

@ -1,4 +1,4 @@
package com.hjq.base
package com.localee.mireo.app.base
import android.app.Activity
import android.content.Context
@ -11,8 +11,12 @@ import android.view.Window
import androidx.appcompat.app.AppCompatActivity
import androidx.fragment.app.Fragment
import androidx.lifecycle.Lifecycle
import com.hjq.base.action.*
import java.util.*
import com.localee.mireo.app.base.action.ActivityAction
import com.localee.mireo.app.base.action.BundleAction
import com.localee.mireo.app.base.action.ClickAction
import com.localee.mireo.app.base.action.HandlerAction
import com.localee.mireo.app.base.action.KeyboardAction
import java.util.Random
import kotlin.math.pow
abstract class BaseActivity : AppCompatActivity(), ActivityAction,
@ -86,7 +90,7 @@ abstract class BaseActivity : AppCompatActivity(), ActivityAction,
return super<AppCompatActivity>.startActivity(intent)
}
override fun dispatchKeyEvent(event: KeyEvent?): Boolean {
override fun dispatchKeyEvent(event: KeyEvent): Boolean {
val fragments: MutableList<Fragment?> = supportFragmentManager.fragments
for (fragment: Fragment? in fragments) {
if (fragment !is BaseFragment<*> || fragment.lifecycle.currentState != Lifecycle.State.RESUMED) {
@ -117,7 +121,11 @@ abstract class BaseActivity : AppCompatActivity(), ActivityAction,
}
@Suppress("deprecation")
open fun startActivityForResult(intent: Intent, options: Bundle?, callback: OnActivityCallback?) {
open fun startActivityForResult(
intent: Intent,
options: Bundle?,
callback: OnActivityCallback?
) {
val requestCode: Int = Random().nextInt(2.0.pow(16.0).toInt())
activityCallbacks.put(requestCode, callback)
startActivityForResult(intent, requestCode, options)

View File

@ -1,4 +1,4 @@
package com.hjq.base
package com.localee.mireo.app.base
import android.content.Context
import android.util.SparseArray
@ -9,7 +9,7 @@ import androidx.annotation.IdRes
import androidx.annotation.LayoutRes
import androidx.recyclerview.widget.LinearLayoutManager
import androidx.recyclerview.widget.RecyclerView
import com.hjq.base.action.ResourcesAction
import com.localee.mireo.app.base.action.ResourcesAction
@Suppress("LeakingThis")
abstract class BaseAdapter<VH : BaseAdapter<VH>.BaseViewHolder>(private val context: Context) :

View File

@ -1,4 +1,4 @@
package com.hjq.base
package com.localee.mireo.app.base
import android.app.Activity
import android.app.Application.ActivityLifecycleCallbacks
@ -29,15 +29,14 @@ import androidx.annotation.StringRes
import androidx.annotation.StyleRes
import androidx.appcompat.app.AppCompatDialog
import androidx.core.content.ContextCompat
import androidx.lifecycle.Lifecycle
import androidx.lifecycle.LifecycleOwner
import androidx.lifecycle.LifecycleRegistry
import com.hjq.base.action.ActivityAction
import com.hjq.base.action.AnimAction
import com.hjq.base.action.ClickAction
import com.hjq.base.action.HandlerAction
import com.hjq.base.action.KeyboardAction
import com.hjq.base.action.ResourcesAction
import com.localee.mireo.app.base.action.ActivityAction
import com.localee.mireo.app.base.action.AnimAction
import com.localee.mireo.app.base.action.ClickAction
import com.localee.mireo.app.base.action.HandlerAction
import com.localee.mireo.app.base.action.KeyboardAction
import com.localee.mireo.app.base.action.ResourcesAction
import com.localee.mireo.shortapp.R
import java.lang.ref.SoftReference
@Suppress("LeakingThis")
@ -49,8 +48,10 @@ open class BaseDialog constructor(
HandlerAction, ClickAction, AnimAction, KeyboardAction, DialogInterface.OnShowListener,
DialogInterface.OnCancelListener, DialogInterface.OnDismissListener {
private val listeners: ListenersWrapper<BaseDialog> = ListenersWrapper(this)
override val lifecycle: LifecycleRegistry = LifecycleRegistry(this)
// override val lifecycle: LifecycleRegistry = LifecycleRegistry(this)
private var showListeners: MutableList<OnShowListener?>? = null
private var cancelListeners: MutableList<OnCancelListener?>? = null
private var dismissListeners: MutableList<OnDismissListener?>? = null
@ -117,6 +118,7 @@ open class BaseDialog constructor(
window?.clearFlags(WindowManager.LayoutParams.FLAG_DIM_BEHIND)
}
}
open fun setBackgroundDimAmount(@FloatRange(from = 0.0, to = 1.0) dimAmount: Float) {
window?.setDimAmount(dimAmount)
}
@ -226,7 +228,7 @@ open class BaseDialog constructor(
* [DialogInterface.OnShowListener]
*/
override fun onShow(dialog: DialogInterface?) {
lifecycle.handleLifecycleEvent(Lifecycle.Event.ON_RESUME)
// lifecycle.handleLifecycleEvent(Lifecycle.Event.ON_RESUME)
showListeners?.let {
for (i in it.indices) {
it[i]?.onShow(this)
@ -249,7 +251,7 @@ open class BaseDialog constructor(
* [DialogInterface.OnDismissListener]
*/
override fun onDismiss(dialog: DialogInterface?) {
lifecycle.handleLifecycleEvent(Lifecycle.Event.ON_DESTROY)
// lifecycle.handleLifecycleEvent(Lifecycle.Event.ON_DESTROY)
dismissListeners?.let {
for (i in it.indices) {
it[i]?.onDismiss(this)
@ -259,17 +261,17 @@ open class BaseDialog constructor(
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
lifecycle.handleLifecycleEvent(Lifecycle.Event.ON_CREATE)
// lifecycle.handleLifecycleEvent(Lifecycle.Event.ON_CREATE)
}
override fun onStart() {
super.onStart()
lifecycle.handleLifecycleEvent(Lifecycle.Event.ON_START)
// lifecycle.handleLifecycleEvent(Lifecycle.Event.ON_START)
}
override fun onStop() {
super.onStop()
lifecycle.handleLifecycleEvent(Lifecycle.Event.ON_STOP)
// lifecycle.handleLifecycleEvent(Lifecycle.Event.ON_STOP)
}
@Suppress("UNCHECKED_CAST")

View File

@ -1,4 +1,4 @@
package com.hjq.base
package com.localee.mireo.app.base
import android.app.Activity
import android.app.Application
@ -12,11 +12,11 @@ import android.view.ViewGroup
import androidx.annotation.IdRes
import androidx.fragment.app.Fragment
import androidx.lifecycle.Lifecycle
import com.hjq.base.BaseActivity.OnActivityCallback
import com.hjq.base.action.BundleAction
import com.hjq.base.action.ClickAction
import com.hjq.base.action.HandlerAction
import com.hjq.base.action.KeyboardAction
import com.localee.mireo.app.base.BaseActivity.OnActivityCallback
import com.localee.mireo.app.base.action.BundleAction
import com.localee.mireo.app.base.action.ClickAction
import com.localee.mireo.app.base.action.HandlerAction
import com.localee.mireo.app.base.action.KeyboardAction
abstract class BaseFragment<A : BaseActivity> : Fragment(),
HandlerAction, ClickAction, BundleAction, KeyboardAction {

View File

@ -1,4 +1,4 @@
package com.hjq.base
package com.localee.mireo.app.base
import android.view.ViewGroup
import androidx.fragment.app.Fragment

View File

@ -1,4 +1,4 @@
package com.hjq.base.action
package com.localee.mireo.app.base.action
import android.app.Activity
import android.content.Context

View File

@ -1,6 +1,7 @@
package com.hjq.base.action
package com.localee.mireo.app.base.action
import com.localee.mireo.shortapp.R
import com.hjq.base.R
interface AnimAction {

View File

@ -1,4 +1,4 @@
package com.hjq.base.action
package com.localee.mireo.app.base.action
import android.os.Bundle
import android.os.Parcelable

View File

@ -1,4 +1,4 @@
package com.hjq.base.action
package com.localee.mireo.app.base.action
import android.view.View
import androidx.annotation.IdRes

View File

@ -1,4 +1,4 @@
package com.hjq.base.action
package com.localee.mireo.app.base.action
import android.os.Handler
import android.os.Looper

View File

@ -1,4 +1,4 @@
package com.hjq.base.action
package com.localee.mireo.app.base.action
import android.content.Context
import android.view.View

View File

@ -1,4 +1,4 @@
package com.hjq.base.action
package com.localee.mireo.app.base.action
import android.content.Context
import android.content.res.Resources

View File

@ -0,0 +1,14 @@
package com.localee.mireo.app.http.api
import com.hjq.http.config.IRequestApi
class ActionPushApi : IRequestApi {
override fun getApi(): String {
return "action/push"
}
var action: String? = null
}

View File

@ -0,0 +1,11 @@
package com.localee.mireo.app.http.api
import com.hjq.http.config.IRequestApi
class ActiveAfterWatchingVideoApi : IRequestApi {
override fun getApi(): String {
return "activeAfterWatchingVideo"
}
}

View File

@ -0,0 +1,15 @@
package com.localee.mireo.app.http.api
import com.hjq.http.config.IRequestApi
class CreateOrderApi : IRequestApi {
override fun getApi(): String {
return "createOrder"
}
data class Bean(
val order_code: String
)
}

View File

@ -0,0 +1,40 @@
package com.localee.mireo.app.http.api
import com.hjq.http.config.IRequestApi
class CustomerBuyRecordsApi : IRequestApi {
override fun getApi(): String {
return "getCustomerBuyRecords"
}
var current_page: Int? = null
var page_size: Int? = null
class Bean (
val list: List<Data>,
val pagination: Pagination
) {
data class Data(
val short_play_id: Int,
val coins: String,
var short_play_video_id: Int,
val coin_type: Int,
val created_at: String,
val episode: Int,
val image_url: String,
var name: String,
)
data class Pagination(
val current_page: Int,
val page_size: Int,
val page_total: Int,
val total_size: Int
)
}
}

View File

@ -0,0 +1,37 @@
package com.localee.mireo.app.http.api
import com.hjq.http.config.IRequestApi
class CustomerOrderApi : IRequestApi {
override fun getApi(): String {
return "getCustomerOrder"
}
var buy_type: String? = null
var current_page: Int? = null
var page_size: Int? = null
class Bean (
val list: List<Data>,
val pagination: Pagination
) {
data class Data(
val created_at: String,
var type: String,
var value: String
)
data class Pagination(
val current_page: Int,
val page_size: Int,
val page_total: Int,
val total_size: Int
)
}
}

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