diff --git a/.idea/gradle.xml b/.idea/gradle.xml
index f4de0ba..80a450f 100644
--- a/.idea/gradle.xml
+++ b/.idea/gradle.xml
@@ -10,6 +10,7 @@
+
+
+
+
+
\ No newline at end of file
diff --git a/BaseAndroidKt/.gitignore b/BaseAndroidKt/.gitignore
new file mode 100644
index 0000000..42afabf
--- /dev/null
+++ b/BaseAndroidKt/.gitignore
@@ -0,0 +1 @@
+/build
\ No newline at end of file
diff --git a/BaseAndroidKt/build.gradle b/BaseAndroidKt/build.gradle
new file mode 100644
index 0000000..56e6f85
--- /dev/null
+++ b/BaseAndroidKt/build.gradle
@@ -0,0 +1,84 @@
+plugins {
+ id 'com.android.library'
+ id 'kotlin-android'
+ id 'kotlin-kapt'
+ id 'com.github.dcendents.android-maven'
+}
+group='com.github.sujianchuan888'
+
+kapt {
+ generateStubs = true
+}
+
+android {
+ compileSdkVersion 30
+ buildToolsVersion "30.0.3"
+
+ defaultConfig {
+ minSdkVersion 16
+ targetSdkVersion 30
+ versionCode 1
+ versionName "1.0"
+
+ multiDexEnabled true
+ testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
+ consumerProguardFiles "consumer-rules.pro"
+
+ javaCompileOptions {
+
+ annotationProcessorOptions {
+
+ arguments = [moduleName: project.getName()]
+
+ }
+ }
+
+ }
+
+ buildTypes {
+ release {
+ minifyEnabled false
+ proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
+ }
+ }
+ compileOptions {
+ sourceCompatibility JavaVersion.VERSION_1_8
+ targetCompatibility JavaVersion.VERSION_1_8
+ }
+ kotlinOptions {
+ jvmTarget = '1.8'
+ }
+
+ dataBinding {
+ enabled = true
+ }
+}
+
+dependencies {
+
+ implementation "org.jetbrains.kotlin:kotlin-stdlib:$kotlin_version"
+ implementation 'androidx.core:core-ktx:1.2.0'
+ implementation 'androidx.appcompat:appcompat:1.1.0'
+ implementation 'com.google.android.material:material:1.1.0'
+ testImplementation 'junit:junit:4.+'
+ androidTestImplementation 'androidx.test.ext:junit:1.1.1'
+ androidTestImplementation 'androidx.test.espresso:espresso-core:3.2.0'
+
+
+ implementation 'com.github.goldze:MVVMHabit:3.1.6'
+ implementation 'com.android.support:multidex:1.0.3'
+ implementation 'androidx.navigation:navigation-fragment:2.3.0'
+ implementation 'androidx.navigation:navigation-ui:2.3.0'
+
+ /*下拉刷新上拉加载*/
+ api 'com.scwang.smartrefresh:SmartRefreshLayout:1.1.0-alpha-20'
+ //ARouter
+ compile'com.alibaba:arouter-api:1.3.1'
+ annotationProcessor'com.alibaba:arouter-compiler:1.1.4'
+
+ kapt 'com.android.databinding:compiler:3.2.1'
+
+ apply plugin: 'com.github.dcendents.android-maven'
+ group = 'com.github.sujianchuan888'
+ //ceshi
+}
\ No newline at end of file
diff --git a/BaseAndroidKt/consumer-rules.pro b/BaseAndroidKt/consumer-rules.pro
new file mode 100644
index 0000000..e69de29
diff --git a/BaseAndroidKt/proguard-rules.pro b/BaseAndroidKt/proguard-rules.pro
new file mode 100644
index 0000000..481bb43
--- /dev/null
+++ b/BaseAndroidKt/proguard-rules.pro
@@ -0,0 +1,21 @@
+# Add project specific ProGuard rules here.
+# You can control the set of applied configuration files using the
+# proguardFiles setting in build.gradle.
+#
+# For more details, see
+# http://developer.android.com/guide/developing/tools/proguard.html
+
+# If your project uses WebView with JS, uncomment the following
+# and specify the fully qualified class name to the JavaScript interface
+# class:
+#-keepclassmembers class fqcn.of.javascript.interface.for.webview {
+# public *;
+#}
+
+# Uncomment this to preserve the line number information for
+# debugging stack traces.
+#-keepattributes SourceFile,LineNumberTable
+
+# If you keep the line number information, uncomment this to
+# hide the original source file name.
+#-renamesourcefileattribute SourceFile
\ No newline at end of file
diff --git a/BaseAndroidKt/src/androidTest/java/com/sjc/baseAndroid/ExampleInstrumentedTest.kt b/BaseAndroidKt/src/androidTest/java/com/sjc/baseAndroid/ExampleInstrumentedTest.kt
new file mode 100644
index 0000000..0ae35d5
--- /dev/null
+++ b/BaseAndroidKt/src/androidTest/java/com/sjc/baseAndroid/ExampleInstrumentedTest.kt
@@ -0,0 +1,24 @@
+package com.sjc.baseAndroid
+
+import androidx.test.platform.app.InstrumentationRegistry
+import androidx.test.ext.junit.runners.AndroidJUnit4
+
+import org.junit.Test
+import org.junit.runner.RunWith
+
+import org.junit.Assert.*
+
+/**
+ * Instrumented test, which will execute on an Android device.
+ *
+ * See [testing documentation](http://d.android.com/tools/testing).
+ */
+@RunWith(AndroidJUnit4::class)
+class ExampleInstrumentedTest {
+ @Test
+ fun useAppContext() {
+ // Context of the app under test.
+ val appContext = InstrumentationRegistry.getInstrumentation().targetContext
+ assertEquals("com.sjc.baseAndroid.test", appContext.packageName)
+ }
+}
\ No newline at end of file
diff --git a/BaseAndroidKt/src/main/AndroidManifest.xml b/BaseAndroidKt/src/main/AndroidManifest.xml
new file mode 100644
index 0000000..4d93b89
--- /dev/null
+++ b/BaseAndroidKt/src/main/AndroidManifest.xml
@@ -0,0 +1,5 @@
+
+
+
+
\ No newline at end of file
diff --git a/BaseAndroidKt/src/main/assets/fonts/bold.TTF b/BaseAndroidKt/src/main/assets/fonts/bold.TTF
new file mode 100644
index 0000000..accaf1f
Binary files /dev/null and b/BaseAndroidKt/src/main/assets/fonts/bold.TTF differ
diff --git a/BaseAndroidKt/src/main/assets/fonts/extralight.TTF b/BaseAndroidKt/src/main/assets/fonts/extralight.TTF
new file mode 100644
index 0000000..d9b574b
Binary files /dev/null and b/BaseAndroidKt/src/main/assets/fonts/extralight.TTF differ
diff --git a/BaseAndroidKt/src/main/assets/fonts/heavy.TTF b/BaseAndroidKt/src/main/assets/fonts/heavy.TTF
new file mode 100644
index 0000000..f4cf788
Binary files /dev/null and b/BaseAndroidKt/src/main/assets/fonts/heavy.TTF differ
diff --git a/BaseAndroidKt/src/main/assets/fonts/light.TTF b/BaseAndroidKt/src/main/assets/fonts/light.TTF
new file mode 100644
index 0000000..a513705
Binary files /dev/null and b/BaseAndroidKt/src/main/assets/fonts/light.TTF differ
diff --git a/BaseAndroidKt/src/main/assets/fonts/medium.TTF b/BaseAndroidKt/src/main/assets/fonts/medium.TTF
new file mode 100644
index 0000000..982661b
Binary files /dev/null and b/BaseAndroidKt/src/main/assets/fonts/medium.TTF differ
diff --git a/BaseAndroidKt/src/main/assets/fonts/regular.TTF b/BaseAndroidKt/src/main/assets/fonts/regular.TTF
new file mode 100644
index 0000000..8790adb
Binary files /dev/null and b/BaseAndroidKt/src/main/assets/fonts/regular.TTF differ
diff --git a/BaseAndroidKt/src/main/java/com/sjc/baseAndroid/KtBaseApplication.kt b/BaseAndroidKt/src/main/java/com/sjc/baseAndroid/KtBaseApplication.kt
new file mode 100644
index 0000000..4e61d36
--- /dev/null
+++ b/BaseAndroidKt/src/main/java/com/sjc/baseAndroid/KtBaseApplication.kt
@@ -0,0 +1,69 @@
+package com.sjc.baseAndroid
+
+import android.app.Application
+import android.content.Context
+import android.util.Log
+import androidx.multidex.MultiDex
+import com.sjc.baseAndroid.login.LoginActivity
+import me.goldze.mvvmhabit.BuildConfig
+import me.goldze.mvvmhabit.base.BaseApplication
+import me.goldze.mvvmhabit.crash.CaocConfig
+import me.goldze.mvvmhabit.utils.KLog
+
+/**
+ * Created by goldze on 2017/7/16.
+ */
+open class KtBaseApplication : BaseApplication() {
+
+ private var appContext: Context? = null
+ private var application: KtBaseApplication? = null
+
+ override fun onCreate() {
+ super.onCreate()
+ // 解决方法大于65535问题
+ MultiDex.install(this)
+ //是否开启打印日志
+ KLog.init(BuildConfig.DEBUG)
+ //初始化全局异常崩溃
+ initCrash()
+
+ appContext = applicationContext
+ application = this
+ Log.d("KtBaseApplication"," 初始化")
+
+
+ }
+
+ private fun initCrash() {
+ CaocConfig.Builder.create()
+ .backgroundMode(CaocConfig.BACKGROUND_MODE_SILENT) //背景模式,开启沉浸式
+ .enabled(true) //是否启动全局异常捕获
+ .showErrorDetails(true) //是否显示错误详细信息
+ .showRestartButton(true) //是否显示重启按钮
+ .trackActivities(true) //是否跟踪Activity
+ .minTimeBetweenCrashesMs(2000) //崩溃的间隔时间(毫秒)
+ .errorDrawable(R.mipmap.ic_launcher) //错误图标
+ .restartActivity(LoginActivity::class.java) //重新启动后的activity
+ // .errorActivity(YourCustomErrorActivity.class) //崩溃后的错误activity
+ // .eventListener(new YourCustomEventListener()) //崩溃后的错误监听
+ .apply()
+ }
+
+ /**
+ * 获得上下文对象
+ *
+ * @return
+ */
+ fun getAppContext(): Context? {
+ return appContext
+ }
+ /**
+ * 获得上下文对象
+ *
+ * @return
+ */
+ fun getApplication(): Application? {
+ return application
+ }
+
+}
\ No newline at end of file
diff --git a/BaseAndroidKt/src/main/java/com/sjc/baseAndroid/base/AppViewModelFactory.kt b/BaseAndroidKt/src/main/java/com/sjc/baseAndroid/base/AppViewModelFactory.kt
new file mode 100644
index 0000000..eb4f016
--- /dev/null
+++ b/BaseAndroidKt/src/main/java/com/sjc/baseAndroid/base/AppViewModelFactory.kt
@@ -0,0 +1,46 @@
+package com.sjc.baseAndroid.base
+
+import android.annotation.SuppressLint
+import android.app.Application
+import androidx.annotation.VisibleForTesting
+import androidx.lifecycle.ViewModel
+import androidx.lifecycle.ViewModelProvider
+import com.example.myapplication.http.AppRepository
+import com.sjc.baseAndroid.base.Injection.provideDemoRepository
+import com.sjc.baseAndroid.login.LoginViewModel
+
+/**
+ * Created by goldze on 2019/3/26.
+ */
+class AppViewModelFactory private constructor(
+ private val mApplication: Application,
+ private val mRepository: AppRepository?
+) : ViewModelProvider.NewInstanceFactory() {
+ override fun create(modelClass: Class): T {
+ if (modelClass.isAssignableFrom(LoginViewModel::class.java)) {
+ return LoginViewModel(mApplication, mRepository) as T
+ }
+ throw IllegalArgumentException("Unknown ViewModel class: " + modelClass.name)
+ }
+
+ companion object {
+ @SuppressLint("StaticFieldLeak")
+ @Volatile
+ private var INSTANCE: AppViewModelFactory? = null
+ fun getInstance(application: Application): AppViewModelFactory? {
+ if (INSTANCE == null) {
+ synchronized(AppViewModelFactory::class.java) {
+ if (INSTANCE == null) {
+ INSTANCE = AppViewModelFactory(application, provideDemoRepository())
+ }
+ }
+ }
+ return INSTANCE
+ }
+
+ @VisibleForTesting
+ fun destroyInstance() {
+ INSTANCE = null
+ }
+ }
+}
\ No newline at end of file
diff --git a/BaseAndroidKt/src/main/java/com/sjc/baseAndroid/base/BaseBean.kt b/BaseAndroidKt/src/main/java/com/sjc/baseAndroid/base/BaseBean.kt
new file mode 100644
index 0000000..e268bc5
--- /dev/null
+++ b/BaseAndroidKt/src/main/java/com/sjc/baseAndroid/base/BaseBean.kt
@@ -0,0 +1,13 @@
+package com.sjc.baseAndroid.base
+
+import com.google.gson.annotations.SerializedName
+
+ class BaseBean {
+ public val code = 0
+
+ public val msg: String? = null
+
+ public val time: String? = null
+
+ public val data: T? = null
+}
\ No newline at end of file
diff --git a/BaseAndroidKt/src/main/java/com/sjc/baseAndroid/base/Injection.kt b/BaseAndroidKt/src/main/java/com/sjc/baseAndroid/base/Injection.kt
new file mode 100644
index 0000000..82d4274
--- /dev/null
+++ b/BaseAndroidKt/src/main/java/com/sjc/baseAndroid/base/Injection.kt
@@ -0,0 +1,26 @@
+package com.sjc.baseAndroid.base
+
+import com.example.myapplication.http.AppRepository
+import com.example.myapplication.http.AppRepository.Companion.getInstance
+import com.example.myapplication.http.RetrofitClient
+import com.example.myapplication.http.service.HttpApiService
+import com.example.myapplication.http.source.HttpDataSource
+import com.example.myapplication.http.source.HttpDataSourceImpl.Companion.getInstance
+
+/**
+ * 注入全局的数据仓库,可以考虑使用Dagger2。(根据项目实际情况搭建,千万不要为了架构而架构)
+ * Created by goldze on 2019/3/26.
+ */
+object Injection {
+ @JvmStatic
+ fun provideDemoRepository(): AppRepository? {
+ //网络API服务
+ val apiService = RetrofitClient.retrofitClient.create(
+ HttpApiService::class.java
+ )
+ //网络数据源
+ val httpDataSource: HttpDataSource? = getInstance(apiService)
+ //两条分支组成一个数据仓库
+ return getInstance(httpDataSource!!)
+ }
+}
\ No newline at end of file
diff --git a/BaseAndroidKt/src/main/java/com/sjc/baseAndroid/base/KtBaseViewModel.kt b/BaseAndroidKt/src/main/java/com/sjc/baseAndroid/base/KtBaseViewModel.kt
new file mode 100644
index 0000000..c346a47
--- /dev/null
+++ b/BaseAndroidKt/src/main/java/com/sjc/baseAndroid/base/KtBaseViewModel.kt
@@ -0,0 +1,30 @@
+package com.sjc.baseAndroid.base
+
+import android.app.Application
+import android.content.Context
+import com.example.myapplication.http.AppRepository
+import com.sjc.baseAndroid.dialog.BaseLoadingDialog
+import me.goldze.mvvmhabit.base.BaseViewModel
+
+
+open class KtBaseViewModel(application: Application, model: AppRepository?) :
+ BaseViewModel(
+ application,
+ model!!
+ ) {
+
+ var mcontext: Context? = null
+ /**
+ * 显示加载对话框
+ * 系统返回和外部都取消
+ * @param msg
+ */
+
+ fun showLoading(msg: String?) {
+ BaseLoadingDialog.show(mcontext!!, msg!!, true, true)
+ }
+ fun hideLoading() {
+ BaseLoadingDialog.dismiss(mcontext)
+ }
+
+}
\ No newline at end of file
diff --git a/BaseAndroidKt/src/main/java/com/sjc/baseAndroid/base/NaviMainActivity.kt b/BaseAndroidKt/src/main/java/com/sjc/baseAndroid/base/NaviMainActivity.kt
new file mode 100644
index 0000000..6f0ba71
--- /dev/null
+++ b/BaseAndroidKt/src/main/java/com/sjc/baseAndroid/base/NaviMainActivity.kt
@@ -0,0 +1,27 @@
+package com.sjc.baseAndroid.base
+
+import android.os.Bundle
+import android.os.PersistableBundle
+import androidx.appcompat.app.AppCompatActivity
+import androidx.navigation.NavController
+import androidx.navigation.Navigation
+import androidx.navigation.ui.NavigationUI
+import com.google.android.material.bottomnavigation.BottomNavigationView
+import com.sjc.baseAndroid.R
+
+class NaviMainActivity :AppCompatActivity() {
+
+
+ override fun onCreate(savedInstanceState: Bundle?) {
+ super.onCreate(savedInstanceState)
+ setContentView(R.layout.activity_main)
+ val navView = findViewById(R.id.nav_view)
+ navView.itemIconTintList = null
+ val navController: NavController =
+ Navigation.findNavController(this, R.id.nav_host_fragment)
+ NavigationUI.setupWithNavController(navView, navController)
+// if (intent.getIntExtra("type", 0) == 0) {
+// navView.selectedItemId = R.id.navigation_mine
+// }
+ }
+}
\ No newline at end of file
diff --git a/BaseAndroidKt/src/main/java/com/sjc/baseAndroid/base/ProActivity.kt b/BaseAndroidKt/src/main/java/com/sjc/baseAndroid/base/ProActivity.kt
new file mode 100644
index 0000000..c403729
--- /dev/null
+++ b/BaseAndroidKt/src/main/java/com/sjc/baseAndroid/base/ProActivity.kt
@@ -0,0 +1,705 @@
+package com.sjc.baseAndroid.base;
+
+import android.Manifest
+import android.annotation.SuppressLint
+import android.app.AlertDialog
+import android.app.Dialog
+import android.content.Context
+import android.content.Intent
+import android.content.pm.PackageManager
+import android.graphics.Color
+import android.net.Uri
+import android.os.*
+import android.util.Log
+import android.view.*
+import android.view.inputmethod.InputMethodManager
+import android.widget.*
+import androidx.appcompat.app.AppCompatActivity
+import androidx.appcompat.widget.Toolbar
+import androidx.core.app.ActivityCompat
+import androidx.databinding.ViewDataBinding
+import androidx.swiperefreshlayout.widget.SwipeRefreshLayout
+import com.google.gson.Gson
+import com.scwang.smartrefresh.layout.SmartRefreshLayout
+import com.scwang.smartrefresh.layout.listener.OnLoadMoreListener
+import com.scwang.smartrefresh.layout.listener.OnRefreshListener
+import com.sjc.baseAndroid.KtBaseApplication
+import com.sjc.baseAndroid.R
+import com.sjc.baseAndroid.dialog.BaseContentDialog
+import com.sjc.baseAndroid.dialog.BaseLoadingDialog
+import com.sjc.baseAndroid.utils.CustomToast
+import com.sjc.baseAndroid.utils.Share
+import com.sjc.baseAndroid.utils.Share.Companion.clearUidOrToken
+import me.goldze.mvvmhabit.base.*
+import org.json.JSONObject
+import java.lang.ref.WeakReference
+import java.text.DecimalFormat
+import java.text.SimpleDateFormat
+import java.util.*
+
+open abstract class ProActivity : BaseActivity(), IBaseView {
+ public var contentDialog: BaseContentDialog? = null
+ protected var mContext: Context? = null
+ var gson: Gson? = null
+
+ private val ERROR = 404
+ private val ERROR_BUG = 405
+ var handler: Handler? = null
+ var token = ""
+
+ //Layout
+ protected var base_layout: View? = null
+
+ //Toolbar
+ protected var toolbar: Toolbar? = null
+
+ //toolbar back
+ protected var backLayout: LinearLayout? = null
+ protected var iv_back: ImageView? = null
+ protected var tv_back: TextView? = null
+
+ //toolbar right
+ protected var toolbarRight: RelativeLayout? = null
+ protected var toolbarRightText: TextView? = null
+ protected var toolbarRightImg: ImageView? = null
+
+ //toolbar title
+ protected var toolbarTitle: TextView? = null
+
+ //刷新
+ protected var mRefreshLayout: SmartRefreshLayout? = null
+ private var container: FrameLayout? = null
+
+ //emptyLayout
+ private var base_empty_layout: View? = null //空提示
+ private var empty_text: TextView? = null
+
+ //content layout
+ protected var content_layout: View? = null
+
+ override fun onCreate(savedInstanceState: Bundle?) {
+ super.onCreate(savedInstanceState)
+ if (istransparentToolbar()) {
+ setTheme(R.style.transparentTheme)
+ statusLan()
+ setToolBarVisible(false)
+ }
+// getWindow().addFlags(WindowManager.LayoutParams.FLAG_TRANSLUCENT_STATUS);
+ AppManager.getAppManager().addActivity(this)
+// loadingDialog = LoadingDialog(this, "")
+ mContext = this
+ setContentView(initContentView(savedInstanceState))
+
+// requestedOrientation = ActivityInfo.SCREEN_ORIENTATION_PORTRAIT;//强制竖屏
+// this.savedInstanceStateMain = savedInstanceState
+// setStatusBar(R.color.white)
+ token = Share.getToken(this)
+ gson = Gson()
+// handler = ProHandler(this)
+// titleBar = findViewById(R.id.titleBar)
+// if (titleBar != null){
+//// val paint: TextPaint = titleBar!!.titleView.paint
+//// paint.style = Paint.Style.FILL_AND_STROKE
+//// paint.strokeWidth = 2f
+// titleBar!!.onTitleBarListener = this
+// }
+
+ // 初始化ui
+ initView()
+ // 初始化数据
+ initData()
+ // 添加监听器
+ initListener()
+ }
+
+ /**
+ * @功能描述:是否使用透明通知栏(默认返回false不使用)
+ */
+ protected open fun istransparentToolbar(): Boolean {
+ return true
+ }
+
+ /**
+ * @功能描述:沉侵式通知栏
+ */
+ open fun statusLan() {
+ if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {
+ val decorView = window.decorView
+ val option = View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN or View.SYSTEM_UI_FLAG_LAYOUT_STABLE
+ decorView.systemUiVisibility = option
+ window.statusBarColor = Color.TRANSPARENT
+ //4.4到5.0
+ } else if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKAT) {
+ val localLayoutParams =
+ window.attributes
+ localLayoutParams.flags =
+ WindowManager.LayoutParams.FLAG_TRANSLUCENT_STATUS or localLayoutParams.flags
+ }
+ //android6.0以后可以对状态栏文字颜色和图标进行修改
+ if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) {
+ window.decorView.systemUiVisibility = (View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN
+ or View.SYSTEM_UI_FLAG_LIGHT_STATUS_BAR)
+ }
+ if (supportActionBar != null) {
+ supportActionBar!!.hide()
+ }
+ }
+
+ /**
+ * @功能描述:是否显示Toolbar
+ */
+ open fun setToolBarVisible(isVisible: Boolean) {
+ if (this.toolbar != null) {
+ if (isVisible) {
+ toolbar!!.setVisibility(View.VISIBLE)
+ } else {
+ toolbar!!.setVisibility(View.GONE)
+ }
+ }
+ }
+
+ override fun setContentView(layoutResID: Int) {
+ base_layout = LayoutInflater.from(this).inflate(R.layout.base_act_layout, null)
+
+ toolbar = base_layout!!.findViewById(R.id.toolbar)
+ toolbar!!.setBackgroundColor(Color.parseColor("#ffffff"))
+ //back
+ backLayout = base_layout!!.findViewById(R.id.toolbar_back)
+ iv_back = base_layout!!.findViewById(R.id.iv_back)
+ iv_back!!.setImageResource(R.mipmap.back)
+ tv_back = base_layout!!.findViewById(R.id.tv_back)
+ tv_back!!.setVisibility(View.GONE)
+ //right
+ toolbarRight = base_layout!!.findViewById(R.id.right_layout)
+ toolbarRightImg = base_layout!!.findViewById(R.id.toolbar_right_img)
+ toolbarRightImg!!.setVisibility(View.GONE)
+ toolbarRightText = base_layout!!.findViewById(R.id.toolbar_right_text)
+ toolbarRightText!!.setVisibility(View.GONE)
+ //title
+ toolbarTitle = base_layout!!.findViewById(R.id.toolbar_title)
+ toolbarTitle!!.setTextColor(Color.parseColor("#333333"))
+ //empty
+ base_empty_layout = base_layout!!.findViewById(R.id.empty_layout)
+ base_empty_layout!!.setVisibility(View.GONE)
+ empty_text = base_layout!!.findViewById(R.id.base_empty_text)
+ empty_text!!.setText("无数据~_~")
+ //content
+ initRefreshLayout()
+ container = base_layout!!.findViewById(R.id.container)
+ content_layout = LayoutInflater.from(this).inflate(layoutResID, null)
+ content_layout!!.setVisibility(View.VISIBLE)
+
+ container!!.addView(content_layout, FrameLayout.LayoutParams(
+ ViewGroup.LayoutParams.MATCH_PARENT, ViewGroup.LayoutParams.MATCH_PARENT))
+ backLayout!!.setOnClickListener(View.OnClickListener { finish() })
+ iv_back!!.setOnClickListener(View.OnClickListener { finish() })
+
+ setContentView(base_layout)
+ }
+
+ /* 刷新 */
+ private fun initRefreshLayout() {
+ mRefreshLayout = base_layout!!.findViewById(R.id.refreshLayout)
+ mRefreshLayout!!.setDisableContentWhenRefresh(true) //是否在刷新时禁止一切手势
+ mRefreshLayout!!.setEnableOverScrollBounce(true) //是否启用越界回弹
+ mRefreshLayout!!.setEnableRefresh(false) //是否下拉刷新
+ mRefreshLayout!!.setEnableLoadMore(false) //是否加载更多
+ mRefreshLayout!!.setEnableAutoLoadMore(false)
+ }
+
+ /**
+ * @author cx
+ * @time 2018/5/8 0008 下午 2:26
+ * @功能描述:隐藏toolbar
+ */
+
+ public fun hideToolbar() {
+ this.toolbar!!.setVisibility(View.GONE);
+ }
+
+ /**
+ * 设置toolBar背景颜色
+ *
+ * @param color
+ */
+ public fun setToolBarColor(color: Int) {
+ if (this.toolbar != null) {
+ this.toolbar!!.setBackgroundColor(color);
+ }
+ }
+
+ /**
+ * 设置toolBar背景图片
+ *
+ * @param res
+ */
+ public fun setToolBarRes(res: Int) {
+ if (this.toolbar != null) {
+ this.toolbar!!.setBackgroundResource(res);
+ }
+ }
+
+ /**
+ * 设置是否显示返回
+ *
+ * @param isVisible
+ */
+ public fun setBackBtnVisible(isVisible: Boolean) {
+ if (this.backLayout != null) {
+ if (isVisible) {
+ this.backLayout!!.setVisibility(View.VISIBLE);
+ } else {
+ this.backLayout!!.setVisibility(View.GONE);
+ }
+ }
+ }
+
+ /**
+ * 获取返回Layout
+ *
+ * @return
+ */
+ public fun getToolbarBack(): LinearLayout? {
+ return this.backLayout;
+ }
+
+ /**
+ * 设置文字返回
+ *
+ * @param s
+ */
+ public fun setBackText(s: String) {
+ if (this.tv_back != null) {
+ this.tv_back!!.setText(s);
+ this.tv_back!!.setVisibility(View.VISIBLE);
+ }
+ }
+
+ /**
+ * 设置图片返回
+ *
+ * @param resId
+ */
+ public fun setBackBtnDrawable(resId: Int) {
+ if (this.iv_back != null) {
+ this.iv_back!!.setImageResource(resId);
+ this.iv_back!!.setVisibility(View.VISIBLE);
+ }
+ }
+
+ /**
+ * 显示right
+ */
+ public fun showRightView() {
+ this.toolbarRight!!.setVisibility(View.VISIBLE);
+ }
+
+ /**
+ * 隐藏right
+ */
+ public fun hidRightView() {
+ this.toolbarRight!!.setVisibility(View.GONE);
+ }
+
+ /**
+ * 设置right text
+ *
+ * @param s
+ */
+ public fun setRightTextView(s: String) {
+ this.toolbarRightText!!.setVisibility(View.VISIBLE);
+ this.toolbarRightText!!.setText(s);
+ }
+
+ /**
+ * 设置right text
+ *
+ * @param color
+ */
+ public fun setRightTextColor(color: Int) {
+ this.toolbarRightText!!.setTextColor(color);
+ }
+
+ /**
+ * 设置title
+ *
+ * @param title
+ */
+ @Override
+ public fun setToolbarTitle(title: CharSequence) {
+ if (toolbarTitle != null) {
+ toolbarTitle!!.setText(title);
+ }
+ }
+
+ /**
+ * 设置right img
+ *
+ * @return
+ */
+ public fun setRightImagViewDrawable(resId: Int) {
+ this.toolbarRightImg!!.setImageResource(resId);
+ this.toolbarRightImg!!.setVisibility(View.VISIBLE);
+ }
+
+ /**
+ * 隐藏右侧按钮
+ */
+ public fun hideRightImagView() {
+ this.toolbarRightImg!!.setVisibility(View.GONE);
+ }
+
+ /* 设置背景颜色 */
+ public fun setContentBackgroundColor(color: Int) {
+ this.mRefreshLayout!!.setBackgroundColor(color);
+ }
+
+ /* 是否支持下拉刷新 */
+ public fun setEnableRefresh(isEnable: Boolean) {
+ this.mRefreshLayout!!.setEnableRefresh(isEnable);
+ }
+
+ /* 是否支持上拉加载更多 */
+ public fun setEnableLoadMore(isEnable: Boolean) {
+ this.mRefreshLayout!!.setEnableLoadMore(isEnable);
+ }
+
+ /* 是否支持底部自动加载更多 */
+ public fun setEnableAutoLoadMore(isEnable: Boolean) {
+ this.mRefreshLayout!!.setEnableAutoLoadMore(isEnable);
+ }
+
+ /* 下拉刷新回调 */
+ public fun setOnRefreshListener(listener: OnRefreshListener) {
+ this.mRefreshLayout!!.setOnRefreshListener(listener);
+ }
+
+ /* 上拉加载更多回调 */
+ public fun setOnLoadMoreListener(listener: OnLoadMoreListener) {
+ this.mRefreshLayout!!.setOnLoadMoreListener(listener);
+ }
+
+ /* 刷新完成 */
+ public fun finishRefresh() {
+ this.mRefreshLayout!!.finishRefresh();
+ }
+
+ /* 加载完成 */
+ public fun finishLoadMore() {
+ this.mRefreshLayout!!.finishLoadMore();
+ }
+
+ /* 完成加载并标记没有更多数据 */
+ fun finishLoadMoreWithNoMoreData() {
+ this.mRefreshLayout!!.finishLoadMoreWithNoMoreData();
+ }
+
+ /* 恢复没有更多数据的原始状态 */
+ public fun resetNoMoreData() {
+ this.mRefreshLayout!!.resetNoMoreData();
+ }
+
+ //获得独一无二的Psuedo ID
+ open fun getUniquePsuedoID(): String? {
+ var serial: String? = null
+ val m_szDevIDShort =
+ "35" + Build.BOARD.length % 10 + Build.BRAND.length % 10 + Build.CPU_ABI.length % 10 + Build.DEVICE.length % 10 + Build.DISPLAY.length % 10 + Build.HOST.length % 10 + Build.ID.length % 10 + Build.MANUFACTURER.length % 10 + Build.MODEL.length % 10 + Build.PRODUCT.length % 10 + Build.TAGS.length % 10 + Build.TYPE.length % 10 + Build.USER.length % 10 //13 位
+ try {
+ serial = Build::class.java.getField("SERIAL")[null].toString()
+ //API>=9 使用serial号
+ return UUID(m_szDevIDShort.hashCode().toLong(), serial.hashCode().toLong()).toString()
+ } catch (exception: Exception) { //serial需要一个初始化
+ serial = "serial" // 随便一个初始化
+ }
+ //使用硬件信息拼凑出来的15位号码
+ return UUID(m_szDevIDShort.hashCode().toLong(), serial.hashCode().toLong()).toString()
+ }
+
+ fun longToTime(l: Long, type: String): String {
+ val format = SimpleDateFormat(type, Locale.CHINA)
+
+ return format.format(Date(l * 1000))
+
+ }
+
+ val isDebug: Boolean = true
+
+ fun log(message: String) {
+ if (isDebug) {
+ Log.i("toby", message)
+ }
+
+ }
+
+ fun setAlpha(f: Float) {
+ val manager = window.attributes
+ manager.alpha = f
+ window.attributes = manager
+ }
+
+ protected abstract fun initView()
+
+ protected abstract fun initListener()
+
+ protected fun hideIMM() {
+ val imm = getSystemService(Context.INPUT_METHOD_SERVICE) as InputMethodManager
+ imm.hideSoftInputFromWindow(window.decorView.windowToken, 0)
+ }
+
+ override fun onDestroy() {
+ AppManager.getAppManager().finishActivity(this)
+ super.onDestroy()
+ }
+
+ override fun dispatchTouchEvent(ev: MotionEvent): Boolean {
+ if (ev.action == MotionEvent.ACTION_DOWN) {
+ val v = currentFocus
+ hideSoftInput(v, ev)
+
+ return super.dispatchTouchEvent(ev)
+ }
+ // 必不可少,否则所有的组件都不会有TouchEvent了
+ return if (window.superDispatchTouchEvent(ev)) {
+ true
+ } else onTouchEvent(ev)
+ }
+
+ private fun hideSoftInput(v: View?, ev: MotionEvent) {
+ var v = v
+ val imm = getSystemService(Context.INPUT_METHOD_SERVICE) as InputMethodManager
+ if (imm != null && imm.isActive) {
+ if (isShouldHideInput(v, ev)) {
+ if (v == null) {
+ v = window.decorView
+ }
+ imm.hideSoftInputFromWindow(v!!.windowToken, 0)
+ }
+ }
+ }
+
+ /**
+ * 判断是否要隐藏软键盘。
+ * 除了EditText外,点击了其他地方,都要隐藏。
+ *
+ * @param v
+ * @param event
+ * @return
+ */
+ fun isShouldHideInput(v: View?, event: MotionEvent): Boolean {
+ return if (v is EditText) {
+ !isPointInView(v, event.x.toInt(), event.y.toInt())
+ } else true
+ }
+
+ /**
+ * 检查数据存储权限
+ */
+ fun checkPhotoPremission(): Boolean {
+ val code = ActivityCompat.checkSelfPermission(this, android.Manifest.permission.READ_EXTERNAL_STORAGE)
+ return code == PackageManager.PERMISSION_GRANTED
+ }
+
+ /**
+ * 检查照相机权限
+ */
+ fun checkCameraPremission(): Boolean {
+ val code = ActivityCompat.checkSelfPermission(this, android.Manifest.permission.CAMERA)
+ return code == PackageManager.PERMISSION_GRANTED
+ }
+
+ /**
+ * 判断位置(x, y)是否在view的显示范围内
+ *
+ * @param view
+ * @param x
+ * @param y
+ * @return
+ */
+ fun isPointInView(view: View, x: Int, y: Int): Boolean {
+ val location = IntArray(2)
+ // 点击事件获取的坐标为相对于window(如果activity是全屏的,Screen和Window一样)
+ // view.getLocationOnScreen(location);
+ view.getLocationInWindow(location)
+ val left = location[0]
+ val top = location[1]
+ val right = left + view.measuredWidth
+ val bottom = top + view.measuredHeight
+ return (y >= top && y <= bottom
+ && x >= left && x <= right)
+ }
+
+ protected fun openActivity(cls: Class<*>) {
+ startActivity(Intent(this, cls))
+ }
+
+ protected fun openActivity(cls: Class<*>, intentName: String, intentValue: String) {
+ startActivity(Intent(this, cls).putExtra(intentName, intentValue))
+ }
+
+ companion object {
+
+// class ProHandler(proActivity: ProActivity) : Handler(Looper.getMainLooper()) {
+// val weak: WeakReference = WeakReference(proActivity)
+// val a = weak.get()
+// override fun handleMessage(msg: Message) {
+// super.handleMessage(msg)
+// when (msg!!.what) {
+//
+// a!!.ERROR -> {
+//// a.loadingDialog!!.dismiss()
+// a.hideLoading()
+// a.showToastShort("网络连接超时,请检查网络!")
+// }
+//
+// a.ERROR_BUG -> {
+//// a.loadingDialog!!.dismiss()
+// a.hideLoading()
+// a.showToastShort("提交失败,请稍后再试")
+// }
+// else -> {
+// val str = msg.obj as String
+// if (str.contains("code")) {
+// val json = JSONObject(str)
+// val msg1 = json.optString("msg")
+// val code = json.optString("code")
+// if (code == "501") {
+// a.showToastShort(msg1)
+//
+// Share.clearUidOrToken(a)
+// /// 重启app
+//// val intent = Intent(a, CodeActivity::class.java)
+//// a.startActivity(intent)
+//// AppManager.getAppManager().finishAllActivity()
+// }
+// if (msg1 == "用户被禁用或已删除" || msg1 == "缺少参数token") {
+// a.showToastShort(msg1)
+//
+// Share.clearUidOrToken(a)
+// /// 重启app
+//// val intent = Intent(a, CodeActivity::class.java)
+//// a.startActivity(intent)
+//// AppManager.getAppManager().finishAllActivity()
+// } else {
+// a.handler(msg)
+// }
+// } else {
+// a.handler(msg)
+// }
+//
+// }
+// }
+// }
+// }
+ }
+
+ fun showToastShort(s: String) {
+
+ CustomToast.showToast(this, Gravity.CENTER, 0, s)
+
+ }
+
+
+
+ private var dialog_tips: Dialog? = null
+
+ /**
+ */
+ private fun showContentDialog( title: String, content: String, click: View.OnClickListener) {
+ if (contentDialog == null) {
+
+ contentDialog =
+ BaseContentDialog("",content, click)
+ }
+ contentDialog!!.show(supportFragmentManager, javaClass.name)
+ }
+ private fun dismissContentDialog(){
+ if (contentDialog !== null && contentDialog!!.isAdded){
+ contentDialog!!.dismiss()
+ }
+
+ }
+
+
+ fun getContext(): Context? {
+ return mContext;
+ }
+
+ /**
+ * 显示加载对话框
+ * 系统返回和外部都取消
+ * @param msg
+ */
+ fun showLoading(msg: String?) {
+ BaseLoadingDialog.show(this, msg, true, true)
+ }
+
+ /**
+ * 显示加载对话框
+ * 系统返回和外部都取消
+ * @param msg
+ */
+ public fun showLoading(msg: String?, isTouchOut: Boolean, isCancel: Boolean) {
+ BaseLoadingDialog.show(this, msg, isTouchOut, isCancel)
+ }
+
+ fun hideLoading() {
+ BaseLoadingDialog.dismiss(this)
+ finishRefresh()
+ finishLoadMore()
+ }
+
+ fun showToast(s: CharSequence?) {
+ showToastShort(s.toString())
+ }
+
+ fun showNullLayout() {
+ base_empty_layout!!.visibility = View.VISIBLE
+ content_layout!!.visibility = View.GONE
+ }
+
+ fun hideNullLayout() {
+ base_empty_layout!!.visibility = View.GONE
+ content_layout!!.visibility = View.VISIBLE
+ }
+
+ fun showErrorLayout(listener: View.OnClickListener?) {
+ }
+
+ fun hideErrorLayout() {
+ }
+
+ fun onLoginOut() {
+ clearUidOrToken(mContext!!)
+// val intent = Intent(this, CodeActivity::class.java)
+// this.startActivity(intent)
+ AppManager.getAppManager().finishAllActivity()
+ }
+
+ /* 去登录 */
+ fun goToLogin() {
+// var intent = Intent(this, CodeActivity::class.java)
+// startActivityForResult(intent, 9999)
+ }
+
+ fun getMinUid(): Int {
+ return Share.getUid(KtBaseApplication().getAppContext()!!)
+ }
+
+ /* 隐藏键盘 */
+ fun onHideSoftInput(v: View) {
+ val imm = mContext!!.getSystemService(Context.INPUT_METHOD_SERVICE) as InputMethodManager
+ imm.hideSoftInputFromWindow(v.windowToken, 0)
+ }
+ /**
+ * 保留两位小数
+ * @param s
+ * @return
+ */
+ fun stringToFormat(s: String): String {
+ if (s == null || s.isEmpty()) {
+ return "0.00"
+ }
+ val format = DecimalFormat("#0.00")
+ return format.format(s.toDouble())
+ }
+}
diff --git a/BaseAndroidKt/src/main/java/com/sjc/baseAndroid/dialog/BaseContentDialog.kt b/BaseAndroidKt/src/main/java/com/sjc/baseAndroid/dialog/BaseContentDialog.kt
new file mode 100644
index 0000000..38ab7fd
--- /dev/null
+++ b/BaseAndroidKt/src/main/java/com/sjc/baseAndroid/dialog/BaseContentDialog.kt
@@ -0,0 +1,31 @@
+package com.sjc.baseAndroid.dialog
+
+import android.view.*
+import com.sjc.baseAndroid.R
+import com.sjc.baseAndroid.weight.MediumTextView
+
+/**
+ * 题库提示弹窗
+ */
+class BaseContentDialog(var title:String,content_ :String, click: View.OnClickListener): BaseDialogFragment(click) {
+ var content = content_
+ override fun setContentView(): Int {
+ return R.layout.dialog_base_content
+ }
+
+ override fun initView() {
+ var text_cancel = mView!!.findViewById(R.id.text_cancel)
+ var text_sure = mView!!.findViewById(R.id.text_sure)
+ var text_content = mView!!.findViewById(R.id.text_content)
+ text_content.text = content
+ text_cancel.setOnClickListener {
+ dismiss()
+ }
+ text_sure.setOnClickListener {
+ mClick.onClick(it)
+ }
+
+ }
+
+
+}
\ No newline at end of file
diff --git a/BaseAndroidKt/src/main/java/com/sjc/baseAndroid/dialog/BaseDialogFragment.kt b/BaseAndroidKt/src/main/java/com/sjc/baseAndroid/dialog/BaseDialogFragment.kt
new file mode 100644
index 0000000..ff9aea9
--- /dev/null
+++ b/BaseAndroidKt/src/main/java/com/sjc/baseAndroid/dialog/BaseDialogFragment.kt
@@ -0,0 +1,118 @@
+package com.sjc.baseAndroid.dialog
+
+import android.animation.Animator
+import android.animation.AnimatorSet
+import android.animation.ObjectAnimator
+import android.content.DialogInterface
+import android.graphics.Color
+import android.graphics.drawable.ColorDrawable
+import android.os.Bundle
+import android.view.*
+import android.view.animation.AccelerateInterpolator
+import android.view.animation.DecelerateInterpolator
+import androidx.fragment.app.DialogFragment
+import androidx.fragment.app.FragmentManager
+import com.sjc.baseAndroid.R
+
+/**
+ *
+ */
+abstract class BaseDialogFragment(var mClick: View.OnClickListener) : DialogFragment() {
+ var mView: View? = null
+ var llRoot: View? = null
+ var window: Window? = null
+ var TAG = javaClass.simpleName
+ private var isAnimatorRun = false
+ var isBottomShow = false
+ override fun onCreate(savedInstanceState: Bundle?) {
+ super.onCreate(savedInstanceState)
+ }
+
+ protected abstract fun setContentView(): Int
+ protected abstract fun initView()
+ override fun onCreateView(
+ inflater: LayoutInflater,
+ container: ViewGroup?,
+ savedInstanceState: Bundle?
+ ): View? {
+ mView = inflater.inflate(setContentView(), null)
+ llRoot = mView!!.findViewById(R.id.ll_root)
+ window = dialog!!.window
+ window!!.requestFeature(Window.FEATURE_NO_TITLE)
+ window!!.setGravity(Gravity.CENTER)
+ window!!.setBackgroundDrawable(ColorDrawable(Color.TRANSPARENT))
+ dialog!!.setOnKeyListener(DialogInterface.OnKeyListener { dialog, keyCode, event ->
+ if (keyCode == KeyEvent.KEYCODE_BACK) {
+ when (event.action) {
+ KeyEvent.ACTION_DOWN -> {
+ if (!isAnimatorRun) {
+ startAnimation(0, llRoot!!.getHeight(), true)
+ }
+ return@OnKeyListener true
+ }
+ }
+ }
+ false
+ })
+ initView()
+ if (isBottomShow) {
+ llRoot!!.post(Runnable { startAnimation(llRoot!!.getHeight(), 0, false) })
+ }
+ return mView
+ }
+
+ override fun onStart() {
+ super.onStart()
+ window!!.setLayout(ViewGroup.LayoutParams.WRAP_CONTENT, ViewGroup.LayoutParams.WRAP_CONTENT)
+ }
+
+ override fun show(manager: FragmentManager, tag: String?) {
+ if (manager != null && (dialog == null || !dialog!!.isShowing) && !this.isAdded) { //判断是否已经显示该弹窗
+ try { //此处可try可不try,目前本人使用中没再抛出过异常,但是try下更保险
+ val ft = manager.beginTransaction()
+ ft.add(this, tag)
+ ft.commitAllowingStateLoss()
+ } catch (e: Exception) {
+ e.printStackTrace()
+ }
+ }
+ }
+
+ override fun dismiss() {
+ if (dialog != null && dialog!!.isShowing) { //判断是否已经显示该弹窗
+ dismissAllowingStateLoss()
+ }
+ }
+
+ fun startAnimation(start: Int, end: Int, isClose: Boolean) {
+ val animatorSet = AnimatorSet() //组合动画
+ val scaleX = ObjectAnimator.ofFloat(llRoot, "scaleX", 0f, 1f)
+ val scaleY = ObjectAnimator.ofFloat(llRoot, "scaleY", 0f, 1f)
+ scaleX.duration = 50
+ scaleY.duration = 50
+ animatorSet.duration = 50
+ animatorSet.interpolator = DecelerateInterpolator()
+ animatorSet.play(scaleX).with(scaleY) //两个动画同时开始
+ // animatorSet.start();
+//
+ val anim = ObjectAnimator.ofFloat(llRoot, "translationY", start.toFloat(), end.toFloat())
+ anim.duration = 250
+ anim.interpolator = AccelerateInterpolator()
+ anim.addListener(object : Animator.AnimatorListener {
+ override fun onAnimationStart(animation: Animator) {
+ isAnimatorRun = true
+ }
+
+ override fun onAnimationEnd(animation: Animator) {
+ isAnimatorRun = false
+ if (isClose) {
+ dismiss()
+ }
+ }
+
+ override fun onAnimationCancel(animation: Animator) {}
+ override fun onAnimationRepeat(animation: Animator) {}
+ })
+ anim.start()
+ }
+}
\ No newline at end of file
diff --git a/BaseAndroidKt/src/main/java/com/sjc/baseAndroid/dialog/BaseLoadingDialog.kt b/BaseAndroidKt/src/main/java/com/sjc/baseAndroid/dialog/BaseLoadingDialog.kt
new file mode 100644
index 0000000..8c626b7
--- /dev/null
+++ b/BaseAndroidKt/src/main/java/com/sjc/baseAndroid/dialog/BaseLoadingDialog.kt
@@ -0,0 +1,173 @@
+package com.sjc.baseAndroid.dialog
+
+import android.app.Activity
+import android.app.Dialog
+import android.content.Context
+import android.text.TextUtils
+import android.view.Gravity
+import android.view.KeyEvent
+import android.view.View
+import android.view.WindowManager
+import android.widget.LinearLayout
+import android.widget.TextView
+import com.sjc.baseAndroid.R
+import com.sjc.baseAndroid.utils.CustomToast
+
+class BaseLoadingDialog(ctx: Context?, isTouchOut: Boolean, isCancel: Boolean, tipMsg: String?) :
+ Dialog(
+ ctx!!, R.style.LoadingDialog
+ ) {
+ /**
+ * if the mDialogTextView don't dimiss, what is the tips.
+ */
+ private var tipMsg = ""
+ private var mShowMessage: TextView? = null
+
+ /**
+ * 点击系统返回按钮是否消失
+ */
+ private val isCancel: Boolean
+ override fun onKeyDown(keyCode: Int, event: KeyEvent): Boolean {
+ if (tipMsg.isEmpty()) {
+ tipMsg = "加载中..."
+ }
+ if (keyCode == KeyEvent.KEYCODE_BACK) {
+ if (!isCancel) {
+ CustomToast.showToast(context, Gravity.CENTER, 0, tipMsg)
+ return true
+ }
+ }
+ return super.onKeyDown(keyCode, event)
+ }
+
+ companion object {
+ /**
+ * LoadDialog
+ */
+ private var loadDialog: BaseLoadingDialog? = null
+
+ /**
+ * show the mDialogTextView
+ *
+ * @param context
+ */
+ fun show(context: Context) {
+ showDialog(context, "", true, false)
+ }
+
+ /**
+ * show the mDialogTextView
+ *
+ * @param context Context
+ * @param message String
+ */
+ fun show(context: Context, message: String) {
+ showDialog(context, message, true, false)
+ }
+
+ /**
+ * show the mDialogTextView
+ *
+ * @param context Context
+ * @param isCancel boolean
+ */
+ fun show(context: Context, isTouchOut: Boolean, isCancel: Boolean) {
+ showDialog(context, "", isTouchOut, isCancel)
+ }
+
+ /**
+ * show the mDialogTextView
+ *
+ * @param context Context
+ * @param message String, show the message to user when isCancel is true.
+ * @param isCancel boolean, true is can't dimiss,false is can dimiss
+ */
+ fun show(context: Context, message: String?, isTouchOut: Boolean, isCancel: Boolean) {
+ showDialog(context, message, isTouchOut, isCancel)
+ }
+
+ /**
+ * show the mDialogTextView
+ *
+ * @param context Context
+ * @param message String, show the message to user when isCancel is true.
+ * @param isTouchOut boolean, true is can't dimiss,false is can dimiss
+ */
+ private fun showDialog(
+ context: Context,
+ message: String?,
+ isTouchOut: Boolean,
+ isCancel: Boolean
+ ) {
+ if (context is Activity) {
+ if (context.isFinishing) {
+ return
+ }
+ }
+ if (loadDialog != null && loadDialog!!.isShowing) {
+ return
+ }
+ loadDialog = BaseLoadingDialog(context, isTouchOut, isCancel, message)
+ loadDialog!!.show()
+ }
+
+ /**
+ * dismiss the mDialogTextView
+ */
+ fun dismiss(context: Context?) {
+ try {
+ if (context is Activity) {
+ if (context.isFinishing) {
+ loadDialog = null
+ return
+ }
+ }
+ if (loadDialog != null && loadDialog!!.isShowing) {
+ val loadContext = loadDialog!!.context
+ if (loadContext != null && loadContext is Activity) {
+ if (loadContext.isFinishing) {
+ loadDialog = null
+ return
+ }
+ }
+ loadDialog!!.dismiss()
+ loadDialog = null
+ }
+ } catch (e: Exception) {
+ e.printStackTrace()
+ loadDialog = null
+ }
+ }
+ }
+
+ /**
+ * the LoadDialog constructor
+ *
+ * @param ctx Context
+ * @param isTouchOut boolean : true-->返回不消失,false-->按返回dismiss
+ * @param tipMsg String
+ */
+ init {
+ this.tipMsg = tipMsg!!
+ // this.getContext().setTheme(android.R.style.Theme_InputMethod);
+ setContentView(R.layout.base_loading)
+ if (!TextUtils.isEmpty(this.tipMsg)) {
+ mShowMessage = findViewById(R.id.show_message) as TextView
+ mShowMessage!!.visibility = View.VISIBLE
+ mShowMessage!!.text = this.tipMsg
+ }
+ /* 点击返回按钮是否dismiss */this.isCancel = isCancel
+ /* 点击外部是否dismiss */setCanceledOnTouchOutside(isTouchOut)
+ val window = window
+ val attributesParams = window!!.attributes
+ attributesParams.flags = WindowManager.LayoutParams.FLAG_DIM_BEHIND
+ // attributesParams.dimAmount = 0.5f;
+ attributesParams.dimAmount = 0f //背景透明度
+ window.attributes = attributesParams
+ window.setBackgroundDrawableResource(android.R.color.transparent) // 一句话搞定
+ window.setLayout(
+ LinearLayout.LayoutParams.WRAP_CONTENT,
+ LinearLayout.LayoutParams.WRAP_CONTENT
+ )
+ }
+}
\ No newline at end of file
diff --git a/BaseAndroidKt/src/main/java/com/sjc/baseAndroid/http/AppRepository.kt b/BaseAndroidKt/src/main/java/com/sjc/baseAndroid/http/AppRepository.kt
new file mode 100644
index 0000000..508310a
--- /dev/null
+++ b/BaseAndroidKt/src/main/java/com/sjc/baseAndroid/http/AppRepository.kt
@@ -0,0 +1,50 @@
+package com.example.myapplication.http
+
+import com.example.myapplication.http.source.HttpDataSource
+import okhttp3.RequestBody
+import okhttp3.MultipartBody
+import kotlin.jvm.Volatile
+import com.example.myapplication.http.AppRepository
+import androidx.annotation.VisibleForTesting
+import com.sjc.baseAndroid.base.BaseBean
+import io.reactivex.Observable
+import me.goldze.mvvmhabit.base.BaseModel
+
+/**
+ * MVVM的Model层,统一模块的数据仓库,包含网络数据和本地数据(一个应用可以有多个Repository)
+ */
+class AppRepository private constructor(private val mHttpDataSource: HttpDataSource) : BaseModel(),
+ HttpDataSource {
+ override fun sendCode(json: RequestBody?): Observable?>? {
+ return mHttpDataSource.sendCode(json)
+ }
+
+ override fun login(json: RequestBody?): Observable?>? {
+ return mHttpDataSource.login(json)
+ }
+
+ override fun uploadFile(filePart: MultipartBody.Part?): Observable?>? {
+ return mHttpDataSource.uploadFile(filePart)
+ }
+
+ companion object {
+ @Volatile
+ private var INSTANCE: AppRepository? = null
+ @JvmStatic
+ fun getInstance(httpDataSource: HttpDataSource): AppRepository? {
+ if (INSTANCE == null) {
+ synchronized(AppRepository::class.java) {
+ if (INSTANCE == null) {
+ INSTANCE = AppRepository(httpDataSource)
+ }
+ }
+ }
+ return INSTANCE
+ }
+
+ @VisibleForTesting
+ fun destroyInstance() {
+ INSTANCE = null
+ }
+ }
+}
\ No newline at end of file
diff --git a/BaseAndroidKt/src/main/java/com/sjc/baseAndroid/http/HttpsUtils.kt b/BaseAndroidKt/src/main/java/com/sjc/baseAndroid/http/HttpsUtils.kt
new file mode 100644
index 0000000..1c02ceb
--- /dev/null
+++ b/BaseAndroidKt/src/main/java/com/sjc/baseAndroid/http/HttpsUtils.kt
@@ -0,0 +1,196 @@
+/*
+ * Copyright 2016 jeasonlzy(廖子尧)
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package com.example.myapplication.http
+
+import java.io.IOException
+import java.io.InputStream
+import java.security.KeyManagementException
+import java.security.KeyStore
+import java.security.NoSuchAlgorithmException
+import java.security.cert.CertificateException
+import java.security.cert.CertificateFactory
+import java.security.cert.X509Certificate
+import javax.net.ssl.*
+
+object HttpsUtils {
+ val sslSocketFactory: SSLParams
+ get() = getSslSocketFactoryBase(null, null, null)
+
+ /**
+ * https单向认证
+ * 可以额外配置信任服务端的证书策略,否则默认是按CA证书去验证的,若不是CA可信任的证书,则无法通过验证
+ */
+ fun getSslSocketFactory(trustManager: X509TrustManager?): SSLParams {
+ return getSslSocketFactoryBase(trustManager, null, null)
+ }
+
+ /**
+ * https单向认证
+ * 用含有服务端公钥的证书校验服务端证书
+ */
+ fun getSslSocketFactory(vararg certificates: InputStream?): SSLParams {
+ return getSslSocketFactoryBase(null, null, null, *certificates as Array)
+ }
+
+ /**
+ * https双向认证
+ * bksFile 和 password -> 客户端使用bks证书校验服务端证书
+ * certificates -> 用含有服务端公钥的证书校验服务端证书
+ */
+ fun getSslSocketFactory(
+ bksFile: InputStream?,
+ password: String?,
+ vararg certificates: InputStream?
+ ): SSLParams {
+ return getSslSocketFactoryBase(null, bksFile, password, *certificates as Array)
+ }
+
+ /**
+ * https双向认证
+ * bksFile 和 password -> 客户端使用bks证书校验服务端证书
+ * X509TrustManager -> 如果需要自己校验,那么可以自己实现相关校验,如果不需要自己校验,那么传null即可
+ */
+ fun getSslSocketFactory(
+ bksFile: InputStream?,
+ password: String?,
+ trustManager: X509TrustManager?
+ ): SSLParams {
+ return getSslSocketFactoryBase(trustManager, bksFile, password)
+ }
+
+ private fun getSslSocketFactoryBase(
+ trustManager: X509TrustManager?,
+ bksFile: InputStream?,
+ password: String?,
+ vararg certificates: InputStream
+ ): SSLParams {
+ val sslParams = SSLParams()
+ return try {
+ val keyManagers = prepareKeyManager(bksFile, password)
+ val trustManagers = prepareTrustManager(*certificates)
+ val manager: X509TrustManager?
+ manager = //优先使用用户自定义的TrustManager
+ trustManager
+ ?: if (trustManagers != null) {
+ //然后使用默认的TrustManager
+ chooseTrustManager(trustManagers)
+ } else {
+ //否则使用不安全的TrustManager
+ UnSafeTrustManager
+ }
+ // 创建TLS类型的SSLContext对象, that uses our TrustManager
+ val sslContext = SSLContext.getInstance("TLS")
+ // 用上面得到的trustManagers初始化SSLContext,这样sslContext就会信任keyStore中的证书
+ // 第一个参数是授权的密钥管理器,用来授权验证,比如授权自签名的证书验证。第二个是被授权的证书管理器,用来验证服务器端的证书
+ sslContext.init(keyManagers, arrayOf(manager), null)
+ // 通过sslContext获取SSLSocketFactory对象
+ sslParams.sSLSocketFactory = sslContext.socketFactory
+ sslParams.trustManager = manager
+ sslParams
+ } catch (e: NoSuchAlgorithmException) {
+ throw AssertionError(e)
+ } catch (e: KeyManagementException) {
+ throw AssertionError(e)
+ }
+ }
+
+ private fun prepareKeyManager(bksFile: InputStream?, password: String?): Array? {
+ try {
+ if (bksFile == null || password == null) return null
+ val clientKeyStore = KeyStore.getInstance("BKS")
+ clientKeyStore.load(bksFile, password.toCharArray())
+ val kmf = KeyManagerFactory.getInstance(KeyManagerFactory.getDefaultAlgorithm())
+ kmf.init(clientKeyStore, password.toCharArray())
+ return kmf.keyManagers
+ } catch (e: Exception) {
+ e.printStackTrace()
+ }
+ return null
+ }
+
+ private fun prepareTrustManager(vararg certificates: InputStream): Array? {
+ if (certificates == null || certificates.size <= 0) return null
+ try {
+ val certificateFactory = CertificateFactory.getInstance("X.509")
+ // 创建一个默认类型的KeyStore,存储我们信任的证书
+ val keyStore = KeyStore.getInstance(KeyStore.getDefaultType())
+ keyStore.load(null)
+ var index = 0
+ for (certStream in certificates) {
+ val certificateAlias = Integer.toString(index++)
+ // 证书工厂根据证书文件的流生成证书 cert
+ val cert = certificateFactory.generateCertificate(certStream)
+ // 将 cert 作为可信证书放入到keyStore中
+ keyStore.setCertificateEntry(certificateAlias, cert)
+ try {
+ certStream?.close()
+ } catch (e: IOException) {
+ e.printStackTrace()
+ }
+ }
+ //我们创建一个默认类型的TrustManagerFactory
+ val tmf = TrustManagerFactory.getInstance(TrustManagerFactory.getDefaultAlgorithm())
+ //用我们之前的keyStore实例初始化TrustManagerFactory,这样tmf就会信任keyStore中的证书
+ tmf.init(keyStore)
+ //通过tmf获取TrustManager数组,TrustManager也会信任keyStore中的证书
+ return tmf.trustManagers
+ } catch (e: Exception) {
+ e.printStackTrace()
+ }
+ return null
+ }
+
+ private fun chooseTrustManager(trustManagers: Array): X509TrustManager? {
+ for (trustManager in trustManagers) {
+ if (trustManager is X509TrustManager) {
+ return trustManager
+ }
+ }
+ return null
+ }
+
+ /**
+ * 为了解决客户端不信任服务器数字证书的问题,网络上大部分的解决方案都是让客户端不对证书做任何检查,
+ * 这是一种有很大安全漏洞的办法
+ */
+ var UnSafeTrustManager: X509TrustManager = object : X509TrustManager {
+ @Throws(CertificateException::class)
+ override fun checkClientTrusted(chain: Array, authType: String) {
+ }
+
+ @Throws(CertificateException::class)
+ override fun checkServerTrusted(chain: Array, authType: String) {
+ }
+
+ override fun getAcceptedIssuers(): Array {
+ return arrayOf()
+ }
+ }
+
+ /**
+ * 此类是用于主机名验证的基接口。 在握手期间,如果 URL 的主机名和服务器的标识主机名不匹配,
+ * 则验证机制可以回调此接口的实现程序来确定是否应该允许此连接。策略可以是基于证书的或依赖于其他验证方案。
+ * 当验证 URL 主机名使用的默认规则失败时使用这些回调。如果主机名是可接受的,则返回 true
+ */
+ var UnSafeHostnameVerifier = HostnameVerifier { hostname, session -> true }
+
+ class SSLParams {
+ @JvmField
+ var sSLSocketFactory: SSLSocketFactory? = null
+ @JvmField
+ var trustManager: X509TrustManager? = null
+ }
+}
\ No newline at end of file
diff --git a/BaseAndroidKt/src/main/java/com/sjc/baseAndroid/http/RetrofitClient.kt b/BaseAndroidKt/src/main/java/com/sjc/baseAndroid/http/RetrofitClient.kt
new file mode 100644
index 0000000..ee312f3
--- /dev/null
+++ b/BaseAndroidKt/src/main/java/com/sjc/baseAndroid/http/RetrofitClient.kt
@@ -0,0 +1,146 @@
+package com.example.myapplication.http
+
+import android.text.TextUtils
+import com.example.myapplication.http.HttpsUtils.sslSocketFactory
+import io.reactivex.Observable
+import io.reactivex.Observer
+import io.reactivex.android.schedulers.AndroidSchedulers
+import io.reactivex.schedulers.Schedulers
+import me.goldze.mvvmhabit.http.cookie.CookieJarImpl
+import me.goldze.mvvmhabit.http.cookie.store.PersistentCookieStore
+import me.goldze.mvvmhabit.http.interceptor.BaseInterceptor
+import me.goldze.mvvmhabit.http.interceptor.CacheInterceptor
+import me.goldze.mvvmhabit.http.interceptor.logging.Level
+import me.goldze.mvvmhabit.http.interceptor.logging.LoggingInterceptor
+import me.goldze.mvvmhabit.utils.KLog
+import me.goldze.mvvmhabit.utils.Utils
+import okhttp3.Cache
+import okhttp3.ConnectionPool
+import okhttp3.OkHttpClient
+import okhttp3.internal.platform.Platform
+import retrofit2.Retrofit
+import retrofit2.adapter.rxjava2.RxJava2CallAdapterFactory
+import retrofit2.converter.gson.GsonConverterFactory
+import java.io.File
+import java.util.concurrent.TimeUnit
+
+/**
+ * Created by goldze on 2017/5/10.
+ * RetrofitClient封装单例类, 实现网络请求
+ */
+class RetrofitClient private constructor(
+ url: String = baseUrl,
+ headers: Map? = null
+) {
+ private var cache: Cache? = null
+ private var httpCacheDirectory: File? = null
+
+
+ /**
+ * create you ApiService
+ * Create an implementation of the API endpoints defined by the `service` interface.
+ */
+ fun create(service: Class?): T {
+ if (service == null) {
+ throw RuntimeException("Api service is null!")
+ }
+ return retrofit.create(service)
+ }
+
+ companion object {
+ @JvmField
+ var retrofitClient: RetrofitClient = RetrofitClient()
+
+
+ //超时时间
+ private const val DEFAULT_TIMEOUT = 20
+
+ //缓存时间
+ private const val CACHE_TIMEOUT = 10 * 1024 * 1024
+
+ //服务端根路径
+ // public static String baseUrl = "http://www.egm666.cn";
+ //test url
+ var baseUrl = "http://zhongsu.59156.cn/app/"
+ private val mContext = Utils.getContext()
+ private lateinit var okHttpClient: OkHttpClient
+ private lateinit var retrofit: Retrofit
+
+ /**
+ * / **
+ * execute your customer API
+ * For example:
+ * MyApiService service =
+ * RetrofitClient.getInstance(MainActivity.this).create(MyApiService.class);
+ *
+ *
+ * RetrofitClient.getInstance(MainActivity.this)
+ * .execute(service.lgon("name", "password"), subscriber)
+ * * @param subscriber
+ */
+ fun execute(observable: Observable, subscriber: Observer?): T? {
+ observable.subscribeOn(Schedulers.io())
+ .unsubscribeOn(Schedulers.io())
+ .observeOn(AndroidSchedulers.mainThread())
+ .subscribe(subscriber!!)
+ return null
+ }
+ }
+
+ init {
+ var url: String? = url
+ if (TextUtils.isEmpty(url)) {
+ url = baseUrl
+ }
+ if (httpCacheDirectory == null) {
+ httpCacheDirectory = File(mContext.cacheDir, "goldze_cache")
+ }
+ try {
+ if (cache == null) {
+ cache = Cache(httpCacheDirectory, CACHE_TIMEOUT.toLong())
+ }
+ } catch (e: Exception) {
+ KLog.e("Could not create http cache", e)
+ }
+ val sslParams = sslSocketFactory
+ okHttpClient = OkHttpClient.Builder()
+ .cookieJar(CookieJarImpl(PersistentCookieStore(mContext))) // .cache(cache)
+ .addInterceptor(BaseInterceptor(headers))
+ .addInterceptor(CacheInterceptor(mContext))
+ .sslSocketFactory(sslParams.sSLSocketFactory, sslParams.trustManager)
+ .addInterceptor(
+ LoggingInterceptor.Builder() //构建者模式
+ // .loggable(BuildConfig.DEBUG) //是否开启日志打印
+ .loggable(true) //是否开启日志打印
+ .setLevel(Level.BASIC) //打印的等级
+ .log(Platform.INFO) // 打印类型
+ .request("Request") // request的Tag
+ .response("Response") // Response的Tag
+ .addHeader(
+ "log-header",
+ "I am the log request header."
+ ) // 添加打印头, 注意 key 和 value 都不能是中文
+ .addHeader(
+ "token",
+ "51570d39-cc01-4fbe-92ee-192907d4340a"
+ ) // 添加打印头, 注意 key 和 value 都不能是中文
+ .build()
+ )
+ .connectTimeout(DEFAULT_TIMEOUT.toLong(), TimeUnit.SECONDS)
+ .writeTimeout(DEFAULT_TIMEOUT.toLong(), TimeUnit.SECONDS)
+ .connectionPool(
+ ConnectionPool(
+ 8,
+ 15,
+ TimeUnit.SECONDS
+ )
+ ) // 这里你可以根据自己的机型设置同时连接的个数和时间,我这里8个,和每个保持时间为10s
+ .build()
+ retrofit = Retrofit.Builder()
+ .client(okHttpClient)
+ .addConverterFactory(GsonConverterFactory.create())
+ .addCallAdapterFactory(RxJava2CallAdapterFactory.create())
+ .baseUrl(url)
+ .build()
+ }
+}
\ No newline at end of file
diff --git a/BaseAndroidKt/src/main/java/com/sjc/baseAndroid/http/service/HttpApiService.kt b/BaseAndroidKt/src/main/java/com/sjc/baseAndroid/http/service/HttpApiService.kt
new file mode 100644
index 0000000..3763cc6
--- /dev/null
+++ b/BaseAndroidKt/src/main/java/com/sjc/baseAndroid/http/service/HttpApiService.kt
@@ -0,0 +1,41 @@
+package com.example.myapplication.http.service
+
+import retrofit2.http.POST
+import okhttp3.RequestBody
+import com.sjc.baseAndroid.base.BaseBean
+import io.reactivex.Observable
+import retrofit2.http.Multipart
+import okhttp3.MultipartBody
+import retrofit2.http.Body
+import retrofit2.http.Part
+
+/**
+ * @author Xavier Yang
+ */
+interface HttpApiService {
+ /**
+ * 会员登陆接口
+ *
+ * @return 登录请求结果
+ */
+ @POST("Account/yzm")
+ fun sendCode(@Body json: RequestBody?): Observable?>?
+
+ /**
+ * 会员登陆接口
+ *
+ * @return 登录请求结果
+ */
+ @POST("Account/yzm_login")
+ fun login(@Body json: RequestBody?): Observable?>?
+
+ /**
+ * 文件上传接口
+ *
+ * @param filePart 文件
+ * @return 上传结果
+ */
+ @Multipart
+ @POST("/api/common/upload")
+ fun uploadFile(@Part filePart: MultipartBody.Part?): Observable?>?
+}
\ No newline at end of file
diff --git a/BaseAndroidKt/src/main/java/com/sjc/baseAndroid/http/source/HttpDataSource.kt b/BaseAndroidKt/src/main/java/com/sjc/baseAndroid/http/source/HttpDataSource.kt
new file mode 100644
index 0000000..6688d2d
--- /dev/null
+++ b/BaseAndroidKt/src/main/java/com/sjc/baseAndroid/http/source/HttpDataSource.kt
@@ -0,0 +1,33 @@
+package com.example.myapplication.http.source
+
+import com.sjc.baseAndroid.base.BaseBean
+import io.reactivex.Observable
+import okhttp3.MultipartBody
+import okhttp3.RequestBody
+
+/**
+ * @author Xavier Yang
+ */
+interface HttpDataSource {
+ /**
+ * 发送验证码
+ *
+ * @return 登录结果
+ */
+ fun sendCode(json: RequestBody?): Observable?>?
+
+ /**
+ * 登录
+ *
+ * @return 登录结果
+ */
+ fun login(json: RequestBody?): Observable?>?
+
+ /**
+ * 文件上传接口
+ *
+ * @param filePart 文件
+ * @return 上传结果
+ */
+ fun uploadFile(filePart: MultipartBody.Part?): Observable?>?
+}
\ No newline at end of file
diff --git a/BaseAndroidKt/src/main/java/com/sjc/baseAndroid/http/source/HttpDataSourceImpl.kt b/BaseAndroidKt/src/main/java/com/sjc/baseAndroid/http/source/HttpDataSourceImpl.kt
new file mode 100644
index 0000000..a7f7139
--- /dev/null
+++ b/BaseAndroidKt/src/main/java/com/sjc/baseAndroid/http/source/HttpDataSourceImpl.kt
@@ -0,0 +1,45 @@
+package com.example.myapplication.http.source
+
+import com.example.myapplication.http.service.HttpApiService
+import com.sjc.baseAndroid.base.BaseBean
+import io.reactivex.Observable
+import okhttp3.MultipartBody
+import okhttp3.RequestBody
+
+/**
+ * @Author
+ */
+class HttpDataSourceImpl private constructor(private val apiService: HttpApiService) :
+ HttpDataSource {
+ override fun sendCode(json: RequestBody?): Observable?>? {
+ return apiService.sendCode(json)
+ }
+
+ override fun login(json: RequestBody?): Observable?>? {
+ return apiService.login(json)
+ }
+
+ override fun uploadFile(filePart: MultipartBody.Part?): Observable?>? {
+ return apiService.uploadFile(filePart)
+ }
+
+ companion object {
+ @Volatile
+ private var INSTANCE: HttpDataSourceImpl? = null
+ @JvmStatic
+ fun getInstance(apiService: HttpApiService): HttpDataSourceImpl? {
+ if (INSTANCE == null) {
+ synchronized(HttpDataSourceImpl::class.java) {
+ if (INSTANCE == null) {
+ INSTANCE = HttpDataSourceImpl(apiService)
+ }
+ }
+ }
+ return INSTANCE
+ }
+
+ fun destroyInstance() {
+ INSTANCE = null
+ }
+ }
+}
\ No newline at end of file
diff --git a/BaseAndroidKt/src/main/java/com/sjc/baseAndroid/login/LoginActivity.kt b/BaseAndroidKt/src/main/java/com/sjc/baseAndroid/login/LoginActivity.kt
new file mode 100644
index 0000000..5894bf4
--- /dev/null
+++ b/BaseAndroidKt/src/main/java/com/sjc/baseAndroid/login/LoginActivity.kt
@@ -0,0 +1,33 @@
+package com.sjc.baseAndroid.login
+
+import android.os.Bundle
+import androidx.lifecycle.ViewModelProvider
+import com.sjc.baseAndroid.R
+import com.sjc.baseAndroid.BR
+import com.sjc.baseAndroid.base.AppViewModelFactory
+import com.sjc.baseAndroid.databinding.ActivityLoginBinding
+import me.goldze.mvvmhabit.base.BaseActivity
+
+class LoginActivity : BaseActivity() {
+ override fun initContentView(savedInstanceState: Bundle?): Int {
+ return R.layout.activity_login
+ }
+
+ override fun initVariableId(): Int {
+ return BR.data
+ }
+
+ override fun initViewModel(): LoginViewModel {
+ return ViewModelProvider(this, AppViewModelFactory.getInstance(application)!!)[LoginViewModel::class.java]
+ }
+
+ override fun initData() {
+ super.initData()
+ viewModel.mcontext = this
+ }
+
+ override fun initViewObservable() {
+ super.initViewObservable()
+
+ }
+}
\ No newline at end of file
diff --git a/BaseAndroidKt/src/main/java/com/sjc/baseAndroid/login/LoginViewModel.kt b/BaseAndroidKt/src/main/java/com/sjc/baseAndroid/login/LoginViewModel.kt
new file mode 100644
index 0000000..5e47b88
--- /dev/null
+++ b/BaseAndroidKt/src/main/java/com/sjc/baseAndroid/login/LoginViewModel.kt
@@ -0,0 +1,111 @@
+package com.sjc.baseAndroid.login
+
+import android.app.Application
+import android.content.Context
+import android.util.Log
+import android.view.View
+import android.widget.Toast
+import androidx.databinding.ObservableField
+import androidx.databinding.ObservableInt
+import com.example.myapplication.http.AppRepository
+import com.sjc.baseAndroid.base.BaseBean
+import com.sjc.baseAndroid.base.KtBaseViewModel
+import io.reactivex.Observer
+import io.reactivex.disposables.Disposable
+import io.reactivex.observers.DisposableObserver
+import me.goldze.mvvmhabit.base.BaseViewModel
+import me.goldze.mvvmhabit.binding.command.BindingAction
+import me.goldze.mvvmhabit.binding.command.BindingCommand
+import me.goldze.mvvmhabit.utils.RxUtils
+import me.goldze.mvvmhabit.utils.ToastUtils
+import okhttp3.MediaType
+import okhttp3.RequestBody
+import org.json.JSONObject
+
+
+class LoginViewModel(application: Application, model: AppRepository?) : KtBaseViewModel(
+ application,
+ model!!
+){
+ //用户名的绑定
+ var mobile = ObservableField("")
+ var v_code = ObservableField("")
+ var clearBtnVisibility = ObservableInt()
+ var loginOnClickCommand: BindingCommand<*> = BindingCommand(BindingAction { login() })
+ var clearTel: BindingCommand<*> = BindingCommand(BindingAction { mobile.set("") })
+ var sendCodeOnClickCommand: BindingCommand<*> = BindingCommand(BindingAction { sendCode() })
+ var proxyOnClickCommand: BindingCommand<*> = BindingCommand(BindingAction { })
+ var serviceOnClickCommand: BindingCommand<*> = BindingCommand(BindingAction { })
+
+ //清除用户名的点击事件, 逻辑从View层转换到ViewModel层
+ var clearUserNameOnClickCommand: BindingCommand<*> = BindingCommand(BindingAction { })
+ //用户名输入框焦点改变的回调事件
+ var onFocusChangeCommand = BindingCommand { hasFocus ->
+ if (hasFocus) {
+ clearBtnVisibility.set(View.VISIBLE)
+ } else {
+ clearBtnVisibility.set(View.INVISIBLE)
+ }
+ }
+
+ private fun login() {
+ val json = JSONObject()
+ json.put("mobile", mobile.get().toString())
+ json.put("yzm", v_code.get())
+ var tos = json.toString()
+ val body: RequestBody =
+ RequestBody.create(MediaType.parse("application/json; charset=utf-8"), tos)
+ model.login(body)!!
+ .compose(RxUtils.schedulersTransformer()) // 线程调度
+ .compose(RxUtils.exceptionTransformer()) // 网络错误的异常转换, 这里可以换成自己的ExceptionHandle
+ .doOnSubscribe(this) // 请求与ViewModel周期同步
+ .doOnSubscribe { disposable -> showDialog("正在请求...") }
+ .subscribe(object : DisposableObserver() {
+ override fun onNext(t: Any) {
+
+
+ }
+
+ override fun onError(e: Throwable) {
+ Log.e("sendCode","onError : " +e)
+ }
+
+ override fun onComplete() {
+ }
+ })
+ }
+ private fun sendCode() {
+ val json = JSONObject()
+ json.put("mobile", mobile.get().toString())
+ json.put("type", "1")
+ var tos = json.toString()
+ val body: RequestBody =
+ RequestBody.create(MediaType.parse("application/json; charset=utf-8"), tos)
+ showLoading("")
+ model.sendCode(body)!!
+ .compose(RxUtils.schedulersTransformer()) // 线程调度
+ .compose(RxUtils.exceptionTransformer()) // 网络错误的异常转换, 这里可以换成自己的ExceptionHandle
+ .doOnSubscribe(this) // 请求与ViewModel周期同步
+ .doOnSubscribe { disposable -> showDialog("正在请求...") }
+ .subscribe(object : DisposableObserver() {
+ override fun onNext(t: Any) {
+ var basebean = t as BaseBean
+ ToastUtils.showShort(basebean.msg)
+ if (basebean.code == 200){
+
+ }
+ }
+
+ override fun onError(e: Throwable) {
+ Log.e("sendCode","onError : " +e)
+ hideLoading()
+ }
+
+ override fun onComplete() {
+ hideLoading()
+ }
+ })
+ }
+
+
+}
\ No newline at end of file
diff --git a/BaseAndroidKt/src/main/java/com/sjc/baseAndroid/utils/CustomToast.java b/BaseAndroidKt/src/main/java/com/sjc/baseAndroid/utils/CustomToast.java
new file mode 100644
index 0000000..fa606b7
--- /dev/null
+++ b/BaseAndroidKt/src/main/java/com/sjc/baseAndroid/utils/CustomToast.java
@@ -0,0 +1,61 @@
+package com.sjc.baseAndroid.utils;
+
+import android.content.Context;
+import android.view.LayoutInflater;
+import android.view.View;
+import android.widget.ImageView;
+import android.widget.TextView;
+import android.widget.Toast;
+
+import androidx.core.app.ActivityCompat;
+
+import com.sjc.baseAndroid.R;
+
+
+/**
+ * 自定义通知
+ */
+
+public class CustomToast {
+
+ private static TextView mTextView;
+ private static ImageView mImageView;
+
+ /**
+ * @param context 上下文
+ * @param gravity 位置
+ * @param resId 显示图片的id
+ * @param message 显示的文字
+ */
+ public static void showToast(Context context, int gravity, int resId, String message) {
+ if (context == null){
+ return;
+ }
+ //加载Toast布局
+ View toastView = LayoutInflater.from(context).inflate(R.layout.toast, null);
+ //初始化布局控件
+ mTextView = toastView.findViewById(R.id.message);
+ mImageView = toastView.findViewById(R.id.imageView);
+ //为控件设置属性
+ mTextView.setText(message);
+
+ if (resId != 0) {
+
+ mImageView.setVisibility(View.VISIBLE);
+ mImageView.setImageDrawable(ActivityCompat.getDrawable(context, resId));
+
+ } else {
+ mImageView.setVisibility(View.GONE);
+ }
+
+ /// Toast的初始化
+ Toast toastStart = new Toast(context);
+
+ toastStart.setGravity(gravity, 0, 0);
+ toastStart.setDuration(Toast.LENGTH_SHORT);
+ toastStart.setView(toastView);
+ toastStart.show();
+
+ }
+
+}
diff --git a/BaseAndroidKt/src/main/java/com/sjc/baseAndroid/utils/Share.kt b/BaseAndroidKt/src/main/java/com/sjc/baseAndroid/utils/Share.kt
new file mode 100644
index 0000000..8304244
--- /dev/null
+++ b/BaseAndroidKt/src/main/java/com/sjc/baseAndroid/utils/Share.kt
@@ -0,0 +1,301 @@
+package com.sjc.baseAndroid.utils
+
+import android.content.Context
+import android.os.Handler
+import android.os.Looper
+import android.os.Message
+import com.google.gson.Gson
+import com.sjc.baseAndroid.KtBaseApplication
+import org.json.JSONObject
+import java.lang.ref.WeakReference
+
+
+class Share {
+
+ companion object {
+
+ val USER: String = "user"
+ var STATE_USER = "state"
+
+ fun getUid(context: Context): Int {
+ return context.getSharedPreferences(USER, Context.MODE_PRIVATE).getInt("uid", 0)
+
+ }
+
+ fun getCityList(context: Context): String? {
+ return context.getSharedPreferences(USER, Context.MODE_PRIVATE).getString("city", "")
+
+ }
+
+ fun setList(context: Context, cityStr: String) {
+ val edit = context.getSharedPreferences(USER, Context.MODE_PRIVATE).edit()
+ edit.putString("city", cityStr)
+ edit.apply()
+ }
+
+ /**
+ * 保存用户uid
+ */
+ fun saveUid(context: Context, uid: Int) {
+ val edit = context.getSharedPreferences(USER, Context.MODE_PRIVATE).edit()
+ edit.putInt("uid", uid)
+ edit.apply()
+ }
+
+
+ fun getUserHead(context: Context): String {
+ return context.getSharedPreferences(USER, Context.MODE_PRIVATE).getString("head", "")
+ .toString()
+
+ }
+
+ /**
+ * 保存用户头像
+ */
+ fun saveUserHead(context: Context, uid: String) {
+ val edit = context.getSharedPreferences(USER, Context.MODE_PRIVATE).edit()
+ edit.putString("head", uid)
+ edit.apply()
+ }
+
+ fun getAccount(context: Context): String {
+ return context.getSharedPreferences(USER, Context.MODE_PRIVATE).getString("account", "")
+ .toString()
+
+ }
+
+ /**
+ * 保存用户电话号码
+ */
+ fun saveAccount(context: Context, uid: String) {
+ val edit = context.getSharedPreferences(USER, Context.MODE_PRIVATE).edit()
+ edit.putString("account", uid)
+ edit.apply()
+ }
+
+ fun getKefu(context: Context): String {
+ return context.getSharedPreferences(USER, Context.MODE_PRIVATE).getString("kefu", "")
+ .toString()
+
+ }
+
+ /**
+ * 保存客服电话
+ */
+ fun saveKefu(context: Context, uid: String) {
+ val edit = context.getSharedPreferences(USER, Context.MODE_PRIVATE).edit()
+ edit.putString("kefu", uid)
+ edit.apply()
+ }
+
+ fun getCardName(context: Context): String {
+ return context.getSharedPreferences(USER, Context.MODE_PRIVATE)
+ .getString("cardname", "")
+ .toString()
+
+ }
+
+ /**
+ * 保存银行卡信息
+ */
+ fun saveCardName(context: Context, uid: String) {
+ val edit = context.getSharedPreferences(USER, Context.MODE_PRIVATE).edit()
+ edit.putString("cardname", uid)
+ edit.apply()
+ }
+
+ fun getCardNum(context: Context): String {
+ return context.getSharedPreferences(USER, Context.MODE_PRIVATE).getString("cardnum", "")
+ .toString()
+
+ }
+
+ /**
+ * 保存银行卡信息
+ */
+ fun saveCardNum(context: Context, uid: String) {
+ val edit = context.getSharedPreferences(USER, Context.MODE_PRIVATE).edit()
+ edit.putString("cardnum", uid)
+ edit.apply()
+ }
+
+ fun getFirst(context: Context): String {
+ return context.getSharedPreferences(USER, Context.MODE_PRIVATE).getString("first", "")
+ .toString()
+
+ }
+
+ /**
+ * 保存客服电话
+ */
+ fun saveFirst(context: Context, uid: String) {
+ val edit = context.getSharedPreferences(USER, Context.MODE_PRIVATE).edit()
+ edit.putString("first", uid)
+ edit.apply()
+ }
+
+ fun getQQ(context: Context): String =
+ context.getSharedPreferences(USER, Context.MODE_PRIVATE).getString(
+ "qq", ""
+ ).toString()
+
+ /**
+ * QQ绑定状态
+ */
+ fun saveQQ(context: Context, token: String) {
+ val edit = context.getSharedPreferences(USER, Context.MODE_PRIVATE).edit()
+ edit.putString("qq", token)
+ edit.apply()
+ }
+
+ fun getBalance(context: Context): String =
+ context.getSharedPreferences(USER, Context.MODE_PRIVATE).getString(
+ "Balance", ""
+ ).toString()
+
+ /**
+ * QQ绑定状态
+ */
+ fun saveBalance(context: Context, token: String) {
+ val edit = context.getSharedPreferences(USER, Context.MODE_PRIVATE).edit()
+ edit.putString("Balance", token)
+ edit.apply()
+ }
+
+ fun getWei(context: Context): String =
+ context.getSharedPreferences(USER, Context.MODE_PRIVATE).getString(
+ "weixin", ""
+ ).toString()
+
+ /**
+ * 微信绑定状态
+ */
+ fun saveWei(context: Context, token: String) {
+ val edit = context.getSharedPreferences(USER, Context.MODE_PRIVATE).edit()
+ edit.putString("weixin", token)
+ edit.apply()
+ }
+
+ fun getToken(context: Context): String =
+ context.getSharedPreferences(USER, Context.MODE_PRIVATE).getString(
+ "token",
+ ""
+ ).toString()
+
+ /**
+ * 保存用户token
+ */
+ fun saveToken(context: Context, token: String) {
+ val edit = context.getSharedPreferences(USER, Context.MODE_PRIVATE).edit()
+ edit.putString("token", token)
+ edit.apply()
+ }
+
+ /**
+ * 清除uid和token数据
+ */
+ fun clearUidOrToken(context: Context) {
+ val edit = context.getSharedPreferences(USER, Context.MODE_PRIVATE).edit()
+ edit.remove("token")
+ edit.remove("uid")
+ edit.apply()
+
+ }
+
+ /**
+ * 是否是分享 或者微信登录 1 为分享 0 为登录
+ */
+ fun saveIsShareOrLogin(context: Context, num: Int) {
+ val edit = context.getSharedPreferences(USER, Context.MODE_PRIVATE).edit()
+ edit.putInt("shareOrLogin", num)
+ edit.apply()
+
+ }
+
+ /**
+ * 1 为分享 其他为登录
+ */
+ fun getShareOrLogin(context: Context): Int {
+ return context.getSharedPreferences(USER, Context.MODE_PRIVATE)
+ .getInt("shareOrLogin", 0)
+
+ }
+
+ /**
+ * 邀请码,从扫描二维码中获取,用于注册
+ */
+ // TODO: 2020/11/17 wwdeng
+ fun saveInviteCode(context: Context, code: String) {//保存邀请码
+ val edit = context.getSharedPreferences(USER, Context.MODE_PRIVATE).edit()
+ edit.putString("inviteCode", code)
+ edit.apply()
+ }
+
+ fun getInviteCode(context: Context): String {//获取邀请码
+ return context.getSharedPreferences(USER, Context.MODE_PRIVATE)
+ .getString("inviteCode", "").toString()
+ }
+
+ /**
+ * 保存用户昵称
+ */
+ // TODO: 2020/12/1 wwdeng
+ fun saveNickName(context: Context, nickName: String) {//保存用户昵称
+ val edit = context.getSharedPreferences(USER, Context.MODE_PRIVATE).edit()
+ edit.putString("nickName", nickName)
+ edit.apply()
+ }
+
+ fun getNickName(context: Context): String {//获取用户昵称
+ return context.getSharedPreferences(USER, Context.MODE_PRIVATE)
+ .getString("nickName", "").toString()
+ }
+
+
+ /**
+ * 保存用户是否是代理
+ */
+ // TODO: 2020/12/1 wwdeng
+ fun saveUserProxy(context: Context, nickName: String) {
+ val edit = context.getSharedPreferences(USER, Context.MODE_PRIVATE).edit()
+ edit.putString("nickName", nickName)
+ edit.apply()
+ }
+
+ fun getUserProxy(context: Context): String {
+ return context.getSharedPreferences(USER, Context.MODE_PRIVATE)
+ .getString("nickName", "").toString()
+ }
+
+ /**
+ * 保存用户类型
+ * (1:普通用户,2:VIP用户,3:校长,4:院长,5:教授)
+ */
+ // TODO: 2020/12/17 wwdeng
+ fun saveUserType(context: Context, userType: Int) {//保存用户类型
+ val edit = context.getSharedPreferences(USER, Context.MODE_PRIVATE).edit()
+ edit.putInt("userType", userType)
+ edit.apply()
+ }
+
+ fun getUserType(context: Context): Int {//获取用户类型
+ return context.getSharedPreferences(USER, Context.MODE_PRIVATE).getInt("userType", 1)
+ }
+
+ // TODO: 2020/12/25 wwdeng 保存分享到朋友圈的连接地址
+ fun saveShareWXTimelineUrl(context: Context, shareUrl: String) {//保存用户昵称
+ val edit = context.getSharedPreferences(USER, Context.MODE_PRIVATE).edit()
+ edit.putString("shareUrl", shareUrl)
+ edit.apply()
+ }
+
+ fun getShareWXTimelineUrl(context: Context): String {//获取分享到朋友圈的连接地址
+ return context.getSharedPreferences(USER, Context.MODE_PRIVATE)
+ .getString("shareUrl", "www.baidu.com").toString()
+ }
+
+
+ }
+
+
+}
\ No newline at end of file
diff --git a/BaseAndroidKt/src/main/java/com/sjc/baseAndroid/weight/BoldEditView.kt b/BaseAndroidKt/src/main/java/com/sjc/baseAndroid/weight/BoldEditView.kt
new file mode 100644
index 0000000..c0e04f6
--- /dev/null
+++ b/BaseAndroidKt/src/main/java/com/sjc/baseAndroid/weight/BoldEditView.kt
@@ -0,0 +1,20 @@
+package com.sjc.baseAndroid.weight
+
+import android.content.Context
+import android.util.AttributeSet
+import androidx.appcompat.widget.AppCompatEditText
+
+class BoldEditView(context: Context, attrs: AttributeSet?) : AppCompatEditText(context, attrs) {
+ /**
+ * 初始化字体
+ * @param context
+ */
+ private fun init(context: Context) {
+ //设置字体样式
+ setTypeface(com.sjc.baseAndroid.weight.BoldManager.setFont(context, 4))
+ }
+
+ init {
+ init(context)
+ }
+}
\ No newline at end of file
diff --git a/BaseAndroidKt/src/main/java/com/sjc/baseAndroid/weight/BoldManager.kt b/BaseAndroidKt/src/main/java/com/sjc/baseAndroid/weight/BoldManager.kt
new file mode 100644
index 0000000..c33ea02
--- /dev/null
+++ b/BaseAndroidKt/src/main/java/com/sjc/baseAndroid/weight/BoldManager.kt
@@ -0,0 +1,23 @@
+package com.sjc.baseAndroid.weight
+
+import android.content.Context
+import android.graphics.Typeface
+
+object BoldManager {
+ // fongUrl是自定义字体分类的名称
+ private const val typeface_bold = "fonts/bold.TTF"
+
+ //Typeface是字体,这里我们创建一个对象
+ private var tf: Typeface? = null
+
+ /**
+ * 设置字体
+ */
+ fun setFont(context: Context, type: Int): Typeface? {
+ if (tf == null) {
+ //给它设置你传入的自定义字体文件,再返回回来
+ tf = Typeface.createFromAsset(context.assets, typeface_bold)
+ }
+ return tf
+ }
+}
\ No newline at end of file
diff --git a/BaseAndroidKt/src/main/java/com/sjc/baseAndroid/weight/BoldTextView.kt b/BaseAndroidKt/src/main/java/com/sjc/baseAndroid/weight/BoldTextView.kt
new file mode 100644
index 0000000..7edfa5f
--- /dev/null
+++ b/BaseAndroidKt/src/main/java/com/sjc/baseAndroid/weight/BoldTextView.kt
@@ -0,0 +1,20 @@
+package com.sjc.baseAndroid.weight
+
+import android.content.Context
+import android.util.AttributeSet
+import androidx.appcompat.widget.AppCompatTextView
+
+class BoldTextView(context: Context, attrs: AttributeSet?) : AppCompatTextView(context, attrs) {
+ /**
+ * 初始化字体
+ * @param context
+ */
+ private fun init(context: Context) {
+ //设置字体样式
+ setTypeface(BoldManager.setFont(context, 1))
+ }
+
+ init {
+ init(context)
+ }
+}
\ No newline at end of file
diff --git a/BaseAndroidKt/src/main/java/com/sjc/baseAndroid/weight/GradientRoundProgress.kt b/BaseAndroidKt/src/main/java/com/sjc/baseAndroid/weight/GradientRoundProgress.kt
new file mode 100644
index 0000000..c7a91b0
--- /dev/null
+++ b/BaseAndroidKt/src/main/java/com/sjc/baseAndroid/weight/GradientRoundProgress.kt
@@ -0,0 +1,193 @@
+package com.sjc.baseAndroid.weight
+
+import android.content.Context
+import android.graphics.*
+import android.util.AttributeSet
+import android.view.View
+import com.sjc.baseAndroid.R
+import com.sjc.baseAndroid.weight.BoldManager.setFont
+
+/**
+ * 基础渐变色环形进度条
+ */
+class GradientRoundProgress @JvmOverloads constructor(
+ context: Context,
+ attrs: AttributeSet? = null,
+ defStyle: Int = 0
+) : View(context, attrs, defStyle) {
+ private val paint // 画笔对象的引用
+ : Paint
+ private val textPaint // 文字画笔对象的引用
+ : Paint
+ private val roundColor // 圆环的颜色
+ : Int
+ private val roundWidth // 圆环的宽度
+ : Float
+ private val progressColor // 圆环进度的颜色
+ : Int
+ private val progressWidth // 圆环进度的宽度
+ : Float
+ private val text // 文字内容
+ : String?
+ private val textColor // 中间进度百分比的字符串的颜色
+ : Int
+ private val textSize // 中间进度百分比的字符串的字体大小
+ : Float
+ private val numSize // 中间进度文本大小
+ : Float
+ private var max // 最大进度
+ : Int
+ private val startAngle // 进度条起始角度
+ : Int
+ private val textShow // 是否显示中间的进度
+ : Boolean
+ private val textRate // 文字是否带%
+ : Boolean
+ private val useCustomFont // 是否使用自定义字体
+ : Boolean
+ private val startColor // 渐变色起始色
+ : Int
+ private val midColor // 渐变色中间色
+ : Int
+ private val endColor // 渐变色起始色
+ : Int
+ private var progress // 当前进度
+ = 0.0
+
+ override fun onDraw(canvas: Canvas) {
+ super.onDraw(canvas)
+ val centerX = width / 2 // 获取圆心的x坐标
+ val radius = (centerX - roundWidth / 2).toInt() // 圆环的半径
+
+ // step1 画最外层的大圆环
+ paint.strokeWidth = roundWidth // 设置圆环的宽度
+ paint.color = roundColor // 设置圆环的颜色
+ paint.isAntiAlias = true // 消除锯齿
+ // 设置画笔样式
+ paint.style = Paint.Style.STROKE
+ canvas.drawCircle(centerX.toFloat(), centerX.toFloat(), radius.toFloat(), paint) // 画出圆环
+
+ // step2 画圆弧-画圆环的进度
+ // 锁画布(为了保存之前的画布状态)
+ canvas.save()
+ canvas.rotate(startAngle.toFloat(), centerX.toFloat(), centerX.toFloat())
+ paint.strokeWidth = progressWidth // 设置画笔的宽度使用进度条的宽度
+ paint.color = progressColor // 设置进度的颜色
+ val oval = RectF(
+ (centerX - radius).toFloat(),
+ (centerX - radius).toFloat(),
+ (centerX + radius).toFloat(),
+ (centerX + radius).toFloat()
+ ) // 用于定义的圆弧的形状和大小的界限
+ val sweepAngle = 360 * progress / max // 计算进度值在圆环所占的角度
+ // 根据进度画圆弧
+ paint.shader =
+ SweepGradient(centerX as Float, centerX as Float, intArrayOf(startColor, midColor, endColor), null)
+ canvas.drawArc(oval, 0f, sweepAngle.toFloat(), false, paint)
+ paint.shader = null
+ canvas.rotate(-startAngle.toFloat(), centerX.toFloat(), centerX.toFloat())
+ canvas.restore()
+
+ // step3 画文字指示
+ textPaint.strokeWidth = 0f
+ textPaint.color = textColor
+ textPaint.style = Paint.Style.FILL
+ textPaint.textSize = textSize
+ // 计算百分比
+ val percent = (progress.toFloat() / max.toFloat() * 100).toInt()
+ if (textShow) {
+ // 3.1 画文字
+ // 3.2 画百分比
+ textPaint.textSize = numSize
+ textPaint.typeface = setFont(context, 1) // 设置字体
+ var str = ""
+ str = if (textRate) {
+ "$percent%"
+ } else {
+ percent.toString() + ""
+ }
+ val numWidth = textPaint.measureText(str) // 测量字体宽度,我们需要根据字体的宽度设置在圆环中间
+ canvas.drawText(
+ str,
+ centerX - numWidth / 2,
+ centerX + numWidth / 4,
+ textPaint
+ ) // 画出进度百分比
+ }
+ }
+
+ /**
+ * 设置进度的最大值
+ *
+ * 根据需要,最大值一般设置为100,也可以设置为1000、10000等
+ *
+ * @param max int最大值
+ */
+ @Synchronized
+ fun setMax(max: Int) {
+ require(max >= 0) { "max not less than 0" }
+ this.max = max
+ }
+
+ /**
+ * 获取进度
+ *
+ * @return int 当前进度值
+ */
+ @Synchronized
+ fun getProgress(): Double {
+ return progress
+ }
+
+ /**
+ * 设置进度,此为线程安全控件
+ *
+ * @param progress 进度值
+ */
+ @Synchronized
+ fun setProgress(progress: Double) {
+ var progress = progress
+ require(progress >= 0) { "progress not less than 0" }
+ if (progress > max) {
+ progress = max.toDouble()
+ }
+ this.progress = progress
+ // 刷新界面调用postInvalidate()能在非UI线程刷新
+ postInvalidate()
+ }
+
+ init {
+ paint = Paint()
+ textPaint = Paint()
+
+ // 读取自定义属性的值
+ val mTypedArray = context.obtainStyledAttributes(attrs, R.styleable.GradientRoundProgress)
+
+ // 获取自定义属性和默认值
+ roundColor =
+ mTypedArray.getColor(R.styleable.GradientRoundProgress_grp_roundColor, Color.RED)
+ roundWidth = mTypedArray.getDimension(R.styleable.GradientRoundProgress_grp_roundWidth, 5f)
+ progressColor =
+ mTypedArray.getColor(R.styleable.GradientRoundProgress_grp_progressColor, Color.GREEN)
+ progressWidth = mTypedArray.getDimension(
+ R.styleable.GradientRoundProgress_grp_progressWidth,
+ roundWidth
+ )
+ text = mTypedArray.getString(R.styleable.GradientRoundProgress_grp_text)
+ textColor =
+ mTypedArray.getColor(R.styleable.GradientRoundProgress_grp_textColor, Color.GREEN)
+ textSize = mTypedArray.getDimension(R.styleable.GradientRoundProgress_grp_textSize, 11f)
+ numSize = mTypedArray.getDimension(R.styleable.GradientRoundProgress_grp_numSize, 14f)
+ max = mTypedArray.getInteger(R.styleable.GradientRoundProgress_grp_max, 100)
+ startAngle = mTypedArray.getInt(R.styleable.GradientRoundProgress_grp_startAngle, 90)
+ textShow = mTypedArray.getBoolean(R.styleable.GradientRoundProgress_grp_textShow, true)
+ textRate = mTypedArray.getBoolean(R.styleable.GradientRoundProgress_grp_textRate, true)
+ useCustomFont =
+ mTypedArray.getBoolean(R.styleable.GradientRoundProgress_grp_userCustomFont, false)
+ startColor =
+ mTypedArray.getColor(R.styleable.GradientRoundProgress_grp_startColor, Color.GREEN)
+ midColor = mTypedArray.getColor(R.styleable.GradientRoundProgress_grp_midColor, Color.GREEN)
+ endColor = mTypedArray.getColor(R.styleable.GradientRoundProgress_grp_endColor, Color.GREEN)
+ mTypedArray.recycle()
+ }
+}
\ No newline at end of file
diff --git a/BaseAndroidKt/src/main/java/com/sjc/baseAndroid/weight/GradientRoundProgress3.kt b/BaseAndroidKt/src/main/java/com/sjc/baseAndroid/weight/GradientRoundProgress3.kt
new file mode 100644
index 0000000..54b18f3
--- /dev/null
+++ b/BaseAndroidKt/src/main/java/com/sjc/baseAndroid/weight/GradientRoundProgress3.kt
@@ -0,0 +1,198 @@
+package com.sjc.baseAndroid.weight
+
+import android.content.Context
+import android.graphics.*
+import android.util.AttributeSet
+import android.view.View
+import com.sjc.baseAndroid.R
+
+/**
+ * 渐变色环形进度条
+ */
+class GradientRoundProgress3 @JvmOverloads constructor(
+ context: Context,
+ attrs: AttributeSet? = null,
+ defStyle: Int = 0
+) : View(context, attrs, defStyle) {
+ private val paint // 画笔对象的引用
+ : Paint
+ private val roundColor // 圆环的颜色
+ : Int
+ private val roundWidth // 圆环的宽度
+ : Float
+ private val progressColor // 圆环进度的颜色
+ : Int
+ private val progressWidth // 圆环进度的宽度
+ : Float
+ private val text // 文字内容
+ : String?
+ private var numText // 文字内容
+ : String?
+ private val textColor // 中间进度百分比的字符串的颜色
+ : Int
+ private val numColor // 中间进度百分比的字符串的颜色
+ : Int
+ private val textSize // 中间进度百分比的字符串的字体大小
+ : Float
+ private val numSize // 中间进度文本大小
+ : Float
+ private var max // 最大进度
+ : Int
+ private val startAngle // 进度条起始角度
+ : Int
+ private val textShow // 是否显示中间的进度
+ : Boolean
+ private val useCustomFont // 是否使用自定义字体
+ : Boolean
+ private val startColor // 渐变色起始色
+ : Int
+ private val midColor // 渐变色中间色
+ : Int
+ private val endColor // 渐变色起始色
+ : Int
+ private var progress // 当前进度
+ = 0
+
+ override fun onDraw(canvas: Canvas) {
+ super.onDraw(canvas)
+ val centerX = width / 2 // 获取圆心的x坐标
+ val radius = (centerX - roundWidth / 2).toInt() // 圆环的半径
+
+ // step1 画最外层的大圆环
+ paint.strokeWidth = roundWidth // 设置圆环的宽度
+ paint.color = roundColor // 设置圆环的颜色
+ paint.isAntiAlias = true // 消除锯齿
+ // 设置画笔样式
+ paint.style = Paint.Style.STROKE
+ canvas.drawCircle(centerX.toFloat(), centerX.toFloat(), radius.toFloat(), paint) // 画出圆环
+
+ // step2 画圆弧-画圆环的进度
+ // 锁画布(为了保存之前的画布状态)
+ canvas.save()
+ canvas.rotate(startAngle.toFloat(), centerX.toFloat(), centerX.toFloat())
+ paint.strokeWidth = progressWidth // 设置画笔的宽度使用进度条的宽度
+ paint.color = progressColor // 设置进度的颜色
+ val oval = RectF(
+ (centerX - radius).toFloat(),
+ (centerX - radius).toFloat(),
+ (centerX + radius).toFloat(),
+ (centerX + radius).toFloat()
+ ) // 用于定义的圆弧的形状和大小的界限
+ val sweepAngle = 360 * progress / max // 计算进度值在圆环所占的角度
+ // 根据进度画圆弧
+ paint.shader =
+ SweepGradient(centerX as Float, centerX as Float, intArrayOf(startColor, midColor, endColor), null)
+ canvas.drawArc(oval, 0f, sweepAngle.toFloat(), false, paint)
+ paint.shader = null
+ canvas.rotate(-startAngle.toFloat(), centerX.toFloat(), centerX.toFloat())
+ canvas.restore()
+
+ // step3 画文字指示
+ paint.strokeWidth = 0f
+ paint.color = textColor
+ paint.textSize = textSize
+ paint.style = Paint.Style.FILL
+ // 计算百分比
+ val percent = (progress.toFloat() / max.toFloat() * 100).toInt()
+ if (textShow && text != null && text.length > 0 && percent >= 0) {
+ // 3.1 画文字
+ paint.typeface = Typeface.DEFAULT // 设置为默认字体
+ val textWidth = paint.measureText(text) // 测量字体宽度
+ canvas.drawText(text, centerX - textWidth / 2, centerX.toFloat(), paint)
+ // 3.2 画百分比
+ paint.textSize = numSize
+ paint.color = numColor
+ if (useCustomFont) {
+ paint.typeface = MediumManager.setFont(context, 4) // 设置字体
+ } else {
+ paint.typeface = Typeface.DEFAULT_BOLD // 设置为加粗默认字体
+ }
+ val numWidth =
+ paint.measureText(percent.toString() + numText) // 测量字体宽度,我们需要根据字体的宽度设置在圆环中间
+ canvas.drawText(
+ percent.toString() + numText,
+ centerX - numWidth / 2,
+ centerX + textSize + 5,
+ paint
+ ) // 画出进度百分比
+ }
+ }
+
+ /**
+ * 设置进度的最大值
+ *
+ * 根据需要,最大值一般设置为100,也可以设置为1000、10000等
+ *
+ * @param max int最大值
+ */
+ @Synchronized
+ fun setMax(max: Int) {
+ require(max >= 0) { "max not less than 0" }
+ this.max = max
+ }
+
+ /**
+ * 获取进度
+ *
+ * @return int 当前进度值
+ */
+ @Synchronized
+ fun getProgress(): Int {
+ return progress
+ }
+
+ /**
+ * 设置进度,此为线程安全控件
+ *
+ * @param progress 进度值
+ */
+ @Synchronized
+ fun setProgress(progress: Int) {
+ var progress = progress
+ require(progress >= 0) { "progress not less than 0" }
+ if (progress > max) {
+ progress = max
+ }
+ this.progress = progress
+ // 刷新界面调用postInvalidate()能在非UI线程刷新
+ postInvalidate()
+ }
+
+ init {
+ paint = Paint()
+
+ // 读取自定义属性的值
+ val mTypedArray = context.obtainStyledAttributes(attrs, R.styleable.GradientRoundProgress)
+
+ // 获取自定义属性和默认值
+ roundColor =
+ mTypedArray.getColor(R.styleable.GradientRoundProgress_grp_roundColor, Color.RED)
+ roundWidth = mTypedArray.getDimension(R.styleable.GradientRoundProgress_grp_roundWidth, 5f)
+ progressColor =
+ mTypedArray.getColor(R.styleable.GradientRoundProgress_grp_progressColor, Color.GREEN)
+ progressWidth = mTypedArray.getDimension(
+ R.styleable.GradientRoundProgress_grp_progressWidth,
+ roundWidth
+ )
+ text = mTypedArray.getString(R.styleable.GradientRoundProgress_grp_text)
+ numText = mTypedArray.getString(R.styleable.GradientRoundProgress_grp_numText)
+ if (numText == null) {
+ numText = ""
+ }
+ textColor =
+ mTypedArray.getColor(R.styleable.GradientRoundProgress_grp_textColor, Color.GREEN)
+ numColor = mTypedArray.getColor(R.styleable.GradientRoundProgress_grp_numColor, Color.GREEN)
+ textSize = mTypedArray.getDimension(R.styleable.GradientRoundProgress_grp_textSize, 11f)
+ numSize = mTypedArray.getDimension(R.styleable.GradientRoundProgress_grp_numSize, 14f)
+ max = mTypedArray.getInteger(R.styleable.GradientRoundProgress_grp_max, 100)
+ startAngle = mTypedArray.getInt(R.styleable.GradientRoundProgress_grp_startAngle, 90)
+ textShow = mTypedArray.getBoolean(R.styleable.GradientRoundProgress_grp_textShow, true)
+ useCustomFont =
+ mTypedArray.getBoolean(R.styleable.GradientRoundProgress_grp_userCustomFont, false)
+ startColor =
+ mTypedArray.getColor(R.styleable.GradientRoundProgress_grp_startColor, Color.GREEN)
+ midColor = mTypedArray.getColor(R.styleable.GradientRoundProgress_grp_midColor, Color.GREEN)
+ endColor = mTypedArray.getColor(R.styleable.GradientRoundProgress_grp_endColor, Color.GREEN)
+ mTypedArray.recycle()
+ }
+}
\ No newline at end of file
diff --git a/BaseAndroidKt/src/main/java/com/sjc/baseAndroid/weight/GradientRoundProgressDouble.kt b/BaseAndroidKt/src/main/java/com/sjc/baseAndroid/weight/GradientRoundProgressDouble.kt
new file mode 100644
index 0000000..15bbee9
--- /dev/null
+++ b/BaseAndroidKt/src/main/java/com/sjc/baseAndroid/weight/GradientRoundProgressDouble.kt
@@ -0,0 +1,200 @@
+package com.sjc.baseAndroid.weight
+
+import android.content.Context
+import android.graphics.*
+import android.util.AttributeSet
+import android.view.View
+import com.sjc.baseAndroid.R
+import java.text.DecimalFormat
+
+/**
+ * 渐变色环形进度条(进度带小数点)
+ */
+class GradientRoundProgressDouble @JvmOverloads constructor(
+ context: Context,
+ attrs: AttributeSet? = null,
+ defStyle: Int = 0
+) : View(context, attrs, defStyle) {
+ private val paint // 画笔对象的引用
+ : Paint
+ private val roundColor // 圆环的颜色
+ : Int
+ private val roundWidth // 圆环的宽度
+ : Float
+ private val progressColor // 圆环进度的颜色
+ : Int
+ private val progressWidth // 圆环进度的宽度
+ : Float
+ private val text // 文字内容
+ : String?
+ private var numText // 文字内容
+ : String?
+ private val textColor // 中间进度百分比的字符串的颜色
+ : Int
+ private val numColor // 中间进度百分比的字符串的颜色
+ : Int
+ private val textSize // 中间进度百分比的字符串的字体大小
+ : Float
+ private val numSize // 中间进度文本大小
+ : Float
+ private var max // 最大进度
+ : Int
+ private val startAngle // 进度条起始角度
+ : Int
+ private val textShow // 是否显示中间的进度
+ : Boolean
+ private val useCustomFont // 是否使用自定义字体
+ : Boolean
+ private val startColor // 渐变色起始色
+ : Int
+ private val midColor // 渐变色中间色
+ : Int
+ private val endColor // 渐变色起始色
+ : Int
+ private var progress // 当前进度
+ = 0.0
+
+ override fun onDraw(canvas: Canvas) {
+ super.onDraw(canvas)
+ val centerX = width / 2 // 获取圆心的x坐标
+ val radius = (centerX - roundWidth / 2).toInt() // 圆环的半径
+
+ // step1 画最外层的大圆环
+ paint.strokeWidth = roundWidth // 设置圆环的宽度
+ paint.color = roundColor // 设置圆环的颜色
+ paint.isAntiAlias = true // 消除锯齿
+ // 设置画笔样式
+ paint.style = Paint.Style.STROKE
+ canvas.drawCircle(centerX.toFloat(), centerX.toFloat(), radius.toFloat(), paint) // 画出圆环
+
+ // step2 画圆弧-画圆环的进度
+ // 锁画布(为了保存之前的画布状态)
+ canvas.save()
+ canvas.rotate(startAngle.toFloat(), centerX.toFloat(), centerX.toFloat())
+ paint.strokeWidth = progressWidth // 设置画笔的宽度使用进度条的宽度
+ paint.color = progressColor // 设置进度的颜色
+ val oval = RectF(
+ (centerX - radius).toFloat(),
+ (centerX - radius).toFloat(),
+ (centerX + radius).toFloat(),
+ (centerX + radius).toFloat()
+ ) // 用于定义的圆弧的形状和大小的界限
+ val sweepAngle = DecimalFormat("0").format(360 * progress / max).toInt() // 计算进度值在圆环所占的角度
+ // 根据进度画圆弧
+ paint.shader =
+ SweepGradient(centerX as Float, centerX as Float, intArrayOf(startColor, midColor, endColor), null)
+ canvas.drawArc(oval, 0f, sweepAngle.toFloat(), false, paint)
+ paint.shader = null
+ canvas.rotate(-startAngle.toFloat(), centerX.toFloat(), centerX.toFloat())
+ canvas.restore()
+
+ // step3 画文字指示
+ paint.strokeWidth = 0f
+ paint.color = textColor
+ paint.textSize = textSize
+ paint.style = Paint.Style.FILL
+ // 计算百分比
+ val percent = (progress.toFloat() / max.toFloat() * 100).toInt()
+ if (textShow && text != null && text.length > 0 && percent >= 0) {
+ // 3.1 画文字
+ paint.typeface = Typeface.DEFAULT // 设置为默认字体
+ val textWidth = paint.measureText(text) // 测量字体宽度
+ canvas.drawText(text, centerX - textWidth / 2, centerX.toFloat(), paint)
+ // 3.2 画百分比
+ paint.textSize = numSize
+ paint.color = numColor
+ if (useCustomFont) {
+ paint.typeface =
+ com.sjc.baseAndroid.weight.MediumManager.setFont(context, 4) // 设置字体
+ } else {
+ paint.typeface = Typeface.DEFAULT_BOLD // 设置为加粗默认字体
+ }
+ val numWidth =
+ paint.measureText(progress.toString() + numText) // 测量字体宽度,我们需要根据字体的宽度设置在圆环中间
+ canvas.drawText(
+ progress.toString() + numText,
+ centerX - numWidth / 2,
+ centerX + textSize + 5,
+ paint
+ ) // 画出进度百分比
+ }
+ }
+
+ /**
+ * 设置进度的最大值
+ *
+ * 根据需要,最大值一般设置为100,也可以设置为1000、10000等
+ *
+ * @param max int最大值
+ */
+ @Synchronized
+ fun setMax(max: Int) {
+ require(max >= 0) { "max not less than 0" }
+ this.max = max
+ }
+
+ /**
+ * 获取进度
+ *
+ * @return int 当前进度值
+ */
+ @Synchronized
+ fun getProgress(): Double {
+ return progress
+ }
+
+ /**
+ * 设置进度,此为线程安全控件
+ *
+ * @param progress 进度值
+ */
+ @Synchronized
+ fun setProgress(progress: Double) {
+ var progress = progress
+ require(progress >= 0) { "progress not less than 0" }
+ if (progress > max) {
+ progress = max.toDouble()
+ }
+ this.progress = progress
+ // 刷新界面调用postInvalidate()能在非UI线程刷新
+ postInvalidate()
+ }
+
+ init {
+ paint = Paint()
+
+ // 读取自定义属性的值
+ val mTypedArray = context.obtainStyledAttributes(attrs, R.styleable.GradientRoundProgress)
+
+ // 获取自定义属性和默认值
+ roundColor =
+ mTypedArray.getColor(R.styleable.GradientRoundProgress_grp_roundColor, Color.RED)
+ roundWidth = mTypedArray.getDimension(R.styleable.GradientRoundProgress_grp_roundWidth, 5f)
+ progressColor =
+ mTypedArray.getColor(R.styleable.GradientRoundProgress_grp_progressColor, Color.GREEN)
+ progressWidth = mTypedArray.getDimension(
+ R.styleable.GradientRoundProgress_grp_progressWidth,
+ roundWidth
+ )
+ text = mTypedArray.getString(R.styleable.GradientRoundProgress_grp_text)
+ numText = mTypedArray.getString(R.styleable.GradientRoundProgress_grp_numText)
+ if (numText == null) {
+ numText = ""
+ }
+ textColor =
+ mTypedArray.getColor(R.styleable.GradientRoundProgress_grp_textColor, Color.GREEN)
+ numColor = mTypedArray.getColor(R.styleable.GradientRoundProgress_grp_numColor, Color.GREEN)
+ textSize = mTypedArray.getDimension(R.styleable.GradientRoundProgress_grp_textSize, 11f)
+ numSize = mTypedArray.getDimension(R.styleable.GradientRoundProgress_grp_numSize, 14f)
+ max = mTypedArray.getInteger(R.styleable.GradientRoundProgress_grp_max, 100)
+ startAngle = mTypedArray.getInt(R.styleable.GradientRoundProgress_grp_startAngle, 90)
+ textShow = mTypedArray.getBoolean(R.styleable.GradientRoundProgress_grp_textShow, true)
+ useCustomFont =
+ mTypedArray.getBoolean(R.styleable.GradientRoundProgress_grp_userCustomFont, false)
+ startColor =
+ mTypedArray.getColor(R.styleable.GradientRoundProgress_grp_startColor, Color.GREEN)
+ midColor = mTypedArray.getColor(R.styleable.GradientRoundProgress_grp_midColor, Color.GREEN)
+ endColor = mTypedArray.getColor(R.styleable.GradientRoundProgress_grp_endColor, Color.GREEN)
+ mTypedArray.recycle()
+ }
+}
\ No newline at end of file
diff --git a/BaseAndroidKt/src/main/java/com/sjc/baseAndroid/weight/GradientRoundProgressString.kt b/BaseAndroidKt/src/main/java/com/sjc/baseAndroid/weight/GradientRoundProgressString.kt
new file mode 100644
index 0000000..3e05c0f
--- /dev/null
+++ b/BaseAndroidKt/src/main/java/com/sjc/baseAndroid/weight/GradientRoundProgressString.kt
@@ -0,0 +1,199 @@
+package com.sjc.baseAndroid.weight
+
+import android.content.Context
+import android.graphics.*
+import android.util.AttributeSet
+import android.view.View
+import com.sjc.baseAndroid.R
+
+/**
+ * 渐变色环形进度条(进度整型)
+ */
+class GradientRoundProgressString @JvmOverloads constructor(
+ context: Context,
+ attrs: AttributeSet? = null,
+ defStyle: Int = 0
+) : View(context, attrs, defStyle) {
+ private val paint // 画笔对象的引用
+ : Paint
+ private val roundColor // 圆环的颜色
+ : Int
+ private val roundWidth // 圆环的宽度
+ : Float
+ private val progressColor // 圆环进度的颜色
+ : Int
+ private val progressWidth // 圆环进度的宽度
+ : Float
+ private val text // 文字内容
+ : String?
+ private var numText // 文字内容
+ : String?
+ private val textColor // 中间进度百分比的字符串的颜色
+ : Int
+ private val numColor // 中间进度百分比的字符串的颜色
+ : Int
+ private val textSize // 中间进度百分比的字符串的字体大小
+ : Float
+ private val numSize // 中间进度文本大小
+ : Float
+ private var max // 最大进度
+ : Int
+ private val startAngle // 进度条起始角度
+ : Int
+ private val textShow // 是否显示中间的进度
+ : Boolean
+ private val useCustomFont // 是否使用自定义字体
+ : Boolean
+ private val startColor // 渐变色起始色
+ : Int
+ private val midColor // 渐变色中间色
+ : Int
+ private val endColor // 渐变色起始色
+ : Int
+ private var progress // 当前进度
+ = 0
+
+ override fun onDraw(canvas: Canvas) {
+ super.onDraw(canvas)
+ val centerX = width / 2 // 获取圆心的x坐标
+ val radius = (centerX - roundWidth / 2).toInt() // 圆环的半径
+
+ // step1 画最外层的大圆环
+ paint.strokeWidth = roundWidth // 设置圆环的宽度
+ paint.color = roundColor // 设置圆环的颜色
+ paint.isAntiAlias = true // 消除锯齿
+ // 设置画笔样式
+ paint.style = Paint.Style.STROKE
+ canvas.drawCircle(centerX.toFloat(), centerX.toFloat(), radius.toFloat(), paint) // 画出圆环
+
+ // step2 画圆弧-画圆环的进度
+ // 锁画布(为了保存之前的画布状态)
+ canvas.save()
+ canvas.rotate(startAngle.toFloat(), centerX.toFloat(), centerX.toFloat())
+ paint.strokeWidth = progressWidth // 设置画笔的宽度使用进度条的宽度
+ paint.color = progressColor // 设置进度的颜色
+ val oval = RectF(
+ (centerX - radius).toFloat(),
+ (centerX - radius).toFloat(),
+ (centerX + radius).toFloat(),
+ (centerX + radius).toFloat()
+ ) // 用于定义的圆弧的形状和大小的界限
+ val sweepAngle = 360 * progress / max // 计算进度值在圆环所占的角度
+ // 根据进度画圆弧
+ paint.shader =
+ SweepGradient(centerX as Float, centerX as Float, intArrayOf(startColor, midColor, endColor), null)
+ canvas.drawArc(oval, 0f, sweepAngle.toFloat(), false, paint)
+ paint.shader = null
+ canvas.rotate(-startAngle.toFloat(), centerX.toFloat(), centerX.toFloat())
+ canvas.restore()
+
+ // step3 画文字指示
+ paint.strokeWidth = 0f
+ paint.color = textColor
+ paint.textSize = textSize
+ paint.style = Paint.Style.FILL
+ // 计算百分比
+ val percent = (progress.toFloat() / max.toFloat() * 100).toInt()
+ if (textShow && text != null && text.length > 0 && percent >= 0) {
+ // 3.1 画文字
+ paint.typeface = Typeface.DEFAULT // 设置为默认字体
+ val textWidth = paint.measureText(text) // 测量字体宽度
+ canvas.drawText(text, centerX - textWidth / 2, centerX.toFloat(), paint)
+ // 3.2 画百分比
+ paint.textSize = numSize
+ paint.color = numColor
+ if (useCustomFont) {
+ paint.typeface =
+ com.sjc.baseAndroid.weight.MediumManager.setFont(context, 4) // 设置字体
+ } else {
+ paint.typeface = Typeface.DEFAULT_BOLD // 设置为加粗默认字体
+ }
+ val numWidth =
+ paint.measureText(progress.toString() + numText) // 测量字体宽度,我们需要根据字体的宽度设置在圆环中间
+ canvas.drawText(
+ progress.toString() + numText,
+ centerX - numWidth / 2,
+ centerX + textSize + 5,
+ paint
+ ) // 画出进度百分比
+ }
+ }
+
+ /**
+ * 设置进度的最大值
+ *
+ * 根据需要,最大值一般设置为100,也可以设置为1000、10000等
+ *
+ * @param max int最大值
+ */
+ @Synchronized
+ fun setMax(max: Int) {
+ require(max >= 0) { "max not less than 0" }
+ this.max = max
+ }
+
+ /**
+ * 获取进度
+ *
+ * @return int 当前进度值
+ */
+ @Synchronized
+ fun getProgress(): Int {
+ return progress
+ }
+
+ /**
+ * 设置进度,此为线程安全控件
+ *
+ * @param progress 进度值
+ */
+ @Synchronized
+ fun setProgress(progress: Int) {
+ var progress = progress
+ require(progress >= 0) { "progress not less than 0" }
+ if (progress > max) {
+ progress = max
+ }
+ this.progress = progress
+ // 刷新界面调用postInvalidate()能在非UI线程刷新
+ postInvalidate()
+ }
+
+ init {
+ paint = Paint()
+
+ // 读取自定义属性的值
+ val mTypedArray = context.obtainStyledAttributes(attrs, R.styleable.GradientRoundProgress)
+
+ // 获取自定义属性和默认值
+ roundColor =
+ mTypedArray.getColor(R.styleable.GradientRoundProgress_grp_roundColor, Color.RED)
+ roundWidth = mTypedArray.getDimension(R.styleable.GradientRoundProgress_grp_roundWidth, 5f)
+ progressColor =
+ mTypedArray.getColor(R.styleable.GradientRoundProgress_grp_progressColor, Color.GREEN)
+ progressWidth = mTypedArray.getDimension(
+ R.styleable.GradientRoundProgress_grp_progressWidth,
+ roundWidth
+ )
+ text = mTypedArray.getString(R.styleable.GradientRoundProgress_grp_text)
+ numText = mTypedArray.getString(R.styleable.GradientRoundProgress_grp_numText)
+ if (numText == null) {
+ numText = ""
+ }
+ textColor =
+ mTypedArray.getColor(R.styleable.GradientRoundProgress_grp_textColor, Color.GREEN)
+ numColor = mTypedArray.getColor(R.styleable.GradientRoundProgress_grp_numColor, Color.GREEN)
+ textSize = mTypedArray.getDimension(R.styleable.GradientRoundProgress_grp_textSize, 11f)
+ numSize = mTypedArray.getDimension(R.styleable.GradientRoundProgress_grp_numSize, 14f)
+ max = mTypedArray.getInteger(R.styleable.GradientRoundProgress_grp_max, 100)
+ startAngle = mTypedArray.getInt(R.styleable.GradientRoundProgress_grp_startAngle, 90)
+ textShow = mTypedArray.getBoolean(R.styleable.GradientRoundProgress_grp_textShow, true)
+ useCustomFont =
+ mTypedArray.getBoolean(R.styleable.GradientRoundProgress_grp_userCustomFont, false)
+ startColor =
+ mTypedArray.getColor(R.styleable.GradientRoundProgress_grp_startColor, Color.GREEN)
+ midColor = mTypedArray.getColor(R.styleable.GradientRoundProgress_grp_midColor, Color.GREEN)
+ endColor = mTypedArray.getColor(R.styleable.GradientRoundProgress_grp_endColor, Color.GREEN)
+ mTypedArray.recycle()
+ }
+}
\ No newline at end of file
diff --git a/BaseAndroidKt/src/main/java/com/sjc/baseAndroid/weight/GradientTextRoundProgress.kt b/BaseAndroidKt/src/main/java/com/sjc/baseAndroid/weight/GradientTextRoundProgress.kt
new file mode 100644
index 0000000..083c1e4
--- /dev/null
+++ b/BaseAndroidKt/src/main/java/com/sjc/baseAndroid/weight/GradientTextRoundProgress.kt
@@ -0,0 +1,187 @@
+package com.sjc.baseAndroid.weight
+
+import android.content.Context
+import android.graphics.*
+import android.util.AttributeSet
+import android.view.View
+import com.sjc.baseAndroid.R
+
+/**
+ * 配文字环形进度条
+ */
+class GradientTextRoundProgress @JvmOverloads constructor(
+ context: Context,
+ attrs: AttributeSet? = null,
+ defStyle: Int = 0
+) : View(context, attrs, defStyle) {
+ private val paint // 画笔对象的引用
+ : Paint
+ private val textPaint // 值文字画笔对象的引用
+ : Paint
+ private val tipsPaint // 标题文字画笔对象的引用
+ : Paint
+ private val roundColor // 圆环的颜色
+ : Int
+ private val roundWidth // 圆环的宽度
+ : Float
+ private val progressColor // 圆环进度的颜色
+ : Int
+ private val progressWidth // 圆环进度的宽度
+ : Float
+ private val text // 文字内容
+ : String?
+ private val textTips // 文字内容
+ : String?
+ private val tiptextColor // 标题字符串的颜色
+ : Int
+ private val textColor // 中间进度百分比的字符串的颜色
+ : Int
+ private val tiptextSize // 标题字符串的字体大小
+ : Float
+ private val textSize // 中间进度百分比的字符串的字体大小
+ : Float
+ private val numSize // 中间进度文本大小
+ : Float
+ private var max // 最大进度
+ : Int
+ private val startAngle // 进度条起始角度
+ : Int
+ private val textShow // 是否显示中间的进度
+ : Boolean
+ private val useCustomFont // 是否使用自定义字体
+ : Boolean
+ private var progress // 当前进度
+ = 0
+
+ override fun onDraw(canvas: Canvas) {
+ super.onDraw(canvas)
+ val centerX = width / 2 // 获取圆心的x坐标
+ val radius = (centerX - roundWidth / 2).toInt() // 圆环的半径
+
+ // step1 画最外层的大圆环
+ paint.strokeWidth = roundWidth // 设置圆环的宽度
+ paint.color = roundColor // 设置圆环的颜色
+ paint.isAntiAlias = true // 消除锯齿
+ // 设置画笔样式
+ paint.style = Paint.Style.STROKE
+ canvas.drawCircle(centerX.toFloat(), centerX.toFloat(), radius.toFloat(), paint) // 画出圆环
+
+ // step2 画圆弧-画圆环的进度
+ paint.strokeWidth = progressWidth // 设置画笔的宽度使用进度条的宽度
+ paint.color = progressColor // 设置进度的颜色
+ val oval = RectF(
+ (centerX - radius).toFloat(),
+ (centerX - radius).toFloat(),
+ (centerX + radius).toFloat(),
+ (centerX + radius).toFloat()
+ ) // 用于定义的圆弧的形状和大小的界限
+ val sweepAngle = 360 * progress / max // 计算进度值在圆环所占的角度
+ // 根据进度画圆弧
+ canvas.drawArc(oval, startAngle.toFloat(), sweepAngle.toFloat(), false, paint)
+
+ // step3 画文字指示
+ textPaint.strokeWidth = 0f
+ textPaint.color = textColor
+ textPaint.style = Paint.Style.FILL
+ textPaint.textSize = textSize
+ tipsPaint.strokeWidth = 0f
+ tipsPaint.color = tiptextColor
+ tipsPaint.style = Paint.Style.FILL
+ tipsPaint.textSize = tiptextSize
+ // 计算百分比
+ val percent = (progress.toFloat() / max.toFloat() * 100).toInt()
+ if (textShow && text != null && text.length > 0 && percent >= 0) {
+ // 3.1 画文字
+ tipsPaint.typeface = Typeface.DEFAULT // 设置为默认字体
+ val textWidth = tipsPaint.measureText(textTips) // 测量字体宽度
+ canvas.drawText(textTips!!, centerX - textWidth / 2, centerX + textSize + 5, paint)
+
+
+ // 3.2 画百分比
+ textPaint.textSize = numSize
+ if (useCustomFont) {
+ textPaint.typeface =
+ com.sjc.baseAndroid.weight.MediumManager.setFont(context, 4) // 设置字体
+ } else {
+ textPaint.typeface = Typeface.DEFAULT_BOLD // 设置为加粗默认字体
+ }
+ val numWidth = textPaint.measureText("$percent%") // 测量字体宽度,我们需要根据字体的宽度设置在圆环中间
+ canvas.drawText(
+ "$percent%",
+ centerX - numWidth / 2,
+ centerX.toFloat(),
+ paint
+ ) // 画出进度百分比
+ }
+ }
+
+ /**
+ * 设置进度的最大值
+ *
+ * 根据需要,最大值一般设置为100,也可以设置为1000、10000等
+ *
+ * @param max int最大值
+ */
+ @Synchronized
+ fun setMax(max: Int) {
+ require(max >= 0) { "max not less than 0" }
+ this.max = max
+ }
+
+ /**
+ * 获取进度
+ *
+ * @return int 当前进度值
+ */
+ @Synchronized
+ fun getProgress(): Int {
+ return progress
+ }
+
+ /**
+ * 设置进度,此为线程安全控件
+ *
+ * @param progress 进度值
+ */
+ @Synchronized
+ fun setProgress(progress: Int) {
+ var progress = progress
+ require(progress >= 0) { "progress not less than 0" }
+ if (progress > max) {
+ progress = max
+ }
+ this.progress = progress
+ // 刷新界面调用postInvalidate()能在非UI线程刷新
+ postInvalidate()
+ }
+
+ init {
+ paint = Paint()
+ textPaint = Paint()
+ tipsPaint = Paint()
+ // 读取自定义属性的值
+ val mTypedArray = context.obtainStyledAttributes(attrs, R.styleable.TextRoundProgress)
+
+ // 获取自定义属性和默认值
+ roundColor = mTypedArray.getColor(R.styleable.TextRoundProgress_trp_roundColor, Color.RED)
+ roundWidth = mTypedArray.getDimension(R.styleable.TextRoundProgress_trp_roundWidth, 5f)
+ progressColor =
+ mTypedArray.getColor(R.styleable.TextRoundProgress_trp_progressColor, Color.GREEN)
+ progressWidth =
+ mTypedArray.getDimension(R.styleable.TextRoundProgress_trp_progressWidth, roundWidth)
+ text = mTypedArray.getString(R.styleable.TextRoundProgress_trp_text)
+ textTips = mTypedArray.getString(R.styleable.TextRoundProgress_trp_text)
+ textColor = mTypedArray.getColor(R.styleable.TextRoundProgress_trp_textColor, Color.GREEN)
+ tiptextColor =
+ mTypedArray.getColor(R.styleable.TextRoundProgress_trp_tips_textColor, Color.GREEN)
+ textSize = mTypedArray.getDimension(R.styleable.TextRoundProgress_trp_textSize, 11f)
+ tiptextSize = mTypedArray.getDimension(R.styleable.TextRoundProgress_trp_tips_textSize, 11f)
+ numSize = mTypedArray.getDimension(R.styleable.TextRoundProgress_trp_numSize, 14f)
+ max = mTypedArray.getInteger(R.styleable.TextRoundProgress_trp_max, 100)
+ startAngle = mTypedArray.getInt(R.styleable.TextRoundProgress_trp_startAngle, 90)
+ textShow = mTypedArray.getBoolean(R.styleable.TextRoundProgress_trp_textShow, true)
+ useCustomFont =
+ mTypedArray.getBoolean(R.styleable.TextRoundProgress_trp_userCustomFont, false)
+ mTypedArray.recycle()
+ }
+}
\ No newline at end of file
diff --git a/BaseAndroidKt/src/main/java/com/sjc/baseAndroid/weight/HeavyEditView.kt b/BaseAndroidKt/src/main/java/com/sjc/baseAndroid/weight/HeavyEditView.kt
new file mode 100644
index 0000000..86f1be8
--- /dev/null
+++ b/BaseAndroidKt/src/main/java/com/sjc/baseAndroid/weight/HeavyEditView.kt
@@ -0,0 +1,20 @@
+package com.sjc.baseAndroid.weight
+
+import android.content.Context
+import android.util.AttributeSet
+import androidx.appcompat.widget.AppCompatEditText
+
+class HeavyEditView(context: Context, attrs: AttributeSet?) : AppCompatEditText(context, attrs) {
+ /**
+ * 初始化字体
+ * @param context
+ */
+ private fun init(context: Context) {
+ //设置字体样式
+ setTypeface(com.sjc.baseAndroid.weight.HeavyManager.setFont(context, 5))
+ }
+
+ init {
+ init(context)
+ }
+}
\ No newline at end of file
diff --git a/BaseAndroidKt/src/main/java/com/sjc/baseAndroid/weight/HeavyManager.kt b/BaseAndroidKt/src/main/java/com/sjc/baseAndroid/weight/HeavyManager.kt
new file mode 100644
index 0000000..26f31e0
--- /dev/null
+++ b/BaseAndroidKt/src/main/java/com/sjc/baseAndroid/weight/HeavyManager.kt
@@ -0,0 +1,23 @@
+package com.sjc.baseAndroid.weight
+
+import android.content.Context
+import android.graphics.Typeface
+
+object HeavyManager {
+ // fongUrl是自定义字体分类的名称
+ private const val typeface_heavy = "fonts/heavy.TTF"
+
+ //Typeface是字体,这里我们创建一个对象
+ private var tf: Typeface? = null
+
+ /**
+ * 设置字体
+ */
+ fun setFont(context: Context, type: Int): Typeface? {
+ if (tf == null) {
+ //给它设置你传入的自定义字体文件,再返回回来
+ tf = Typeface.createFromAsset(context.assets, typeface_heavy)
+ }
+ return tf
+ }
+}
\ No newline at end of file
diff --git a/BaseAndroidKt/src/main/java/com/sjc/baseAndroid/weight/HeavyTextView.kt b/BaseAndroidKt/src/main/java/com/sjc/baseAndroid/weight/HeavyTextView.kt
new file mode 100644
index 0000000..55b81a6
--- /dev/null
+++ b/BaseAndroidKt/src/main/java/com/sjc/baseAndroid/weight/HeavyTextView.kt
@@ -0,0 +1,21 @@
+package com.sjc.baseAndroid.weight
+
+import android.content.Context
+import android.util.AttributeSet
+import androidx.appcompat.widget.AppCompatTextView
+import com.sjc.baseAndroid.weight.HeavyManager.setFont
+
+class HeavyTextView(context: Context, attrs: AttributeSet?) : AppCompatTextView(context, attrs) {
+ /**
+ * 初始化字体
+ * @param context
+ */
+ private fun init(context: Context) {
+ //设置字体样式
+ typeface = setFont(context, 5)
+ }
+
+ init {
+ init(context)
+ }
+}
\ No newline at end of file
diff --git a/BaseAndroidKt/src/main/java/com/sjc/baseAndroid/weight/LightManager.kt b/BaseAndroidKt/src/main/java/com/sjc/baseAndroid/weight/LightManager.kt
new file mode 100644
index 0000000..4efd778
--- /dev/null
+++ b/BaseAndroidKt/src/main/java/com/sjc/baseAndroid/weight/LightManager.kt
@@ -0,0 +1,23 @@
+package com.sjc.baseAndroid.weight
+
+import android.content.Context
+import android.graphics.Typeface
+
+object LightManager {
+ // fongUrl是自定义字体分类的名称
+ private const val typeface_light = "fonts/light.TTF"
+
+ //Typeface是字体,这里我们创建一个对象
+ private var tf: Typeface? = null
+
+ /**
+ * 设置字体
+ */
+ fun setFont(context: Context, type: Int): Typeface? {
+ if (tf == null) {
+ //给它设置你传入的自定义字体文件,再返回回来
+ tf = Typeface.createFromAsset(context.assets, typeface_light)
+ }
+ return tf
+ }
+}
\ No newline at end of file
diff --git a/BaseAndroidKt/src/main/java/com/sjc/baseAndroid/weight/LightTextView.kt b/BaseAndroidKt/src/main/java/com/sjc/baseAndroid/weight/LightTextView.kt
new file mode 100644
index 0000000..4031e7c
--- /dev/null
+++ b/BaseAndroidKt/src/main/java/com/sjc/baseAndroid/weight/LightTextView.kt
@@ -0,0 +1,21 @@
+package com.sjc.baseAndroid.weight
+
+import android.content.Context
+import android.util.AttributeSet
+import androidx.appcompat.widget.AppCompatTextView
+import com.sjc.baseAndroid.weight.LightManager.setFont
+
+class LightTextView(context: Context, attrs: AttributeSet?) : AppCompatTextView(context, attrs) {
+ /**
+ * 初始化字体
+ * @param context
+ */
+ private fun init(context: Context) {
+ //设置字体样式
+ typeface = setFont(context, 2)
+ }
+
+ init {
+ init(context)
+ }
+}
\ No newline at end of file
diff --git a/BaseAndroidKt/src/main/java/com/sjc/baseAndroid/weight/MediumButton.kt b/BaseAndroidKt/src/main/java/com/sjc/baseAndroid/weight/MediumButton.kt
new file mode 100644
index 0000000..1e03937
--- /dev/null
+++ b/BaseAndroidKt/src/main/java/com/sjc/baseAndroid/weight/MediumButton.kt
@@ -0,0 +1,23 @@
+package com.sjc.baseAndroid.weight
+
+import android.content.Context
+import android.util.AttributeSet
+import android.view.View
+import androidx.appcompat.widget.AppCompatButton
+import androidx.databinding.BindingAdapter
+
+class MediumButton(context: Context, attrs: AttributeSet?) : AppCompatButton(context, attrs) {
+ /**
+ * 初始化字体
+ * @param context
+ */
+ private fun init(context: Context) {
+ //设置字体样式
+ setTypeface(MediumManager.setFont(context, 4))
+ }
+
+
+ init {
+ init(context)
+ }
+}
\ No newline at end of file
diff --git a/BaseAndroidKt/src/main/java/com/sjc/baseAndroid/weight/MediumEditView.kt b/BaseAndroidKt/src/main/java/com/sjc/baseAndroid/weight/MediumEditView.kt
new file mode 100644
index 0000000..2c97abc
--- /dev/null
+++ b/BaseAndroidKt/src/main/java/com/sjc/baseAndroid/weight/MediumEditView.kt
@@ -0,0 +1,20 @@
+package com.sjc.baseAndroid.weight
+
+import android.content.Context
+import android.util.AttributeSet
+import androidx.appcompat.widget.AppCompatEditText
+
+class MediumEditView(context: Context, attrs: AttributeSet?) : AppCompatEditText(context, attrs) {
+ /**
+ * 初始化字体
+ * @param context
+ */
+ private fun init(context: Context) {
+ //设置字体样式
+ setTypeface(com.sjc.baseAndroid.weight.MediumManager.setFont(context, 4))
+ }
+
+ init {
+ init(context)
+ }
+}
\ No newline at end of file
diff --git a/BaseAndroidKt/src/main/java/com/sjc/baseAndroid/weight/MediumManager.kt b/BaseAndroidKt/src/main/java/com/sjc/baseAndroid/weight/MediumManager.kt
new file mode 100644
index 0000000..37f8533
--- /dev/null
+++ b/BaseAndroidKt/src/main/java/com/sjc/baseAndroid/weight/MediumManager.kt
@@ -0,0 +1,23 @@
+package com.sjc.baseAndroid.weight
+
+import android.content.Context
+import android.graphics.Typeface
+
+object MediumManager {
+ // fongUrl是自定义字体分类的名称
+ private const val typeface_medium = "fonts/medium.TTF"
+
+ //Typeface是字体,这里我们创建一个对象
+ private var tf: Typeface? = null
+
+ /**
+ * 设置字体
+ */
+ fun setFont(context: Context, type: Int): Typeface? {
+ if (tf == null) {
+ //给它设置你传入的自定义字体文件,再返回回来
+ tf = Typeface.createFromAsset(context.assets, typeface_medium)
+ }
+ return tf
+ }
+}
\ No newline at end of file
diff --git a/BaseAndroidKt/src/main/java/com/sjc/baseAndroid/weight/MediumTextView.kt b/BaseAndroidKt/src/main/java/com/sjc/baseAndroid/weight/MediumTextView.kt
new file mode 100644
index 0000000..9780328
--- /dev/null
+++ b/BaseAndroidKt/src/main/java/com/sjc/baseAndroid/weight/MediumTextView.kt
@@ -0,0 +1,21 @@
+package com.sjc.baseAndroid.weight
+
+import android.content.Context
+import android.util.AttributeSet
+import androidx.appcompat.widget.AppCompatTextView
+
+
+class MediumTextView(context: Context, attrs: AttributeSet?) : AppCompatTextView(context, attrs) {
+ /**
+ * 初始化字体
+ * @param context
+ */
+ private fun init(context: Context) {
+ //设置字体样式
+ typeface = MediumManager.setFont(context, 4)
+ }
+ init {
+ init(context)
+ }
+
+}
\ No newline at end of file
diff --git a/BaseAndroidKt/src/main/java/com/sjc/baseAndroid/weight/NoScrollViewPager.kt b/BaseAndroidKt/src/main/java/com/sjc/baseAndroid/weight/NoScrollViewPager.kt
new file mode 100644
index 0000000..b420a39
--- /dev/null
+++ b/BaseAndroidKt/src/main/java/com/sjc/baseAndroid/weight/NoScrollViewPager.kt
@@ -0,0 +1,44 @@
+package com.sjc.baseAndroid.weight
+
+import android.content.Context
+import android.util.AttributeSet
+import android.view.MotionEvent
+import androidx.viewpager.widget.ViewPager
+
+class NoScrollViewPager : ViewPager {
+ constructor(context: Context?, attrs: AttributeSet?) : super(
+ context!!, attrs
+ ) {
+ }
+
+ constructor(context: Context?) : super(context!!) {}
+
+ /**
+ * 事件不处理触摸事件,返回false
+ */
+ override fun onTouchEvent(ev: MotionEvent): Boolean {
+ return false
+ }
+
+ /**
+ * false:不拦截儿子的触摸事件
+ */
+ override fun onInterceptTouchEvent(ev: MotionEvent): Boolean {
+ return false
+ } //
+ // @Override
+ // protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) {
+ //
+ // int height = 0;
+ // for (int i = 0; i < getChildCount(); i++) {
+ // View child = getChildAt(i);
+ // child.measure(widthMeasureSpec, MeasureSpec.makeMeasureSpec(0, MeasureSpec.UNSPECIFIED));
+ // int h = child.getMeasuredHeight();
+ // if (h > height) height = h;
+ // }
+ //
+ // heightMeasureSpec = MeasureSpec.makeMeasureSpec(height, MeasureSpec.EXACTLY);
+ //
+ // super.onMeasure(widthMeasureSpec, heightMeasureSpec);
+ // }
+}
\ No newline at end of file
diff --git a/BaseAndroidKt/src/main/java/com/sjc/baseAndroid/weight/OnViewGlobalLayoutListener.kt b/BaseAndroidKt/src/main/java/com/sjc/baseAndroid/weight/OnViewGlobalLayoutListener.kt
new file mode 100644
index 0000000..a088343
--- /dev/null
+++ b/BaseAndroidKt/src/main/java/com/sjc/baseAndroid/weight/OnViewGlobalLayoutListener.kt
@@ -0,0 +1,15 @@
+package com.sjc.baseAndroid.weight
+
+import android.view.View
+import android.view.ViewTreeObserver.OnGlobalLayoutListener
+
+class OnViewGlobalLayoutListener(private val view: View, height: Int) : OnGlobalLayoutListener {
+ private var maxHeight = 500
+ override fun onGlobalLayout() {
+ if (view.height > maxHeight) view.layoutParams.height = maxHeight
+ }
+
+ init {
+ maxHeight = height
+ }
+}
\ No newline at end of file
diff --git a/BaseAndroidKt/src/main/java/com/sjc/baseAndroid/weight/ProgressWheel.kt b/BaseAndroidKt/src/main/java/com/sjc/baseAndroid/weight/ProgressWheel.kt
new file mode 100644
index 0000000..5821e6c
--- /dev/null
+++ b/BaseAndroidKt/src/main/java/com/sjc/baseAndroid/weight/ProgressWheel.kt
@@ -0,0 +1,728 @@
+package com.sjc.baseAndroid.weight
+
+import android.annotation.TargetApi
+import android.content.Context
+import android.content.res.TypedArray
+import android.graphics.Canvas
+import android.graphics.Paint
+import android.graphics.RectF
+import android.os.Build
+import android.os.Parcel
+import android.os.Parcelable
+import android.os.SystemClock
+import android.provider.Settings
+import android.util.AttributeSet
+import android.util.TypedValue
+import android.view.View
+import com.sjc.baseAndroid.R
+import com.sjc.baseAndroid.weight.ProgressWheel
+
+/**
+ * 加载框
+ */
+/**
+ * A Material style progress wheel, compatible up to 2.2.
+ * Todd Davies' Progress Wheel https://github.com/Todd-Davies/ProgressWheel
+ * https://github.com/pnikosis/materialish-progress
+ * @author Nico Hormazábal
+ *
+ *
+ * Licensed under the Apache License 2.0 license see:
+ * http://www.apache.org/licenses/LICENSE-2.0
+ */
+class ProgressWheel : View {
+ private val barLength = 16
+ private val barMaxLength = 270
+ private val pauseGrowingTime: Long = 200
+
+ /**
+ * *********
+ * DEFAULTS *
+ * **********
+ */
+ //Sizes (with defaults in DP)
+ private var circleRadius = 28
+ private var barWidth = 4
+ private var rimWidth = 4
+ private var fillRadius = false
+ private var timeStartGrowing = 0.0
+ private var barSpinCycleTime = 460.0
+ private var barExtraLength = 0f
+ private var barGrowingFromFront = true
+ private var pausedTimeWithoutGrowing: Long = 0
+
+ //Colors (with defaults)
+ private var barColor = -0x56000000
+ private var rimColor = 0x00FFFFFF
+
+ //Paints
+ private val barPaint = Paint()
+ private val rimPaint = Paint()
+
+ //Rectangles
+ private var circleBounds = RectF()
+
+ //Animation
+ //The amount of degrees per second
+ private var spinSpeed = 230.0f
+
+ //private float spinSpeed = 120.0f;
+ // The last time the spinner was animated
+ private var lastTimeAnimated: Long = 0
+ private var linearProgress = false
+ private var mProgress = 0.0f
+ private var mTargetProgress = 0.0f
+
+ /**
+ * Check if the wheel is currently spinning
+ */
+ var isSpinning = false
+ private set
+ private var callback: ProgressCallback? = null
+ private var shouldAnimate = false
+
+ /**
+ * The constructor for the ProgressWheel
+ */
+ constructor(context: Context, attrs: AttributeSet?) : super(context, attrs) {
+ parseAttributes(context.obtainStyledAttributes(attrs, R.styleable.ProgressWheel))
+ setAnimationEnabled()
+ }
+
+ /**
+ * The constructor for the ProgressWheel
+ */
+ constructor(context: Context?) : super(context) {
+ setAnimationEnabled()
+ }
+
+ @TargetApi(Build.VERSION_CODES.JELLY_BEAN_MR1)
+ private fun setAnimationEnabled() {
+ val currentApiVersion = Build.VERSION.SDK_INT
+ val animationValue: Float
+ animationValue = if (currentApiVersion >= Build.VERSION_CODES.JELLY_BEAN_MR1) {
+ Settings.Global.getFloat(
+ context.contentResolver,
+ Settings.Global.ANIMATOR_DURATION_SCALE, 1f
+ )
+ } else {
+ Settings.System.getFloat(
+ context.contentResolver,
+ Settings.System.ANIMATOR_DURATION_SCALE, 1f
+ )
+ }
+ shouldAnimate = animationValue != 0f
+ }
+
+ //----------------------------------
+ //Setting up stuff
+ //----------------------------------
+ override fun onMeasure(widthMeasureSpec: Int, heightMeasureSpec: Int) {
+ super.onMeasure(widthMeasureSpec, heightMeasureSpec)
+ val viewWidth = circleRadius + this.paddingLeft + this.paddingRight
+ val viewHeight = circleRadius + this.paddingTop + this.paddingBottom
+ val widthMode = MeasureSpec.getMode(widthMeasureSpec)
+ val widthSize = MeasureSpec.getSize(widthMeasureSpec)
+ val heightMode = MeasureSpec.getMode(heightMeasureSpec)
+ val heightSize = MeasureSpec.getSize(heightMeasureSpec)
+ val width: Int
+ val height: Int
+
+ //Measure Width
+ width = if (widthMode == MeasureSpec.EXACTLY) {
+ //Must be this size
+ widthSize
+ } else if (widthMode == MeasureSpec.AT_MOST) {
+ //Can't be bigger than...
+ Math.min(viewWidth, widthSize)
+ } else {
+ //Be whatever you want
+ viewWidth
+ }
+
+ //Measure Height
+ height = if (heightMode == MeasureSpec.EXACTLY || widthMode == MeasureSpec.EXACTLY) {
+ //Must be this size
+ heightSize
+ } else if (heightMode == MeasureSpec.AT_MOST) {
+ //Can't be bigger than...
+ Math.min(viewHeight, heightSize)
+ } else {
+ //Be whatever you want
+ viewHeight
+ }
+ setMeasuredDimension(width, height)
+ }
+
+ /**
+ * Use onSizeChanged instead of onAttachedToWindow to get the dimensions of the view,
+ * because this method is called after measuring the dimensions of MATCH_PARENT & WRAP_CONTENT.
+ * Use this dimensions to setup the bounds and paints.
+ */
+ override fun onSizeChanged(w: Int, h: Int, oldw: Int, oldh: Int) {
+ super.onSizeChanged(w, h, oldw, oldh)
+ setupBounds(w, h)
+ setupPaints()
+ invalidate()
+ }
+
+ /**
+ * Set the properties of the paints we're using to
+ * draw the progress wheel
+ */
+ private fun setupPaints() {
+ barPaint.color = barColor
+ barPaint.isAntiAlias = true
+ barPaint.style = Paint.Style.STROKE
+ barPaint.strokeWidth = barWidth.toFloat()
+ rimPaint.color = rimColor
+ rimPaint.isAntiAlias = true
+ rimPaint.style = Paint.Style.STROKE
+ rimPaint.strokeWidth = rimWidth.toFloat()
+ }
+
+ /**
+ * Set the bounds of the component
+ */
+ private fun setupBounds(layout_width: Int, layout_height: Int) {
+ val paddingTop = paddingTop
+ val paddingBottom = paddingBottom
+ val paddingLeft = paddingLeft
+ val paddingRight = paddingRight
+ circleBounds = if (!fillRadius) {
+ // Width should equal to Height, find the min value to setup the circle
+ val minValue = Math.min(
+ layout_width - paddingLeft - paddingRight,
+ layout_height - paddingBottom - paddingTop
+ )
+ val circleDiameter = Math.min(minValue, circleRadius * 2 - barWidth * 2)
+
+ // Calc the Offset if needed for centering the wheel in the available space
+ val xOffset =
+ (layout_width - paddingLeft - paddingRight - circleDiameter) / 2 + paddingLeft
+ val yOffset =
+ (layout_height - paddingTop - paddingBottom - circleDiameter) / 2 + paddingTop
+ RectF(
+ (xOffset + barWidth).toFloat(),
+ (yOffset + barWidth).toFloat(),
+ (xOffset + circleDiameter - barWidth).toFloat(),
+ (yOffset + circleDiameter - barWidth).toFloat()
+ )
+ } else {
+ RectF(
+ (paddingLeft + barWidth).toFloat(),
+ (paddingTop + barWidth).toFloat(),
+ (layout_width - paddingRight - barWidth).toFloat(),
+ (layout_height - paddingBottom - barWidth).toFloat()
+ )
+ }
+ }
+
+ /**
+ * Parse the attributes passed to the view from the XML
+ *
+ * @param a the attributes to parse
+ */
+ private fun parseAttributes(a: TypedArray) {
+ // We transform the default values from DIP to pixels
+ val metrics = context.resources.displayMetrics
+ barWidth =
+ TypedValue.applyDimension(TypedValue.COMPLEX_UNIT_DIP, barWidth.toFloat(), metrics)
+ .toInt()
+ rimWidth =
+ TypedValue.applyDimension(TypedValue.COMPLEX_UNIT_DIP, rimWidth.toFloat(), metrics)
+ .toInt()
+ circleRadius =
+ TypedValue.applyDimension(TypedValue.COMPLEX_UNIT_DIP, circleRadius.toFloat(), metrics)
+ .toInt()
+ circleRadius =
+ a.getDimension(R.styleable.ProgressWheel_matProg_circleRadius, circleRadius.toFloat())
+ .toInt()
+ fillRadius = a.getBoolean(R.styleable.ProgressWheel_matProg_fillRadius, false)
+ barWidth =
+ a.getDimension(R.styleable.ProgressWheel_matProg_barWidth, barWidth.toFloat()).toInt()
+ rimWidth =
+ a.getDimension(R.styleable.ProgressWheel_matProg_rimWidth, rimWidth.toFloat()).toInt()
+ val baseSpinSpeed =
+ a.getFloat(R.styleable.ProgressWheel_matProg_spinSpeed, spinSpeed / 360.0f)
+ spinSpeed = baseSpinSpeed * 360
+ barSpinCycleTime =
+ a.getInt(R.styleable.ProgressWheel_matProg_barSpinCycleTime, barSpinCycleTime.toInt())
+ .toDouble()
+ barColor = a.getColor(R.styleable.ProgressWheel_matProg_barColor, barColor)
+ rimColor = a.getColor(R.styleable.ProgressWheel_matProg_rimColor, rimColor)
+ linearProgress = a.getBoolean(R.styleable.ProgressWheel_matProg_linearProgress, false)
+ if (a.getBoolean(R.styleable.ProgressWheel_matProg_progressIndeterminate, false)) {
+ spin()
+ }
+
+ // Recycle
+ a.recycle()
+ }
+
+ fun setCallback(progressCallback: ProgressCallback?) {
+ callback = progressCallback
+ if (!isSpinning) {
+ runCallback()
+ }
+ }
+
+ //----------------------------------
+ //Animation stuff
+ //----------------------------------
+ override fun onDraw(canvas: Canvas) {
+ super.onDraw(canvas)
+ canvas.drawArc(circleBounds, 360f, 360f, false, rimPaint)
+ var mustInvalidate = false
+ if (!shouldAnimate) {
+ return
+ }
+ if (isSpinning) {
+ //Draw the spinning bar
+ mustInvalidate = true
+ val deltaTime = SystemClock.uptimeMillis() - lastTimeAnimated
+ val deltaNormalized = deltaTime * spinSpeed / 1000.0f
+ updateBarLength(deltaTime)
+ mProgress += deltaNormalized
+ if (mProgress > 360) {
+ mProgress -= 360f
+
+ // A full turn has been completed
+ // we run the callback with -1 in case we want to
+ // do something, like changing the color
+ runCallback(-1.0f)
+ }
+ lastTimeAnimated = SystemClock.uptimeMillis()
+ var from = mProgress - 90
+ var length = barLength + barExtraLength
+ if (isInEditMode) {
+ from = 0f
+ length = 135f
+ }
+ canvas.drawArc(circleBounds, from, length, false, barPaint)
+ } else {
+ val oldProgress = mProgress
+ if (mProgress != mTargetProgress) {
+ //We smoothly increase the progress bar
+ mustInvalidate = true
+ val deltaTime = (SystemClock.uptimeMillis() - lastTimeAnimated).toFloat() / 1000
+ val deltaNormalized = deltaTime * spinSpeed
+ mProgress = Math.min(mProgress + deltaNormalized, mTargetProgress)
+ lastTimeAnimated = SystemClock.uptimeMillis()
+ }
+ if (oldProgress != mProgress) {
+ runCallback()
+ }
+ var offset = 0.0f
+ var progress = mProgress
+ if (!linearProgress) {
+ val factor = 2.0f
+ offset = (1.0f - Math.pow(
+ (1.0f - mProgress / 360.0f).toDouble(),
+ (2.0f * factor).toDouble()
+ )).toFloat() * 360.0f
+ progress = (1.0f - Math.pow(
+ (1.0f - mProgress / 360.0f).toDouble(),
+ factor.toDouble()
+ )).toFloat() * 360.0f
+ }
+ if (isInEditMode) {
+ progress = 360f
+ }
+ canvas.drawArc(circleBounds, offset - 90, progress, false, barPaint)
+ }
+ if (mustInvalidate) {
+ invalidate()
+ }
+ }
+
+ override fun onVisibilityChanged(changedView: View, visibility: Int) {
+ super.onVisibilityChanged(changedView, visibility)
+ if (visibility == VISIBLE) {
+ lastTimeAnimated = SystemClock.uptimeMillis()
+ }
+ }
+
+ private fun updateBarLength(deltaTimeInMilliSeconds: Long) {
+ if (pausedTimeWithoutGrowing >= pauseGrowingTime) {
+ timeStartGrowing += deltaTimeInMilliSeconds.toDouble()
+ if (timeStartGrowing > barSpinCycleTime) {
+ // We completed a size change cycle
+ // (growing or shrinking)
+ timeStartGrowing -= barSpinCycleTime
+ //if(barGrowingFromFront) {
+ pausedTimeWithoutGrowing = 0
+ //}
+ barGrowingFromFront = !barGrowingFromFront
+ }
+ val distance = Math.cos((timeStartGrowing / barSpinCycleTime + 1) * Math.PI)
+ .toFloat() / 2 + 0.5f
+ val destLength = (barMaxLength - barLength).toFloat()
+ if (barGrowingFromFront) {
+ barExtraLength = distance * destLength
+ } else {
+ val newLength = destLength * (1 - distance)
+ mProgress += barExtraLength - newLength
+ barExtraLength = newLength
+ }
+ } else {
+ pausedTimeWithoutGrowing += deltaTimeInMilliSeconds
+ }
+ }
+
+ /**
+ * Reset the count (in increment mode)
+ */
+ fun resetCount() {
+ mProgress = 0.0f
+ mTargetProgress = 0.0f
+ invalidate()
+ }
+
+ /**
+ * Turn off spin mode
+ */
+ fun stopSpinning() {
+ isSpinning = false
+ mProgress = 0.0f
+ mTargetProgress = 0.0f
+ invalidate()
+ }
+
+ /**
+ * Puts the view on spin mode
+ */
+ fun spin() {
+ lastTimeAnimated = SystemClock.uptimeMillis()
+ isSpinning = true
+ invalidate()
+ }
+
+ private fun runCallback(value: Float) {
+ if (callback != null) {
+ callback!!.onProgressUpdate(value)
+ }
+ }
+
+ private fun runCallback() {
+ if (callback != null) {
+ val normalizedProgress = Math.round(mProgress * 100 / 360.0f)
+ .toFloat() / 100
+ callback!!.onProgressUpdate(normalizedProgress)
+ }
+ }
+
+ /**
+ * Set the progress to a specific value,
+ * the bar will be set instantly to that value
+ *
+ * @param progress the progress between 0 and 1
+ */
+ fun setInstantProgress(progress: Float) {
+ var progress = progress
+ if (isSpinning) {
+ mProgress = 0.0f
+ isSpinning = false
+ }
+ if (progress > 1.0f) {
+ progress -= 1.0f
+ } else if (progress < 0) {
+ progress = 0f
+ }
+ if (progress == mTargetProgress) {
+ return
+ }
+ mTargetProgress = Math.min(progress * 360.0f, 360.0f)
+ mProgress = mTargetProgress
+ lastTimeAnimated = SystemClock.uptimeMillis()
+ invalidate()
+ }
+
+ // Great way to save a view's state http://stackoverflow.com/a/7089687/1991053
+ public override fun onSaveInstanceState(): Parcelable? {
+ val superState = super.onSaveInstanceState()
+ val ss = WheelSavedState(superState)
+
+ // We save everything that can be changed at runtime
+ ss.mProgress = mProgress
+ ss.mTargetProgress = mTargetProgress
+ ss.isSpinning = isSpinning
+ ss.spinSpeed = spinSpeed
+ ss.barWidth = barWidth
+ ss.barColor = barColor
+ ss.rimWidth = rimWidth
+ ss.rimColor = rimColor
+ ss.circleRadius = circleRadius
+ ss.linearProgress = linearProgress
+ ss.fillRadius = fillRadius
+ return ss
+ }
+
+ public override fun onRestoreInstanceState(state: Parcelable) {
+ if (state !is WheelSavedState) {
+ super.onRestoreInstanceState(state)
+ return
+ }
+ val ss = state
+ super.onRestoreInstanceState(ss.superState)
+ mProgress = ss.mProgress
+ mTargetProgress = ss.mTargetProgress
+ isSpinning = ss.isSpinning
+ spinSpeed = ss.spinSpeed
+ barWidth = ss.barWidth
+ barColor = ss.barColor
+ rimWidth = ss.rimWidth
+ rimColor = ss.rimColor
+ circleRadius = ss.circleRadius
+ linearProgress = ss.linearProgress
+ fillRadius = ss.fillRadius
+ lastTimeAnimated = SystemClock.uptimeMillis()
+ }
+ /**
+ * @return the current progress between 0.0 and 1.0,
+ * if the wheel is indeterminate, then the result is -1
+ */// If we are currently in the right position
+ // we set again the last time animated so the
+ // animation starts smooth from here
+ /**
+ * Set the progress to a specific value,
+ * the bar will smoothly animate until that value
+ *
+ * @param progress the progress between 0 and 1
+ */
+ var progress: Float
+ get() = if (isSpinning) -1f else mProgress / 360.0f
+ set(progress) {
+ var progress = progress
+ if (isSpinning) {
+ mProgress = 0.0f
+ isSpinning = false
+ runCallback()
+ }
+ if (progress > 1.0f) {
+ progress -= 1.0f
+ } else if (progress < 0) {
+ progress = 0f
+ }
+ if (progress == mTargetProgress) {
+ return
+ }
+
+ // If we are currently in the right position
+ // we set again the last time animated so the
+ // animation starts smooth from here
+ if (mProgress == mTargetProgress) {
+ lastTimeAnimated = SystemClock.uptimeMillis()
+ }
+ mTargetProgress = Math.min(progress * 360.0f, 360.0f)
+ invalidate()
+ }
+ //----------------------------------
+ //Getters + setters
+ //----------------------------------
+ /**
+ * Sets the determinate progress mode
+ *
+ * @param isLinear if the progress should increase linearly
+ */
+ fun setLinearProgress(isLinear: Boolean) {
+ linearProgress = isLinear
+ if (!isSpinning) {
+ invalidate()
+ }
+ }
+
+ /**
+ * @return the radius of the wheel in pixels
+ */
+ fun getCircleRadius(): Int {
+ return circleRadius
+ }
+
+ /**
+ * Sets the radius of the wheel
+ *
+ * @param circleRadius the expected radius, in pixels
+ */
+ fun setCircleRadius(circleRadius: Int) {
+ this.circleRadius = circleRadius
+ if (!isSpinning) {
+ invalidate()
+ }
+ }
+
+ /**
+ * @return the width of the spinning bar
+ */
+ fun getBarWidth(): Int {
+ return barWidth
+ }
+
+ /**
+ * Sets the width of the spinning bar
+ *
+ * @param barWidth the spinning bar width in pixels
+ */
+ fun setBarWidth(barWidth: Int) {
+ this.barWidth = barWidth
+ if (!isSpinning) {
+ invalidate()
+ }
+ }
+
+ /**
+ * @return the color of the spinning bar
+ */
+ fun getBarColor(): Int {
+ return barColor
+ }
+
+ /**
+ * Sets the color of the spinning bar
+ *
+ * @param barColor The spinning bar color
+ */
+ fun setBarColor(barColor: Int) {
+ this.barColor = barColor
+ setupPaints()
+ if (!isSpinning) {
+ invalidate()
+ }
+ }
+
+ /**
+ * @return the color of the wheel's contour
+ */
+ fun getRimColor(): Int {
+ return rimColor
+ }
+
+ /**
+ * Sets the color of the wheel's contour
+ *
+ * @param rimColor the color for the wheel
+ */
+ fun setRimColor(rimColor: Int) {
+ this.rimColor = rimColor
+ setupPaints()
+ if (!isSpinning) {
+ invalidate()
+ }
+ }
+
+ /**
+ * @return the base spinning speed, in full circle turns per second
+ * (1.0 equals on full turn in one second), this value also is applied for
+ * the smoothness when setting a progress
+ */
+ fun getSpinSpeed(): Float {
+ return spinSpeed / 360.0f
+ }
+
+ /**
+ * Sets the base spinning speed, in full circle turns per second
+ * (1.0 equals on full turn in one second), this value also is applied for
+ * the smoothness when setting a progress
+ *
+ * @param spinSpeed the desired base speed in full turns per second
+ */
+ fun setSpinSpeed(spinSpeed: Float) {
+ this.spinSpeed = spinSpeed * 360.0f
+ }
+
+ /**
+ * @return the width of the wheel's contour in pixels
+ */
+ fun getRimWidth(): Int {
+ return rimWidth
+ }
+
+ /**
+ * Sets the width of the wheel's contour
+ *
+ * @param rimWidth the width in pixels
+ */
+ fun setRimWidth(rimWidth: Int) {
+ this.rimWidth = rimWidth
+ if (!isSpinning) {
+ invalidate()
+ }
+ }
+
+ interface ProgressCallback {
+ /**
+ * Method to call when the progress reaches a value
+ * in order to avoid float precision issues, the progress
+ * is rounded to a float with two decimals.
+ *
+ * In indeterminate mode, the callback is called each time
+ * the wheel completes an animation cycle, with, the progress value is -1.0f
+ *
+ * @param progress a double value between 0.00 and 1.00 both included
+ */
+ fun onProgressUpdate(progress: Float)
+ }
+
+ internal class WheelSavedState : BaseSavedState {
+ var mProgress = 0f
+ var mTargetProgress = 0f
+ var isSpinning = false
+ var spinSpeed = 0f
+ var barWidth = 0
+ var barColor = 0
+ var rimWidth = 0
+ var rimColor = 0
+ var circleRadius = 0
+ var linearProgress = false
+ var fillRadius = false
+
+ constructor(superState: Parcelable?) : super(superState) {}
+ private constructor(`in`: Parcel) : super(`in`) {
+ mProgress = `in`.readFloat()
+ mTargetProgress = `in`.readFloat()
+ isSpinning = `in`.readByte().toInt() != 0
+ spinSpeed = `in`.readFloat()
+ barWidth = `in`.readInt()
+ barColor = `in`.readInt()
+ rimWidth = `in`.readInt()
+ rimColor = `in`.readInt()
+ circleRadius = `in`.readInt()
+ linearProgress = `in`.readByte().toInt() != 0
+ fillRadius = `in`.readByte().toInt() != 0
+ }
+
+ override fun writeToParcel(out: Parcel, flags: Int) {
+ super.writeToParcel(out, flags)
+ out.writeFloat(mProgress)
+ out.writeFloat(mTargetProgress)
+ out.writeByte((if (isSpinning) 1 else 0).toByte())
+ out.writeFloat(spinSpeed)
+ out.writeInt(barWidth)
+ out.writeInt(barColor)
+ out.writeInt(rimWidth)
+ out.writeInt(rimColor)
+ out.writeInt(circleRadius)
+ out.writeByte((if (linearProgress) 1 else 0).toByte())
+ out.writeByte((if (fillRadius) 1 else 0).toByte())
+ }
+
+
+ override fun describeContents(): Int {
+ return 0
+ }
+
+ companion object CREATOR : Parcelable.Creator {
+ override fun createFromParcel(parcel: Parcel): WheelSavedState {
+ return WheelSavedState(parcel)
+ }
+
+ override fun newArray(size: Int): Array {
+ return arrayOfNulls(size)
+ }
+ }
+ }
+
+ companion object {
+ private val TAG = ProgressWheel::class.java.simpleName
+ }
+}
\ No newline at end of file
diff --git a/BaseAndroidKt/src/main/java/com/sjc/baseAndroid/weight/RegularEditView.kt b/BaseAndroidKt/src/main/java/com/sjc/baseAndroid/weight/RegularEditView.kt
new file mode 100644
index 0000000..b3d155e
--- /dev/null
+++ b/BaseAndroidKt/src/main/java/com/sjc/baseAndroid/weight/RegularEditView.kt
@@ -0,0 +1,20 @@
+package com.sjc.baseAndroid.weight
+
+import android.content.Context
+import android.util.AttributeSet
+import androidx.appcompat.widget.AppCompatEditText
+
+class RegularEditView(context: Context, attrs: AttributeSet?) : AppCompatEditText(context, attrs) {
+ /**
+ * 初始化字体
+ * @param context
+ */
+ private fun init(context: Context) {
+ //设置字体样式
+ typeface = RegularManager.setFont(context, 3)
+ }
+
+ init {
+ init(context)
+ }
+}
\ No newline at end of file
diff --git a/BaseAndroidKt/src/main/java/com/sjc/baseAndroid/weight/RegularManager.kt b/BaseAndroidKt/src/main/java/com/sjc/baseAndroid/weight/RegularManager.kt
new file mode 100644
index 0000000..d5394d7
--- /dev/null
+++ b/BaseAndroidKt/src/main/java/com/sjc/baseAndroid/weight/RegularManager.kt
@@ -0,0 +1,23 @@
+package com.sjc.baseAndroid.weight
+
+import android.content.Context
+import android.graphics.Typeface
+
+object RegularManager {
+ // fongUrl是自定义字体分类的名称
+ private const val typeface_regular = "fonts/regular.TTF"
+
+ //Typeface是字体,这里我们创建一个对象
+ private var tf: Typeface? = null
+
+ /**
+ * 设置字体
+ */
+ fun setFont(context: Context, type: Int): Typeface? {
+ if (tf == null) {
+ //给它设置你传入的自定义字体文件,再返回回来
+ tf = Typeface.createFromAsset(context.assets, typeface_regular)
+ }
+ return tf
+ }
+}
\ No newline at end of file
diff --git a/BaseAndroidKt/src/main/java/com/sjc/baseAndroid/weight/RegularTextView.kt b/BaseAndroidKt/src/main/java/com/sjc/baseAndroid/weight/RegularTextView.kt
new file mode 100644
index 0000000..6d0e79a
--- /dev/null
+++ b/BaseAndroidKt/src/main/java/com/sjc/baseAndroid/weight/RegularTextView.kt
@@ -0,0 +1,21 @@
+package com.sjc.baseAndroid.weight
+
+import android.content.Context
+import android.util.AttributeSet
+import androidx.appcompat.widget.AppCompatTextView
+import com.sjc.baseAndroid.weight.RegularManager.setFont
+
+class RegularTextView(context: Context, attrs: AttributeSet?) : AppCompatTextView(context, attrs) {
+ /**
+ * 初始化字体
+ * @param context
+ */
+ private fun init(context: Context) {
+ //设置字体样式
+ typeface = setFont(context, 3)
+ }
+
+ init {
+ init(context)
+ }
+}
\ No newline at end of file
diff --git a/BaseAndroidKt/src/main/java/com/sjc/baseAndroid/weight/ViewUtil.kt b/BaseAndroidKt/src/main/java/com/sjc/baseAndroid/weight/ViewUtil.kt
new file mode 100644
index 0000000..720b6c2
--- /dev/null
+++ b/BaseAndroidKt/src/main/java/com/sjc/baseAndroid/weight/ViewUtil.kt
@@ -0,0 +1,21 @@
+package com.sjc.baseAndroid.weight
+
+import android.view.View
+import android.view.ViewTreeObserver
+//获取控件宽高
+object ViewUtil {
+
+ fun getViewWidth(view: View, onViewListener: OnViewListener?) {
+ val vto2 = view.viewTreeObserver
+ vto2.addOnGlobalLayoutListener(object : ViewTreeObserver.OnGlobalLayoutListener {
+ override fun onGlobalLayout() {
+ view.viewTreeObserver.removeOnGlobalLayoutListener(this)
+ onViewListener?.onView(view.width, view.height)
+ }
+ })
+ }
+
+ interface OnViewListener {
+ fun onView(width: Int, height: Int)
+ }
+}
\ No newline at end of file
diff --git a/BaseAndroidKt/src/main/java/com/sjc/baseAndroid/weight/XFlowLayout.kt b/BaseAndroidKt/src/main/java/com/sjc/baseAndroid/weight/XFlowLayout.kt
new file mode 100644
index 0000000..90b8ec8
--- /dev/null
+++ b/BaseAndroidKt/src/main/java/com/sjc/baseAndroid/weight/XFlowLayout.kt
@@ -0,0 +1,222 @@
+package com.sjc.baseAndroid.weight
+
+import android.content.Context
+import android.util.AttributeSet
+import android.util.Log
+import android.util.TypedValue
+import android.view.ViewGroup
+import com.sjc.baseAndroid.R
+
+class XFlowLayout @JvmOverloads constructor(
+ context: Context,
+ attrs: AttributeSet? = null,
+ defStyleAttr: Int = 0
+) : ViewGroup(context, attrs, defStyleAttr) {
+ private val TAG = XFlowLayout::class.java.name
+
+ // item间距
+ private val dividerWidth: Int
+
+ // 行间距
+ private val rowHeight: Int
+
+ // 默认间距
+ private val defDW = dp2px(5f)
+ private val defRH = dp2px(5f)
+
+ // 子view数量
+ private var mChildCount = 0
+
+ // 边距
+ private var padLeft = 0
+ private var padRight = 0
+ private var padTop = 0
+ private var padBottom = 0
+
+ /**
+ * 摆放原理:按行摆放,循环遍历子View,当子View叠加宽度至一行时宽度重新变为左padding间距,
+ * 高度叠加当前行的item高度
+ * 进行换行时总高度=当前所有行高度+自定义行间距,然后以此类推叠加
+ */
+ override fun onLayout(changed: Boolean, l: Int, t: Int, r: Int, b: Int) {
+ // 子View的左边距和上边距
+ var itemWidth = padLeft
+ var itemHeight = padTop
+ // 记录上一个子View的高度值,当前行所有子view宽度+下一个(i+1)子View的宽度超过一行时,则高度叠加
+ var tempHeight = 0
+ for (i in 0 until mChildCount) {
+ val child = getChildAt(i)
+ // 计算当前行总宽度+当前下标子view宽度是否超过父容器行宽度,是则换行,否则直接进行layout摆放
+ val childW = child.measuredWidth
+ val childH = child.measuredHeight
+ // 先计算出当前行的view宽度 + 当前子View宽度,是否超过当前行所剩余的宽度
+ var fakeW = itemWidth + childW
+ if (fakeW >= measuredWidth - padRight) {
+ // 宽度占满一行,进行换行
+ if (i != 0) {
+ itemHeight += rowHeight + tempHeight
+ }
+ itemWidth = padLeft
+ fakeW = itemWidth + childW
+ }
+ child.layout(itemWidth, itemHeight, fakeW, itemHeight + childH)
+ itemWidth += childW + dividerWidth
+ tempHeight = childH
+ }
+ }
+
+ /**
+ * 测量原理:
+ * 当宽度为WrapContent时,则取所有子View里面宽度最长的一个作为总宽度,如果childCount=1,则直接返回子view的宽度 + 左右间距
+ * 当高度为WrapContent时,则高度=:计算出所有子View能够摆放的行数 * (行高度) +(行数-1) * 行间距 + 上下间距,如果childCount=1,同上
+ */
+ override fun onMeasure(widthMeasureSpec: Int, heightMeasureSpec: Int) {
+ var width = MeasureSpec.getSize(widthMeasureSpec)
+ var height = MeasureSpec.getSize(heightMeasureSpec)
+ val wMode = MeasureSpec.getMode(widthMeasureSpec)
+ val hMode = MeasureSpec.getMode(heightMeasureSpec)
+ padLeft = paddingLeft
+ padRight = paddingRight
+ padTop = paddingTop
+ padBottom = paddingBottom
+ mChildCount = childCount
+ measureChildren(widthMeasureSpec, heightMeasureSpec)
+ if (mChildCount == 0) {
+ setMeasuredDimension(0, 0)
+ return
+ }
+ width = measureWidth(width, wMode)
+ height = measureHeight(width, height, hMode)
+ setMeasuredDimension(width, height)
+ }
+
+ /**
+ * 测量宽度
+ */
+ private fun measureWidth(width: Int, wMode: Int): Int {
+ return when (wMode) {
+ MeasureSpec.EXACTLY -> {
+ Log.d(TAG, "$width---EXACTLY")
+ width
+ }
+ MeasureSpec.AT_MOST -> {
+ Log.d(TAG, "$width---AT_MOST")
+ Log.d(TAG, "$width---UNSPECIFIED")
+ calculateWidth(width)
+ }
+ MeasureSpec.UNSPECIFIED -> {
+ Log.d(TAG, "$width---UNSPECIFIED")
+ calculateWidth(width)
+ }
+ else -> width
+ }
+ }
+
+ /**
+ * 测量高度
+ */
+ private fun measureHeight(width: Int, height: Int, hMode: Int): Int {
+ return when (hMode) {
+ MeasureSpec.EXACTLY -> {
+ Log.d(TAG, "$width---EXACTLY")
+ height
+ }
+ MeasureSpec.AT_MOST -> {
+ Log.d(TAG, "$width---AT_MOST")
+ Log.d(TAG, "$width---UNSPECIFIED")
+ calculateHeight(width, height)
+ }
+ MeasureSpec.UNSPECIFIED -> {
+ Log.d(TAG, "$width---UNSPECIFIED")
+ calculateHeight(width, height)
+ }
+ else -> height
+ }
+ }
+
+ /**
+ * 计算高度为wrap_content
+ * 计算child所占的总行数 * 行宽 + (行数 - 1) * 行间距 + 上下间距
+ *
+ * @param width 初步测量得到的宽度
+ * @param height 初步测量得到的高度
+ */
+ private fun calculateHeight(width: Int, height: Int): Int {
+ val useableWidth = width - padLeft - padRight
+ return if (mChildCount == 1) {
+ val singleHeight = getChildAt(0).measuredHeight + (padTop + padBottom)
+ if (height == 0) {
+ singleHeight
+ } else Math.min(height, singleHeight)
+ } else {
+ // 对每个view测量算出行数
+ var itemWidth = 0
+ var line = 1
+ for (i in 0 until mChildCount) {
+ val child = getChildAt(i)
+ val childW = child.measuredWidth
+ val fakeW = itemWidth + childW
+ if (fakeW >= useableWidth) {
+ // 行数+1
+ itemWidth = 0
+ itemWidth += childW + dividerWidth
+ line++
+ } else {
+ // 未占满一行,行宽度+=子view宽度
+ itemWidth += childW
+ if (i != mChildCount - 1) {
+ itemWidth += dividerWidth
+ }
+ }
+ }
+ line = Math.min(line, mChildCount)
+ // 高度=子view高度 * line + 行间距 * (line - 1) + 上下间距
+ getChildAt(0).measuredHeight * line + rowHeight * (line - 1) + padTop + padBottom
+ }
+ }
+
+ /**
+ * 计算宽度为wrap_content
+ * 求出child中宽最大的,得到最终宽度
+ *
+ * @param width 初步测量得到的宽度
+ */
+ private fun calculateWidth(width: Int): Int {
+ return if (mChildCount == 1) {
+ val singleWidth = getChildAt(0).measuredWidth + (padLeft + padRight)
+ if (width == 0) {
+ singleWidth
+ } else Math.min(width, singleWidth)
+ } else {
+ var result = 0
+ for (i in 0 until mChildCount) {
+ val childWidth = getChildAt(i).measuredWidth
+ if (result < childWidth) {
+ result = childWidth
+ }
+ }
+ Math.min(width, result + (padLeft + padRight))
+ }
+ }
+
+ /**
+ * DP转PX
+ */
+ fun dp2px(dpVal: Float): Int {
+ return TypedValue.applyDimension(
+ TypedValue.COMPLEX_UNIT_DIP, dpVal, context.resources
+ .displayMetrics
+ ).toInt()
+ }
+
+ init {
+ val typedArray = context.obtainStyledAttributes(attrs, R.styleable.SelectFlowLayout)
+ dividerWidth =
+ typedArray.getDimension(R.styleable.SelectFlowLayout_hor_divider_width, defDW.toFloat())
+ .toInt()
+ rowHeight =
+ typedArray.getDimension(R.styleable.SelectFlowLayout_hor_row_height, defRH.toFloat())
+ .toInt()
+ typedArray.recycle()
+ }
+}
\ No newline at end of file
diff --git a/BaseAndroidKt/src/main/res/anim/slide_in_left.xml b/BaseAndroidKt/src/main/res/anim/slide_in_left.xml
new file mode 100644
index 0000000..06938c3
--- /dev/null
+++ b/BaseAndroidKt/src/main/res/anim/slide_in_left.xml
@@ -0,0 +1,7 @@
+
+
+
+
\ No newline at end of file
diff --git a/BaseAndroidKt/src/main/res/anim/slide_in_right.xml b/BaseAndroidKt/src/main/res/anim/slide_in_right.xml
new file mode 100644
index 0000000..98f2313
--- /dev/null
+++ b/BaseAndroidKt/src/main/res/anim/slide_in_right.xml
@@ -0,0 +1,8 @@
+
+
+
+
+
\ No newline at end of file
diff --git a/BaseAndroidKt/src/main/res/anim/slide_out_left.xml b/BaseAndroidKt/src/main/res/anim/slide_out_left.xml
new file mode 100644
index 0000000..eb5eda8
--- /dev/null
+++ b/BaseAndroidKt/src/main/res/anim/slide_out_left.xml
@@ -0,0 +1,8 @@
+
+
+
+
+
\ No newline at end of file
diff --git a/BaseAndroidKt/src/main/res/anim/slide_out_right.xml b/BaseAndroidKt/src/main/res/anim/slide_out_right.xml
new file mode 100644
index 0000000..b9c942b
--- /dev/null
+++ b/BaseAndroidKt/src/main/res/anim/slide_out_right.xml
@@ -0,0 +1,7 @@
+
+
+
+
\ No newline at end of file
diff --git a/BaseAndroidKt/src/main/res/drawable-v24/ic_launcher_foreground.xml b/BaseAndroidKt/src/main/res/drawable-v24/ic_launcher_foreground.xml
new file mode 100644
index 0000000..2b068d1
--- /dev/null
+++ b/BaseAndroidKt/src/main/res/drawable-v24/ic_launcher_foreground.xml
@@ -0,0 +1,30 @@
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/BaseAndroidKt/src/main/res/drawable-xxhdpi/course_black.png b/BaseAndroidKt/src/main/res/drawable-xxhdpi/course_black.png
new file mode 100644
index 0000000..629bdb4
Binary files /dev/null and b/BaseAndroidKt/src/main/res/drawable-xxhdpi/course_black.png differ
diff --git a/BaseAndroidKt/src/main/res/drawable-xxhdpi/course_blue.png b/BaseAndroidKt/src/main/res/drawable-xxhdpi/course_blue.png
new file mode 100644
index 0000000..df84add
Binary files /dev/null and b/BaseAndroidKt/src/main/res/drawable-xxhdpi/course_blue.png differ
diff --git a/BaseAndroidKt/src/main/res/drawable-xxhdpi/main_black.png b/BaseAndroidKt/src/main/res/drawable-xxhdpi/main_black.png
new file mode 100644
index 0000000..dc6d50e
Binary files /dev/null and b/BaseAndroidKt/src/main/res/drawable-xxhdpi/main_black.png differ
diff --git a/BaseAndroidKt/src/main/res/drawable-xxhdpi/main_blue.png b/BaseAndroidKt/src/main/res/drawable-xxhdpi/main_blue.png
new file mode 100644
index 0000000..e57fb80
Binary files /dev/null and b/BaseAndroidKt/src/main/res/drawable-xxhdpi/main_blue.png differ
diff --git a/BaseAndroidKt/src/main/res/drawable-xxhdpi/question_black.png b/BaseAndroidKt/src/main/res/drawable-xxhdpi/question_black.png
new file mode 100644
index 0000000..cc232a3
Binary files /dev/null and b/BaseAndroidKt/src/main/res/drawable-xxhdpi/question_black.png differ
diff --git a/BaseAndroidKt/src/main/res/drawable-xxhdpi/question_blue.png b/BaseAndroidKt/src/main/res/drawable-xxhdpi/question_blue.png
new file mode 100644
index 0000000..77461e3
Binary files /dev/null and b/BaseAndroidKt/src/main/res/drawable-xxhdpi/question_blue.png differ
diff --git a/BaseAndroidKt/src/main/res/drawable-xxhdpi/shop_black.png b/BaseAndroidKt/src/main/res/drawable-xxhdpi/shop_black.png
new file mode 100644
index 0000000..dcb1f9c
Binary files /dev/null and b/BaseAndroidKt/src/main/res/drawable-xxhdpi/shop_black.png differ
diff --git a/BaseAndroidKt/src/main/res/drawable-xxhdpi/shop_blue.png b/BaseAndroidKt/src/main/res/drawable-xxhdpi/shop_blue.png
new file mode 100644
index 0000000..58537c6
Binary files /dev/null and b/BaseAndroidKt/src/main/res/drawable-xxhdpi/shop_blue.png differ
diff --git a/BaseAndroidKt/src/main/res/drawable-xxhdpi/user_black.png b/BaseAndroidKt/src/main/res/drawable-xxhdpi/user_black.png
new file mode 100644
index 0000000..3e72289
Binary files /dev/null and b/BaseAndroidKt/src/main/res/drawable-xxhdpi/user_black.png differ
diff --git a/BaseAndroidKt/src/main/res/drawable-xxhdpi/user_blue.png b/BaseAndroidKt/src/main/res/drawable-xxhdpi/user_blue.png
new file mode 100644
index 0000000..7d2a841
Binary files /dev/null and b/BaseAndroidKt/src/main/res/drawable-xxhdpi/user_blue.png differ
diff --git a/BaseAndroidKt/src/main/res/drawable/base_loading_bg.xml b/BaseAndroidKt/src/main/res/drawable/base_loading_bg.xml
new file mode 100644
index 0000000..81ecb91
--- /dev/null
+++ b/BaseAndroidKt/src/main/res/drawable/base_loading_bg.xml
@@ -0,0 +1,10 @@
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/BaseAndroidKt/src/main/res/drawable/bg_blue_line_round.xml b/BaseAndroidKt/src/main/res/drawable/bg_blue_line_round.xml
new file mode 100644
index 0000000..bf6aa38
--- /dev/null
+++ b/BaseAndroidKt/src/main/res/drawable/bg_blue_line_round.xml
@@ -0,0 +1,7 @@
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/BaseAndroidKt/src/main/res/drawable/bg_gradient_blue_course_watch.xml b/BaseAndroidKt/src/main/res/drawable/bg_gradient_blue_course_watch.xml
new file mode 100644
index 0000000..10c6985
--- /dev/null
+++ b/BaseAndroidKt/src/main/res/drawable/bg_gradient_blue_course_watch.xml
@@ -0,0 +1,12 @@
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/BaseAndroidKt/src/main/res/drawable/bg_grey_line_round.xml b/BaseAndroidKt/src/main/res/drawable/bg_grey_line_round.xml
new file mode 100644
index 0000000..65c67d9
--- /dev/null
+++ b/BaseAndroidKt/src/main/res/drawable/bg_grey_line_round.xml
@@ -0,0 +1,7 @@
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/BaseAndroidKt/src/main/res/drawable/bg_white_round.xml b/BaseAndroidKt/src/main/res/drawable/bg_white_round.xml
new file mode 100644
index 0000000..ba61182
--- /dev/null
+++ b/BaseAndroidKt/src/main/res/drawable/bg_white_round.xml
@@ -0,0 +1,8 @@
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/BaseAndroidKt/src/main/res/drawable/btn_code_blue_round.xml b/BaseAndroidKt/src/main/res/drawable/btn_code_blue_round.xml
new file mode 100644
index 0000000..1860617
--- /dev/null
+++ b/BaseAndroidKt/src/main/res/drawable/btn_code_blue_round.xml
@@ -0,0 +1,8 @@
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/BaseAndroidKt/src/main/res/drawable/btn_login_blue_round.xml b/BaseAndroidKt/src/main/res/drawable/btn_login_blue_round.xml
new file mode 100644
index 0000000..e393d26
--- /dev/null
+++ b/BaseAndroidKt/src/main/res/drawable/btn_login_blue_round.xml
@@ -0,0 +1,8 @@
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/BaseAndroidKt/src/main/res/drawable/custom_toast_bg.xml b/BaseAndroidKt/src/main/res/drawable/custom_toast_bg.xml
new file mode 100644
index 0000000..827fec3
--- /dev/null
+++ b/BaseAndroidKt/src/main/res/drawable/custom_toast_bg.xml
@@ -0,0 +1,12 @@
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/BaseAndroidKt/src/main/res/drawable/ic_launcher_background.xml b/BaseAndroidKt/src/main/res/drawable/ic_launcher_background.xml
new file mode 100644
index 0000000..07d5da9
--- /dev/null
+++ b/BaseAndroidKt/src/main/res/drawable/ic_launcher_background.xml
@@ -0,0 +1,170 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/BaseAndroidKt/src/main/res/drawable/selector_bottom_course.xml b/BaseAndroidKt/src/main/res/drawable/selector_bottom_course.xml
new file mode 100644
index 0000000..648f5c3
--- /dev/null
+++ b/BaseAndroidKt/src/main/res/drawable/selector_bottom_course.xml
@@ -0,0 +1,5 @@
+
+
+
+
+
\ No newline at end of file
diff --git a/BaseAndroidKt/src/main/res/drawable/selector_bottom_main.xml b/BaseAndroidKt/src/main/res/drawable/selector_bottom_main.xml
new file mode 100644
index 0000000..68f597c
--- /dev/null
+++ b/BaseAndroidKt/src/main/res/drawable/selector_bottom_main.xml
@@ -0,0 +1,5 @@
+
+
+
+
+
\ No newline at end of file
diff --git a/BaseAndroidKt/src/main/res/drawable/selector_bottom_question.xml b/BaseAndroidKt/src/main/res/drawable/selector_bottom_question.xml
new file mode 100644
index 0000000..a8c9fb8
--- /dev/null
+++ b/BaseAndroidKt/src/main/res/drawable/selector_bottom_question.xml
@@ -0,0 +1,5 @@
+
+
+
+
+
\ No newline at end of file
diff --git a/BaseAndroidKt/src/main/res/drawable/selector_bottom_user.xml b/BaseAndroidKt/src/main/res/drawable/selector_bottom_user.xml
new file mode 100644
index 0000000..967b7e7
--- /dev/null
+++ b/BaseAndroidKt/src/main/res/drawable/selector_bottom_user.xml
@@ -0,0 +1,5 @@
+
+
+
+
+
\ No newline at end of file
diff --git a/BaseAndroidKt/src/main/res/layout/activity_login.xml b/BaseAndroidKt/src/main/res/layout/activity_login.xml
new file mode 100644
index 0000000..db6e8a5
--- /dev/null
+++ b/BaseAndroidKt/src/main/res/layout/activity_login.xml
@@ -0,0 +1,303 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/BaseAndroidKt/src/main/res/layout/activity_main.xml b/BaseAndroidKt/src/main/res/layout/activity_main.xml
new file mode 100644
index 0000000..dd464b5
--- /dev/null
+++ b/BaseAndroidKt/src/main/res/layout/activity_main.xml
@@ -0,0 +1,30 @@
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/BaseAndroidKt/src/main/res/layout/base_act_layout.xml b/BaseAndroidKt/src/main/res/layout/base_act_layout.xml
new file mode 100644
index 0000000..81bc704
--- /dev/null
+++ b/BaseAndroidKt/src/main/res/layout/base_act_layout.xml
@@ -0,0 +1,118 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/BaseAndroidKt/src/main/res/layout/base_empty.xml b/BaseAndroidKt/src/main/res/layout/base_empty.xml
new file mode 100644
index 0000000..f3b8e52
--- /dev/null
+++ b/BaseAndroidKt/src/main/res/layout/base_empty.xml
@@ -0,0 +1,26 @@
+
+
+
+
+
+
+
diff --git a/BaseAndroidKt/src/main/res/layout/base_loading.xml b/BaseAndroidKt/src/main/res/layout/base_loading.xml
new file mode 100644
index 0000000..0b1f197
--- /dev/null
+++ b/BaseAndroidKt/src/main/res/layout/base_loading.xml
@@ -0,0 +1,39 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/BaseAndroidKt/src/main/res/layout/dialog_base_content.xml b/BaseAndroidKt/src/main/res/layout/dialog_base_content.xml
new file mode 100644
index 0000000..be38613
--- /dev/null
+++ b/BaseAndroidKt/src/main/res/layout/dialog_base_content.xml
@@ -0,0 +1,77 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/BaseAndroidKt/src/main/res/layout/toast.xml b/BaseAndroidKt/src/main/res/layout/toast.xml
new file mode 100644
index 0000000..0ce9706
--- /dev/null
+++ b/BaseAndroidKt/src/main/res/layout/toast.xml
@@ -0,0 +1,33 @@
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/BaseAndroidKt/src/main/res/menu/bottom_nav_menu.xml b/BaseAndroidKt/src/main/res/menu/bottom_nav_menu.xml
new file mode 100644
index 0000000..37f6234
--- /dev/null
+++ b/BaseAndroidKt/src/main/res/menu/bottom_nav_menu.xml
@@ -0,0 +1,23 @@
+
+
\ No newline at end of file
diff --git a/BaseAndroidKt/src/main/res/mipmap-anydpi-v26/ic_launcher.xml b/BaseAndroidKt/src/main/res/mipmap-anydpi-v26/ic_launcher.xml
new file mode 100644
index 0000000..eca70cf
--- /dev/null
+++ b/BaseAndroidKt/src/main/res/mipmap-anydpi-v26/ic_launcher.xml
@@ -0,0 +1,5 @@
+
+
+
+
+
\ No newline at end of file
diff --git a/BaseAndroidKt/src/main/res/mipmap-anydpi-v26/ic_launcher_round.xml b/BaseAndroidKt/src/main/res/mipmap-anydpi-v26/ic_launcher_round.xml
new file mode 100644
index 0000000..eca70cf
--- /dev/null
+++ b/BaseAndroidKt/src/main/res/mipmap-anydpi-v26/ic_launcher_round.xml
@@ -0,0 +1,5 @@
+
+
+
+
+
\ No newline at end of file
diff --git a/BaseAndroidKt/src/main/res/mipmap-hdpi/ic_launcher.png b/BaseAndroidKt/src/main/res/mipmap-hdpi/ic_launcher.png
new file mode 100644
index 0000000..a571e60
Binary files /dev/null and b/BaseAndroidKt/src/main/res/mipmap-hdpi/ic_launcher.png differ
diff --git a/BaseAndroidKt/src/main/res/mipmap-hdpi/ic_launcher_round.png b/BaseAndroidKt/src/main/res/mipmap-hdpi/ic_launcher_round.png
new file mode 100644
index 0000000..61da551
Binary files /dev/null and b/BaseAndroidKt/src/main/res/mipmap-hdpi/ic_launcher_round.png differ
diff --git a/BaseAndroidKt/src/main/res/mipmap-mdpi/ic_launcher.png b/BaseAndroidKt/src/main/res/mipmap-mdpi/ic_launcher.png
new file mode 100644
index 0000000..c41dd28
Binary files /dev/null and b/BaseAndroidKt/src/main/res/mipmap-mdpi/ic_launcher.png differ
diff --git a/BaseAndroidKt/src/main/res/mipmap-mdpi/ic_launcher_round.png b/BaseAndroidKt/src/main/res/mipmap-mdpi/ic_launcher_round.png
new file mode 100644
index 0000000..db5080a
Binary files /dev/null and b/BaseAndroidKt/src/main/res/mipmap-mdpi/ic_launcher_round.png differ
diff --git a/BaseAndroidKt/src/main/res/mipmap-xhdpi/ic_launcher.png b/BaseAndroidKt/src/main/res/mipmap-xhdpi/ic_launcher.png
new file mode 100644
index 0000000..6dba46d
Binary files /dev/null and b/BaseAndroidKt/src/main/res/mipmap-xhdpi/ic_launcher.png differ
diff --git a/BaseAndroidKt/src/main/res/mipmap-xhdpi/ic_launcher_round.png b/BaseAndroidKt/src/main/res/mipmap-xhdpi/ic_launcher_round.png
new file mode 100644
index 0000000..da31a87
Binary files /dev/null and b/BaseAndroidKt/src/main/res/mipmap-xhdpi/ic_launcher_round.png differ
diff --git a/BaseAndroidKt/src/main/res/mipmap-xxhdpi/back.png b/BaseAndroidKt/src/main/res/mipmap-xxhdpi/back.png
new file mode 100644
index 0000000..93e8e95
Binary files /dev/null and b/BaseAndroidKt/src/main/res/mipmap-xxhdpi/back.png differ
diff --git a/BaseAndroidKt/src/main/res/mipmap-xxhdpi/base_empty_bg.png b/BaseAndroidKt/src/main/res/mipmap-xxhdpi/base_empty_bg.png
new file mode 100644
index 0000000..b14055f
Binary files /dev/null and b/BaseAndroidKt/src/main/res/mipmap-xxhdpi/base_empty_bg.png differ
diff --git a/BaseAndroidKt/src/main/res/mipmap-xxhdpi/ic_launcher.png b/BaseAndroidKt/src/main/res/mipmap-xxhdpi/ic_launcher.png
new file mode 100644
index 0000000..15ac681
Binary files /dev/null and b/BaseAndroidKt/src/main/res/mipmap-xxhdpi/ic_launcher.png differ
diff --git a/BaseAndroidKt/src/main/res/mipmap-xxhdpi/ic_launcher_round.png b/BaseAndroidKt/src/main/res/mipmap-xxhdpi/ic_launcher_round.png
new file mode 100644
index 0000000..b216f2d
Binary files /dev/null and b/BaseAndroidKt/src/main/res/mipmap-xxhdpi/ic_launcher_round.png differ
diff --git a/BaseAndroidKt/src/main/res/mipmap-xxhdpi/icon_login_yes.png b/BaseAndroidKt/src/main/res/mipmap-xxhdpi/icon_login_yes.png
new file mode 100644
index 0000000..f0f6d54
Binary files /dev/null and b/BaseAndroidKt/src/main/res/mipmap-xxhdpi/icon_login_yes.png differ
diff --git a/BaseAndroidKt/src/main/res/mipmap-xxhdpi/icon_phone_delete.png b/BaseAndroidKt/src/main/res/mipmap-xxhdpi/icon_phone_delete.png
new file mode 100644
index 0000000..532d7b2
Binary files /dev/null and b/BaseAndroidKt/src/main/res/mipmap-xxhdpi/icon_phone_delete.png differ
diff --git a/BaseAndroidKt/src/main/res/mipmap-xxhdpi/qq_login.png b/BaseAndroidKt/src/main/res/mipmap-xxhdpi/qq_login.png
new file mode 100644
index 0000000..3a5c054
Binary files /dev/null and b/BaseAndroidKt/src/main/res/mipmap-xxhdpi/qq_login.png differ
diff --git a/BaseAndroidKt/src/main/res/mipmap-xxhdpi/weixin_login.png b/BaseAndroidKt/src/main/res/mipmap-xxhdpi/weixin_login.png
new file mode 100644
index 0000000..a9b21cb
Binary files /dev/null and b/BaseAndroidKt/src/main/res/mipmap-xxhdpi/weixin_login.png differ
diff --git a/BaseAndroidKt/src/main/res/mipmap-xxxhdpi/ic_launcher.png b/BaseAndroidKt/src/main/res/mipmap-xxxhdpi/ic_launcher.png
new file mode 100644
index 0000000..f25a419
Binary files /dev/null and b/BaseAndroidKt/src/main/res/mipmap-xxxhdpi/ic_launcher.png differ
diff --git a/BaseAndroidKt/src/main/res/mipmap-xxxhdpi/ic_launcher_round.png b/BaseAndroidKt/src/main/res/mipmap-xxxhdpi/ic_launcher_round.png
new file mode 100644
index 0000000..e96783c
Binary files /dev/null and b/BaseAndroidKt/src/main/res/mipmap-xxxhdpi/ic_launcher_round.png differ
diff --git a/BaseAndroidKt/src/main/res/navigation/mobile_navigation.xml b/BaseAndroidKt/src/main/res/navigation/mobile_navigation.xml
new file mode 100644
index 0000000..6e90c62
--- /dev/null
+++ b/BaseAndroidKt/src/main/res/navigation/mobile_navigation.xml
@@ -0,0 +1,30 @@
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/BaseAndroidKt/src/main/res/values-night/themes.xml b/BaseAndroidKt/src/main/res/values-night/themes.xml
new file mode 100644
index 0000000..3f83766
--- /dev/null
+++ b/BaseAndroidKt/src/main/res/values-night/themes.xml
@@ -0,0 +1,16 @@
+
+
+
+
\ No newline at end of file
diff --git a/BaseAndroidKt/src/main/res/values-sw1024dp/dimens.xml b/BaseAndroidKt/src/main/res/values-sw1024dp/dimens.xml
new file mode 100644
index 0000000..b8a2e01
--- /dev/null
+++ b/BaseAndroidKt/src/main/res/values-sw1024dp/dimens.xml
@@ -0,0 +1,764 @@
+
+
+ 1024.0000dp
+ 1.4222dp
+ 2.8444dp
+ 4.2667dp
+ 5.6889dp
+ 7.1111dp
+ 8.5333dp
+ 9.9556dp
+ 11.3778dp
+ 12.8000dp
+ 14.2222dp
+ 15.6444dp
+ 17.0667dp
+ 18.4889dp
+ 19.9111dp
+ 21.3333dp
+ 22.7556dp
+ 24.1778dp
+ 25.6000dp
+ 27.0222dp
+ 28.4444dp
+ 29.8667dp
+ 31.2889dp
+ 32.7111dp
+ 34.1333dp
+ 35.5556dp
+ 36.9778dp
+ 38.4000dp
+ 39.8222dp
+ 41.2444dp
+ 42.6667dp
+ 44.0889dp
+ 45.5111dp
+ 46.9333dp
+ 48.3556dp
+ 49.7778dp
+ 51.2000dp
+ 52.6222dp
+ 54.0444dp
+ 55.4667dp
+ 56.8889dp
+ 58.3111dp
+ 59.7333dp
+ 61.1556dp
+ 62.5778dp
+ 64.0000dp
+ 65.4222dp
+ 66.8444dp
+ 68.2667dp
+ 69.6889dp
+ 71.1111dp
+ 72.5333dp
+ 73.9556dp
+ 75.3778dp
+ 76.8000dp
+ 78.2222dp
+ 79.6444dp
+ 81.0667dp
+ 82.4889dp
+ 83.9111dp
+ 85.3333dp
+ 86.7556dp
+ 88.1778dp
+ 89.6000dp
+ 91.0222dp
+ 92.4444dp
+ 93.8667dp
+ 95.2889dp
+ 96.7111dp
+ 98.1333dp
+ 99.5556dp
+ 100.9778dp
+ 102.4000dp
+ 103.8222dp
+ 105.2444dp
+ 106.6667dp
+ 108.0889dp
+ 109.5111dp
+ 110.9333dp
+ 112.3556dp
+ 113.7778dp
+ 115.2000dp
+ 116.6222dp
+ 118.0444dp
+ 119.4667dp
+ 120.8889dp
+ 122.3111dp
+ 123.7333dp
+ 125.1556dp
+ 126.5778dp
+ 128.0000dp
+ 129.4222dp
+ 130.8444dp
+ 132.2667dp
+ 133.6889dp
+ 135.1111dp
+ 136.5333dp
+ 137.9556dp
+ 139.3778dp
+ 140.8000dp
+ 142.2222dp
+ 143.6444dp
+ 145.0667dp
+ 146.4889dp
+ 147.9111dp
+ 149.3333dp
+ 150.7556dp
+ 152.1778dp
+ 153.6000dp
+ 155.0222dp
+ 156.4444dp
+ 157.8667dp
+ 159.2889dp
+ 160.7111dp
+ 162.1333dp
+ 163.5556dp
+ 164.9778dp
+ 166.4000dp
+ 167.8222dp
+ 169.2444dp
+ 170.6667dp
+ 172.0889dp
+ 173.5111dp
+ 174.9333dp
+ 176.3556dp
+ 177.7778dp
+ 179.2000dp
+ 180.6222dp
+ 182.0444dp
+ 183.4667dp
+ 184.8889dp
+ 186.3111dp
+ 187.7333dp
+ 189.1556dp
+ 190.5778dp
+ 192.0000dp
+ 193.4222dp
+ 194.8444dp
+ 196.2667dp
+ 197.6889dp
+ 199.1111dp
+ 200.5333dp
+ 201.9556dp
+ 203.3778dp
+ 204.8000dp
+ 206.2222dp
+ 207.6444dp
+ 209.0667dp
+ 210.4889dp
+ 211.9111dp
+ 213.3333dp
+ 214.7556dp
+ 216.1778dp
+ 217.6000dp
+ 219.0222dp
+ 220.4444dp
+ 221.8667dp
+ 223.2889dp
+ 224.7111dp
+ 226.1333dp
+ 227.5556dp
+ 228.9778dp
+ 230.4000dp
+ 231.8222dp
+ 233.2444dp
+ 234.6667dp
+ 236.0889dp
+ 237.5111dp
+ 238.9333dp
+ 240.3556dp
+ 241.7778dp
+ 243.2000dp
+ 244.6222dp
+ 246.0444dp
+ 247.4667dp
+ 248.8889dp
+ 250.3111dp
+ 251.7333dp
+ 253.1556dp
+ 254.5778dp
+ 256.0000dp
+ 257.4222dp
+ 258.8444dp
+ 260.2667dp
+ 261.6889dp
+ 263.1111dp
+ 264.5333dp
+ 265.9556dp
+ 267.3778dp
+ 268.8000dp
+ 270.2222dp
+ 271.6444dp
+ 273.0667dp
+ 274.4889dp
+ 275.9111dp
+ 277.3333dp
+ 278.7556dp
+ 280.1778dp
+ 281.6000dp
+ 283.0222dp
+ 284.4444dp
+ 285.8667dp
+ 287.2889dp
+ 288.7111dp
+ 290.1333dp
+ 291.5556dp
+ 292.9778dp
+ 294.4000dp
+ 295.8222dp
+ 297.2444dp
+ 298.6667dp
+ 300.0889dp
+ 301.5111dp
+ 302.9333dp
+ 304.3556dp
+ 305.7778dp
+ 307.2000dp
+ 308.6222dp
+ 310.0444dp
+ 311.4667dp
+ 312.8889dp
+ 314.3111dp
+ 315.7333dp
+ 317.1556dp
+ 318.5778dp
+ 320.0000dp
+ 321.4222dp
+ 322.8444dp
+ 324.2667dp
+ 325.6889dp
+ 327.1111dp
+ 328.5333dp
+ 329.9556dp
+ 331.3778dp
+ 332.8000dp
+ 334.2222dp
+ 335.6444dp
+ 337.0667dp
+ 338.4889dp
+ 339.9111dp
+ 341.3333dp
+ 342.7556dp
+ 344.1778dp
+ 345.6000dp
+ 347.0222dp
+ 348.4444dp
+ 349.8667dp
+ 351.2889dp
+ 352.7111dp
+ 354.1333dp
+ 355.5556dp
+ 356.9778dp
+ 358.4000dp
+ 359.8222dp
+ 361.2444dp
+ 362.6667dp
+ 364.0889dp
+ 365.5111dp
+ 366.9333dp
+ 368.3556dp
+ 369.7778dp
+ 371.2000dp
+ 372.6222dp
+ 374.0444dp
+ 375.4667dp
+ 376.8889dp
+ 378.3111dp
+ 379.7333dp
+ 381.1556dp
+ 382.5778dp
+ 384.0000dp
+ 385.4222dp
+ 386.8444dp
+ 388.2667dp
+ 389.6889dp
+ 391.1111dp
+ 392.5333dp
+ 393.9556dp
+ 395.3778dp
+ 396.8000dp
+ 398.2222dp
+ 399.6444dp
+ 401.0667dp
+ 402.4889dp
+ 403.9111dp
+ 405.3333dp
+ 406.7556dp
+ 408.1778dp
+ 409.6000dp
+ 411.0222dp
+ 412.4444dp
+ 413.8667dp
+ 415.2889dp
+ 416.7111dp
+ 418.1333dp
+ 419.5556dp
+ 420.9778dp
+ 422.4000dp
+ 423.8222dp
+ 425.2444dp
+ 426.6667dp
+ 428.0889dp
+ 429.5111dp
+ 430.9333dp
+ 432.3556dp
+ 433.7778dp
+ 435.2000dp
+ 436.6222dp
+ 438.0444dp
+ 439.4667dp
+ 440.8889dp
+ 442.3111dp
+ 443.7333dp
+ 445.1556dp
+ 446.5778dp
+ 448.0000dp
+ 449.4222dp
+ 450.8444dp
+ 452.2667dp
+ 453.6889dp
+ 455.1111dp
+ 456.5333dp
+ 457.9556dp
+ 459.3778dp
+ 460.8000dp
+ 462.2222dp
+ 463.6444dp
+ 465.0667dp
+ 466.4889dp
+ 467.9111dp
+ 469.3333dp
+ 470.7556dp
+ 472.1778dp
+ 473.6000dp
+ 475.0222dp
+ 476.4444dp
+ 477.8667dp
+ 479.2889dp
+ 480.7111dp
+ 482.1333dp
+ 483.5556dp
+ 484.9778dp
+ 486.4000dp
+ 487.8222dp
+ 489.2444dp
+ 490.6667dp
+ 492.0889dp
+ 493.5111dp
+ 494.9333dp
+ 496.3556dp
+ 497.7778dp
+ 499.2000dp
+ 500.6222dp
+ 502.0444dp
+ 503.4667dp
+ 504.8889dp
+ 506.3111dp
+ 507.7333dp
+ 509.1556dp
+ 510.5778dp
+ 512.0000dp
+ 513.4222dp
+ 514.8444dp
+ 516.2667dp
+ 517.6889dp
+ 519.1111dp
+ 520.5333dp
+ 521.9556dp
+ 523.3778dp
+ 524.8000dp
+ 526.2222dp
+ 527.6444dp
+ 529.0667dp
+ 530.4889dp
+ 531.9111dp
+ 533.3333dp
+ 534.7556dp
+ 536.1778dp
+ 537.6000dp
+ 539.0222dp
+ 540.4444dp
+ 541.8667dp
+ 543.2889dp
+ 544.7111dp
+ 546.1333dp
+ 547.5556dp
+ 548.9778dp
+ 550.4000dp
+ 551.8222dp
+ 553.2444dp
+ 554.6667dp
+ 556.0889dp
+ 557.5111dp
+ 558.9333dp
+ 560.3556dp
+ 561.7778dp
+ 563.2000dp
+ 564.6222dp
+ 566.0444dp
+ 567.4667dp
+ 568.8889dp
+ 570.3111dp
+ 571.7333dp
+ 573.1556dp
+ 574.5778dp
+ 576.0000dp
+ 577.4222dp
+ 578.8444dp
+ 580.2667dp
+ 581.6889dp
+ 583.1111dp
+ 584.5333dp
+ 585.9556dp
+ 587.3778dp
+ 588.8000dp
+ 590.2222dp
+ 591.6444dp
+ 593.0667dp
+ 594.4889dp
+ 595.9111dp
+ 597.3333dp
+ 598.7556dp
+ 600.1778dp
+ 601.6000dp
+ 603.0222dp
+ 604.4444dp
+ 605.8667dp
+ 607.2889dp
+ 608.7111dp
+ 610.1333dp
+ 611.5556dp
+ 612.9778dp
+ 614.4000dp
+ 615.8222dp
+ 617.2444dp
+ 618.6667dp
+ 620.0889dp
+ 621.5111dp
+ 622.9333dp
+ 624.3556dp
+ 625.7778dp
+ 627.2000dp
+ 628.6222dp
+ 630.0444dp
+ 631.4667dp
+ 632.8889dp
+ 634.3111dp
+ 635.7333dp
+ 637.1556dp
+ 638.5778dp
+ 640.0000dp
+ 641.4222dp
+ 642.8444dp
+ 644.2667dp
+ 645.6889dp
+ 647.1111dp
+ 648.5333dp
+ 649.9556dp
+ 651.3778dp
+ 652.8000dp
+ 654.2222dp
+ 655.6444dp
+ 657.0667dp
+ 658.4889dp
+ 659.9111dp
+ 661.3333dp
+ 662.7556dp
+ 664.1778dp
+ 665.6000dp
+ 667.0222dp
+ 668.4444dp
+ 669.8667dp
+ 671.2889dp
+ 672.7111dp
+ 674.1333dp
+ 675.5556dp
+ 676.9778dp
+ 678.4000dp
+ 679.8222dp
+ 681.2444dp
+ 682.6667dp
+ 684.0889dp
+ 685.5111dp
+ 686.9333dp
+ 688.3556dp
+ 689.7778dp
+ 691.2000dp
+ 692.6222dp
+ 694.0444dp
+ 695.4667dp
+ 696.8889dp
+ 698.3111dp
+ 699.7333dp
+ 701.1556dp
+ 702.5778dp
+ 704.0000dp
+ 705.4222dp
+ 706.8444dp
+ 708.2667dp
+ 709.6889dp
+ 711.1111dp
+ 712.5333dp
+ 713.9556dp
+ 715.3778dp
+ 716.8000dp
+ 718.2222dp
+ 719.6444dp
+ 721.0667dp
+ 722.4889dp
+ 723.9111dp
+ 725.3333dp
+ 726.7556dp
+ 728.1778dp
+ 729.6000dp
+ 731.0222dp
+ 732.4444dp
+ 733.8667dp
+ 735.2889dp
+ 736.7111dp
+ 738.1333dp
+ 739.5556dp
+ 740.9778dp
+ 742.4000dp
+ 743.8222dp
+ 745.2444dp
+ 746.6667dp
+ 748.0889dp
+ 749.5111dp
+ 750.9333dp
+ 752.3556dp
+ 753.7778dp
+ 755.2000dp
+ 756.6222dp
+ 758.0444dp
+ 759.4667dp
+ 760.8889dp
+ 762.3111dp
+ 763.7333dp
+ 765.1556dp
+ 766.5778dp
+ 768.0000dp
+ 769.4222dp
+ 770.8444dp
+ 772.2667dp
+ 773.6889dp
+ 775.1111dp
+ 776.5333dp
+ 777.9556dp
+ 779.3778dp
+ 780.8000dp
+ 782.2222dp
+ 783.6444dp
+ 785.0667dp
+ 786.4889dp
+ 787.9111dp
+ 789.3333dp
+ 790.7556dp
+ 792.1778dp
+ 793.6000dp
+ 795.0222dp
+ 796.4444dp
+ 797.8667dp
+ 799.2889dp
+ 800.7111dp
+ 802.1333dp
+ 803.5556dp
+ 804.9778dp
+ 806.4000dp
+ 807.8222dp
+ 809.2444dp
+ 810.6667dp
+ 812.0889dp
+ 813.5111dp
+ 814.9333dp
+ 816.3556dp
+ 817.7778dp
+ 819.2000dp
+ 820.6222dp
+ 822.0444dp
+ 823.4667dp
+ 824.8889dp
+ 826.3111dp
+ 827.7333dp
+ 829.1556dp
+ 830.5778dp
+ 832.0000dp
+ 833.4222dp
+ 834.8444dp
+ 836.2667dp
+ 837.6889dp
+ 839.1111dp
+ 840.5333dp
+ 841.9556dp
+ 843.3778dp
+ 844.8000dp
+ 846.2222dp
+ 847.6444dp
+ 849.0667dp
+ 850.4889dp
+ 851.9111dp
+ 853.3333dp
+ 854.7556dp
+ 856.1778dp
+ 857.6000dp
+ 859.0222dp
+ 860.4444dp
+ 861.8667dp
+ 863.2889dp
+ 864.7111dp
+ 866.1333dp
+ 867.5556dp
+ 868.9778dp
+ 870.4000dp
+ 871.8222dp
+ 873.2444dp
+ 874.6667dp
+ 876.0889dp
+ 877.5111dp
+ 878.9333dp
+ 880.3556dp
+ 881.7778dp
+ 883.2000dp
+ 884.6222dp
+ 886.0444dp
+ 887.4667dp
+ 888.8889dp
+ 890.3111dp
+ 891.7333dp
+ 893.1556dp
+ 894.5778dp
+ 896.0000dp
+ 897.4222dp
+ 898.8444dp
+ 900.2667dp
+ 901.6889dp
+ 903.1111dp
+ 904.5333dp
+ 905.9556dp
+ 907.3778dp
+ 908.8000dp
+ 910.2222dp
+ 911.6444dp
+ 913.0667dp
+ 914.4889dp
+ 915.9111dp
+ 917.3333dp
+ 918.7556dp
+ 920.1778dp
+ 921.6000dp
+ 923.0222dp
+ 924.4444dp
+ 925.8667dp
+ 927.2889dp
+ 928.7111dp
+ 930.1333dp
+ 931.5556dp
+ 932.9778dp
+ 934.4000dp
+ 935.8222dp
+ 937.2444dp
+ 938.6667dp
+ 940.0889dp
+ 941.5111dp
+ 942.9333dp
+ 944.3556dp
+ 945.7778dp
+ 947.2000dp
+ 948.6222dp
+ 950.0444dp
+ 951.4667dp
+ 952.8889dp
+ 954.3111dp
+ 955.7333dp
+ 957.1556dp
+ 958.5778dp
+ 960.0000dp
+ 961.4222dp
+ 962.8444dp
+ 964.2667dp
+ 965.6889dp
+ 967.1111dp
+ 968.5333dp
+ 969.9556dp
+ 971.3778dp
+ 972.8000dp
+ 974.2222dp
+ 975.6444dp
+ 977.0667dp
+ 978.4889dp
+ 979.9111dp
+ 981.3333dp
+ 982.7556dp
+ 984.1778dp
+ 985.6000dp
+ 987.0222dp
+ 988.4444dp
+ 989.8667dp
+ 991.2889dp
+ 992.7111dp
+ 994.1333dp
+ 995.5556dp
+ 996.9778dp
+ 998.4000dp
+ 999.8222dp
+ 1001.2444dp
+ 1002.6667dp
+ 1004.0889dp
+ 1005.5111dp
+ 1006.9333dp
+ 1008.3556dp
+ 1009.7778dp
+ 1011.2000dp
+ 1012.6222dp
+ 1014.0444dp
+ 1015.4667dp
+ 1016.8889dp
+ 1018.3111dp
+ 1019.7333dp
+ 1021.1556dp
+ 1022.5778dp
+ 1024.0000dp
+ 2.8444sp
+ 5.6889sp
+ 8.5333sp
+ 11.3778sp
+ 14.2222sp
+ 17.0667sp
+ 19.9111sp
+ 22.7556sp
+ 25.6000sp
+ 28.4444sp
+ 31.2889sp
+ 34.1333sp
+ 36.9778sp
+ 39.8222sp
+ 42.6667sp
+ 45.5111sp
+ 48.3556sp
+ 51.2000sp
+ 54.0444sp
+ 56.8889sp
+ 59.7333sp
+ 62.5778sp
+ 65.4222sp
+ 68.2667sp
+ 71.1111sp
+ 73.9556sp
+ 76.8000sp
+ 79.6444sp
+ 82.4889sp
+ 85.3333sp
+ 88.1778sp
+ 91.0222sp
+ 93.8667sp
+ 96.7111sp
+ 99.5556sp
+ 102.4000sp
+ 105.2444sp
+ 108.0889sp
+ 110.9333sp
+ 113.7778sp
+
diff --git a/BaseAndroidKt/src/main/res/values-sw1280dp/dimens.xml b/BaseAndroidKt/src/main/res/values-sw1280dp/dimens.xml
new file mode 100644
index 0000000..f0af712
--- /dev/null
+++ b/BaseAndroidKt/src/main/res/values-sw1280dp/dimens.xml
@@ -0,0 +1,764 @@
+
+
+ 1280.0000dp
+ 1.7778dp
+ 3.5556dp
+ 5.3333dp
+ 7.1111dp
+ 8.8889dp
+ 10.6667dp
+ 12.4444dp
+ 14.2222dp
+ 16.0000dp
+ 17.7778dp
+ 19.5556dp
+ 21.3333dp
+ 23.1111dp
+ 24.8889dp
+ 26.6667dp
+ 28.4444dp
+ 30.2222dp
+ 32.0000dp
+ 33.7778dp
+ 35.5556dp
+ 37.3333dp
+ 39.1111dp
+ 40.8889dp
+ 42.6667dp
+ 44.4444dp
+ 46.2222dp
+ 48.0000dp
+ 49.7778dp
+ 51.5556dp
+ 53.3333dp
+ 55.1111dp
+ 56.8889dp
+ 58.6667dp
+ 60.4444dp
+ 62.2222dp
+ 64.0000dp
+ 65.7778dp
+ 67.5556dp
+ 69.3333dp
+ 71.1111dp
+ 72.8889dp
+ 74.6667dp
+ 76.4444dp
+ 78.2222dp
+ 80.0000dp
+ 81.7778dp
+ 83.5556dp
+ 85.3333dp
+ 87.1111dp
+ 88.8889dp
+ 90.6667dp
+ 92.4444dp
+ 94.2222dp
+ 96.0000dp
+ 97.7778dp
+ 99.5556dp
+ 101.3333dp
+ 103.1111dp
+ 104.8889dp
+ 106.6667dp
+ 108.4444dp
+ 110.2222dp
+ 112.0000dp
+ 113.7778dp
+ 115.5556dp
+ 117.3333dp
+ 119.1111dp
+ 120.8889dp
+ 122.6667dp
+ 124.4444dp
+ 126.2222dp
+ 128.0000dp
+ 129.7778dp
+ 131.5556dp
+ 133.3333dp
+ 135.1111dp
+ 136.8889dp
+ 138.6667dp
+ 140.4444dp
+ 142.2222dp
+ 144.0000dp
+ 145.7778dp
+ 147.5556dp
+ 149.3333dp
+ 151.1111dp
+ 152.8889dp
+ 154.6667dp
+ 156.4444dp
+ 158.2222dp
+ 160.0000dp
+ 161.7778dp
+ 163.5556dp
+ 165.3333dp
+ 167.1111dp
+ 168.8889dp
+ 170.6667dp
+ 172.4444dp
+ 174.2222dp
+ 176.0000dp
+ 177.7778dp
+ 179.5556dp
+ 181.3333dp
+ 183.1111dp
+ 184.8889dp
+ 186.6667dp
+ 188.4444dp
+ 190.2222dp
+ 192.0000dp
+ 193.7778dp
+ 195.5556dp
+ 197.3333dp
+ 199.1111dp
+ 200.8889dp
+ 202.6667dp
+ 204.4444dp
+ 206.2222dp
+ 208.0000dp
+ 209.7778dp
+ 211.5556dp
+ 213.3333dp
+ 215.1111dp
+ 216.8889dp
+ 218.6667dp
+ 220.4444dp
+ 222.2222dp
+ 224.0000dp
+ 225.7778dp
+ 227.5556dp
+ 229.3333dp
+ 231.1111dp
+ 232.8889dp
+ 234.6667dp
+ 236.4444dp
+ 238.2222dp
+ 240.0000dp
+ 241.7778dp
+ 243.5556dp
+ 245.3333dp
+ 247.1111dp
+ 248.8889dp
+ 250.6667dp
+ 252.4444dp
+ 254.2222dp
+ 256.0000dp
+ 257.7778dp
+ 259.5556dp
+ 261.3333dp
+ 263.1111dp
+ 264.8889dp
+ 266.6667dp
+ 268.4444dp
+ 270.2222dp
+ 272.0000dp
+ 273.7778dp
+ 275.5556dp
+ 277.3333dp
+ 279.1111dp
+ 280.8889dp
+ 282.6667dp
+ 284.4444dp
+ 286.2222dp
+ 288.0000dp
+ 289.7778dp
+ 291.5556dp
+ 293.3333dp
+ 295.1111dp
+ 296.8889dp
+ 298.6667dp
+ 300.4444dp
+ 302.2222dp
+ 304.0000dp
+ 305.7778dp
+ 307.5556dp
+ 309.3333dp
+ 311.1111dp
+ 312.8889dp
+ 314.6667dp
+ 316.4444dp
+ 318.2222dp
+ 320.0000dp
+ 321.7778dp
+ 323.5556dp
+ 325.3333dp
+ 327.1111dp
+ 328.8889dp
+ 330.6667dp
+ 332.4444dp
+ 334.2222dp
+ 336.0000dp
+ 337.7778dp
+ 339.5556dp
+ 341.3333dp
+ 343.1111dp
+ 344.8889dp
+ 346.6667dp
+ 348.4444dp
+ 350.2222dp
+ 352.0000dp
+ 353.7778dp
+ 355.5556dp
+ 357.3333dp
+ 359.1111dp
+ 360.8889dp
+ 362.6667dp
+ 364.4444dp
+ 366.2222dp
+ 368.0000dp
+ 369.7778dp
+ 371.5556dp
+ 373.3333dp
+ 375.1111dp
+ 376.8889dp
+ 378.6667dp
+ 380.4444dp
+ 382.2222dp
+ 384.0000dp
+ 385.7778dp
+ 387.5556dp
+ 389.3333dp
+ 391.1111dp
+ 392.8889dp
+ 394.6667dp
+ 396.4444dp
+ 398.2222dp
+ 400.0000dp
+ 401.7778dp
+ 403.5556dp
+ 405.3333dp
+ 407.1111dp
+ 408.8889dp
+ 410.6667dp
+ 412.4444dp
+ 414.2222dp
+ 416.0000dp
+ 417.7778dp
+ 419.5556dp
+ 421.3333dp
+ 423.1111dp
+ 424.8889dp
+ 426.6667dp
+ 428.4444dp
+ 430.2222dp
+ 432.0000dp
+ 433.7778dp
+ 435.5556dp
+ 437.3333dp
+ 439.1111dp
+ 440.8889dp
+ 442.6667dp
+ 444.4444dp
+ 446.2222dp
+ 448.0000dp
+ 449.7778dp
+ 451.5556dp
+ 453.3333dp
+ 455.1111dp
+ 456.8889dp
+ 458.6667dp
+ 460.4444dp
+ 462.2222dp
+ 464.0000dp
+ 465.7778dp
+ 467.5556dp
+ 469.3333dp
+ 471.1111dp
+ 472.8889dp
+ 474.6667dp
+ 476.4444dp
+ 478.2222dp
+ 480.0000dp
+ 481.7778dp
+ 483.5556dp
+ 485.3333dp
+ 487.1111dp
+ 488.8889dp
+ 490.6667dp
+ 492.4444dp
+ 494.2222dp
+ 496.0000dp
+ 497.7778dp
+ 499.5556dp
+ 501.3333dp
+ 503.1111dp
+ 504.8889dp
+ 506.6667dp
+ 508.4444dp
+ 510.2222dp
+ 512.0000dp
+ 513.7778dp
+ 515.5556dp
+ 517.3333dp
+ 519.1111dp
+ 520.8889dp
+ 522.6667dp
+ 524.4444dp
+ 526.2222dp
+ 528.0000dp
+ 529.7778dp
+ 531.5556dp
+ 533.3333dp
+ 535.1111dp
+ 536.8889dp
+ 538.6667dp
+ 540.4444dp
+ 542.2222dp
+ 544.0000dp
+ 545.7778dp
+ 547.5556dp
+ 549.3333dp
+ 551.1111dp
+ 552.8889dp
+ 554.6667dp
+ 556.4444dp
+ 558.2222dp
+ 560.0000dp
+ 561.7778dp
+ 563.5556dp
+ 565.3333dp
+ 567.1111dp
+ 568.8889dp
+ 570.6667dp
+ 572.4444dp
+ 574.2222dp
+ 576.0000dp
+ 577.7778dp
+ 579.5556dp
+ 581.3333dp
+ 583.1111dp
+ 584.8889dp
+ 586.6667dp
+ 588.4444dp
+ 590.2222dp
+ 592.0000dp
+ 593.7778dp
+ 595.5556dp
+ 597.3333dp
+ 599.1111dp
+ 600.8889dp
+ 602.6667dp
+ 604.4444dp
+ 606.2222dp
+ 608.0000dp
+ 609.7778dp
+ 611.5556dp
+ 613.3333dp
+ 615.1111dp
+ 616.8889dp
+ 618.6667dp
+ 620.4444dp
+ 622.2222dp
+ 624.0000dp
+ 625.7778dp
+ 627.5556dp
+ 629.3333dp
+ 631.1111dp
+ 632.8889dp
+ 634.6667dp
+ 636.4444dp
+ 638.2222dp
+ 640.0000dp
+ 641.7778dp
+ 643.5556dp
+ 645.3333dp
+ 647.1111dp
+ 648.8889dp
+ 650.6667dp
+ 652.4444dp
+ 654.2222dp
+ 656.0000dp
+ 657.7778dp
+ 659.5556dp
+ 661.3333dp
+ 663.1111dp
+ 664.8889dp
+ 666.6667dp
+ 668.4444dp
+ 670.2222dp
+ 672.0000dp
+ 673.7778dp
+ 675.5556dp
+ 677.3333dp
+ 679.1111dp
+ 680.8889dp
+ 682.6667dp
+ 684.4444dp
+ 686.2222dp
+ 688.0000dp
+ 689.7778dp
+ 691.5556dp
+ 693.3333dp
+ 695.1111dp
+ 696.8889dp
+ 698.6667dp
+ 700.4444dp
+ 702.2222dp
+ 704.0000dp
+ 705.7778dp
+ 707.5556dp
+ 709.3333dp
+ 711.1111dp
+ 712.8889dp
+ 714.6667dp
+ 716.4444dp
+ 718.2222dp
+ 720.0000dp
+ 721.7778dp
+ 723.5556dp
+ 725.3333dp
+ 727.1111dp
+ 728.8889dp
+ 730.6667dp
+ 732.4444dp
+ 734.2222dp
+ 736.0000dp
+ 737.7778dp
+ 739.5556dp
+ 741.3333dp
+ 743.1111dp
+ 744.8889dp
+ 746.6667dp
+ 748.4444dp
+ 750.2222dp
+ 752.0000dp
+ 753.7778dp
+ 755.5556dp
+ 757.3333dp
+ 759.1111dp
+ 760.8889dp
+ 762.6667dp
+ 764.4444dp
+ 766.2222dp
+ 768.0000dp
+ 769.7778dp
+ 771.5556dp
+ 773.3333dp
+ 775.1111dp
+ 776.8889dp
+ 778.6667dp
+ 780.4444dp
+ 782.2222dp
+ 784.0000dp
+ 785.7778dp
+ 787.5556dp
+ 789.3333dp
+ 791.1111dp
+ 792.8889dp
+ 794.6667dp
+ 796.4444dp
+ 798.2222dp
+ 800.0000dp
+ 801.7778dp
+ 803.5556dp
+ 805.3333dp
+ 807.1111dp
+ 808.8889dp
+ 810.6667dp
+ 812.4444dp
+ 814.2222dp
+ 816.0000dp
+ 817.7778dp
+ 819.5556dp
+ 821.3333dp
+ 823.1111dp
+ 824.8889dp
+ 826.6667dp
+ 828.4444dp
+ 830.2222dp
+ 832.0000dp
+ 833.7778dp
+ 835.5556dp
+ 837.3333dp
+ 839.1111dp
+ 840.8889dp
+ 842.6667dp
+ 844.4444dp
+ 846.2222dp
+ 848.0000dp
+ 849.7778dp
+ 851.5556dp
+ 853.3333dp
+ 855.1111dp
+ 856.8889dp
+ 858.6667dp
+ 860.4444dp
+ 862.2222dp
+ 864.0000dp
+ 865.7778dp
+ 867.5556dp
+ 869.3333dp
+ 871.1111dp
+ 872.8889dp
+ 874.6667dp
+ 876.4444dp
+ 878.2222dp
+ 880.0000dp
+ 881.7778dp
+ 883.5556dp
+ 885.3333dp
+ 887.1111dp
+ 888.8889dp
+ 890.6667dp
+ 892.4444dp
+ 894.2222dp
+ 896.0000dp
+ 897.7778dp
+ 899.5556dp
+ 901.3333dp
+ 903.1111dp
+ 904.8889dp
+ 906.6667dp
+ 908.4444dp
+ 910.2222dp
+ 912.0000dp
+ 913.7778dp
+ 915.5556dp
+ 917.3333dp
+ 919.1111dp
+ 920.8889dp
+ 922.6667dp
+ 924.4444dp
+ 926.2222dp
+ 928.0000dp
+ 929.7778dp
+ 931.5556dp
+ 933.3333dp
+ 935.1111dp
+ 936.8889dp
+ 938.6667dp
+ 940.4444dp
+ 942.2222dp
+ 944.0000dp
+ 945.7778dp
+ 947.5556dp
+ 949.3333dp
+ 951.1111dp
+ 952.8889dp
+ 954.6667dp
+ 956.4444dp
+ 958.2222dp
+ 960.0000dp
+ 961.7778dp
+ 963.5556dp
+ 965.3333dp
+ 967.1111dp
+ 968.8889dp
+ 970.6667dp
+ 972.4444dp
+ 974.2222dp
+ 976.0000dp
+ 977.7778dp
+ 979.5556dp
+ 981.3333dp
+ 983.1111dp
+ 984.8889dp
+ 986.6667dp
+ 988.4444dp
+ 990.2222dp
+ 992.0000dp
+ 993.7778dp
+ 995.5556dp
+ 997.3333dp
+ 999.1111dp
+ 1000.8889dp
+ 1002.6667dp
+ 1004.4444dp
+ 1006.2222dp
+ 1008.0000dp
+ 1009.7778dp
+ 1011.5556dp
+ 1013.3333dp
+ 1015.1111dp
+ 1016.8889dp
+ 1018.6667dp
+ 1020.4444dp
+ 1022.2222dp
+ 1024.0000dp
+ 1025.7778dp
+ 1027.5556dp
+ 1029.3333dp
+ 1031.1111dp
+ 1032.8889dp
+ 1034.6667dp
+ 1036.4444dp
+ 1038.2222dp
+ 1040.0000dp
+ 1041.7778dp
+ 1043.5556dp
+ 1045.3333dp
+ 1047.1111dp
+ 1048.8889dp
+ 1050.6667dp
+ 1052.4444dp
+ 1054.2222dp
+ 1056.0000dp
+ 1057.7778dp
+ 1059.5556dp
+ 1061.3333dp
+ 1063.1111dp
+ 1064.8889dp
+ 1066.6667dp
+ 1068.4444dp
+ 1070.2222dp
+ 1072.0000dp
+ 1073.7778dp
+ 1075.5556dp
+ 1077.3333dp
+ 1079.1111dp
+ 1080.8889dp
+ 1082.6667dp
+ 1084.4444dp
+ 1086.2222dp
+ 1088.0000dp
+ 1089.7778dp
+ 1091.5556dp
+ 1093.3333dp
+ 1095.1111dp
+ 1096.8889dp
+ 1098.6667dp
+ 1100.4444dp
+ 1102.2222dp
+ 1104.0000dp
+ 1105.7778dp
+ 1107.5556dp
+ 1109.3333dp
+ 1111.1111dp
+ 1112.8889dp
+ 1114.6667dp
+ 1116.4444dp
+ 1118.2222dp
+ 1120.0000dp
+ 1121.7778dp
+ 1123.5556dp
+ 1125.3333dp
+ 1127.1111dp
+ 1128.8889dp
+ 1130.6667dp
+ 1132.4444dp
+ 1134.2222dp
+ 1136.0000dp
+ 1137.7778dp
+ 1139.5556dp
+ 1141.3333dp
+ 1143.1111dp
+ 1144.8889dp
+ 1146.6667dp
+ 1148.4444dp
+ 1150.2222dp
+ 1152.0000dp
+ 1153.7778dp
+ 1155.5556dp
+ 1157.3333dp
+ 1159.1111dp
+ 1160.8889dp
+ 1162.6667dp
+ 1164.4444dp
+ 1166.2222dp
+ 1168.0000dp
+ 1169.7778dp
+ 1171.5556dp
+ 1173.3333dp
+ 1175.1111dp
+ 1176.8889dp
+ 1178.6667dp
+ 1180.4444dp
+ 1182.2222dp
+ 1184.0000dp
+ 1185.7778dp
+ 1187.5556dp
+ 1189.3333dp
+ 1191.1111dp
+ 1192.8889dp
+ 1194.6667dp
+ 1196.4444dp
+ 1198.2222dp
+ 1200.0000dp
+ 1201.7778dp
+ 1203.5556dp
+ 1205.3333dp
+ 1207.1111dp
+ 1208.8889dp
+ 1210.6667dp
+ 1212.4444dp
+ 1214.2222dp
+ 1216.0000dp
+ 1217.7778dp
+ 1219.5556dp
+ 1221.3333dp
+ 1223.1111dp
+ 1224.8889dp
+ 1226.6667dp
+ 1228.4444dp
+ 1230.2222dp
+ 1232.0000dp
+ 1233.7778dp
+ 1235.5556dp
+ 1237.3333dp
+ 1239.1111dp
+ 1240.8889dp
+ 1242.6667dp
+ 1244.4444dp
+ 1246.2222dp
+ 1248.0000dp
+ 1249.7778dp
+ 1251.5556dp
+ 1253.3333dp
+ 1255.1111dp
+ 1256.8889dp
+ 1258.6667dp
+ 1260.4444dp
+ 1262.2222dp
+ 1264.0000dp
+ 1265.7778dp
+ 1267.5556dp
+ 1269.3333dp
+ 1271.1111dp
+ 1272.8889dp
+ 1274.6667dp
+ 1276.4444dp
+ 1278.2222dp
+ 1280.0000dp
+ 3.5556sp
+ 7.1111sp
+ 10.6667sp
+ 14.2222sp
+ 17.7778sp
+ 21.3333sp
+ 24.8889sp
+ 28.4444sp
+ 32.0000sp
+ 35.5556sp
+ 39.1111sp
+ 42.6667sp
+ 46.2222sp
+ 49.7778sp
+ 53.3333sp
+ 56.8889sp
+ 60.4444sp
+ 64.0000sp
+ 67.5556sp
+ 71.1111sp
+ 74.6667sp
+ 78.2222sp
+ 81.7778sp
+ 85.3333sp
+ 88.8889sp
+ 92.4444sp
+ 96.0000sp
+ 99.5556sp
+ 103.1111sp
+ 106.6667sp
+ 110.2222sp
+ 113.7778sp
+ 117.3333sp
+ 120.8889sp
+ 124.4444sp
+ 128.0000sp
+ 131.5556sp
+ 135.1111sp
+ 138.6667sp
+ 142.2222sp
+
diff --git a/BaseAndroidKt/src/main/res/values-sw1365dp/dimens.xml b/BaseAndroidKt/src/main/res/values-sw1365dp/dimens.xml
new file mode 100644
index 0000000..126d7ec
--- /dev/null
+++ b/BaseAndroidKt/src/main/res/values-sw1365dp/dimens.xml
@@ -0,0 +1,764 @@
+
+
+ 1365.0000dp
+ 1.8958dp
+ 3.7917dp
+ 5.6875dp
+ 7.5833dp
+ 9.4792dp
+ 11.3750dp
+ 13.2708dp
+ 15.1667dp
+ 17.0625dp
+ 18.9583dp
+ 20.8542dp
+ 22.7500dp
+ 24.6458dp
+ 26.5417dp
+ 28.4375dp
+ 30.3333dp
+ 32.2292dp
+ 34.1250dp
+ 36.0208dp
+ 37.9167dp
+ 39.8125dp
+ 41.7083dp
+ 43.6042dp
+ 45.5000dp
+ 47.3958dp
+ 49.2917dp
+ 51.1875dp
+ 53.0833dp
+ 54.9792dp
+ 56.8750dp
+ 58.7708dp
+ 60.6667dp
+ 62.5625dp
+ 64.4583dp
+ 66.3542dp
+ 68.2500dp
+ 70.1458dp
+ 72.0417dp
+ 73.9375dp
+ 75.8333dp
+ 77.7292dp
+ 79.6250dp
+ 81.5208dp
+ 83.4167dp
+ 85.3125dp
+ 87.2083dp
+ 89.1042dp
+ 91.0000dp
+ 92.8958dp
+ 94.7917dp
+ 96.6875dp
+ 98.5833dp
+ 100.4792dp
+ 102.3750dp
+ 104.2708dp
+ 106.1667dp
+ 108.0625dp
+ 109.9583dp
+ 111.8542dp
+ 113.7500dp
+ 115.6458dp
+ 117.5417dp
+ 119.4375dp
+ 121.3333dp
+ 123.2292dp
+ 125.1250dp
+ 127.0208dp
+ 128.9167dp
+ 130.8125dp
+ 132.7083dp
+ 134.6042dp
+ 136.5000dp
+ 138.3958dp
+ 140.2917dp
+ 142.1875dp
+ 144.0833dp
+ 145.9792dp
+ 147.8750dp
+ 149.7708dp
+ 151.6667dp
+ 153.5625dp
+ 155.4583dp
+ 157.3542dp
+ 159.2500dp
+ 161.1458dp
+ 163.0417dp
+ 164.9375dp
+ 166.8333dp
+ 168.7292dp
+ 170.6250dp
+ 172.5208dp
+ 174.4167dp
+ 176.3125dp
+ 178.2083dp
+ 180.1042dp
+ 182.0000dp
+ 183.8958dp
+ 185.7917dp
+ 187.6875dp
+ 189.5833dp
+ 191.4792dp
+ 193.3750dp
+ 195.2708dp
+ 197.1667dp
+ 199.0625dp
+ 200.9583dp
+ 202.8542dp
+ 204.7500dp
+ 206.6458dp
+ 208.5417dp
+ 210.4375dp
+ 212.3333dp
+ 214.2292dp
+ 216.1250dp
+ 218.0208dp
+ 219.9167dp
+ 221.8125dp
+ 223.7083dp
+ 225.6042dp
+ 227.5000dp
+ 229.3958dp
+ 231.2917dp
+ 233.1875dp
+ 235.0833dp
+ 236.9792dp
+ 238.8750dp
+ 240.7708dp
+ 242.6667dp
+ 244.5625dp
+ 246.4583dp
+ 248.3542dp
+ 250.2500dp
+ 252.1458dp
+ 254.0417dp
+ 255.9375dp
+ 257.8333dp
+ 259.7292dp
+ 261.6250dp
+ 263.5208dp
+ 265.4167dp
+ 267.3125dp
+ 269.2083dp
+ 271.1042dp
+ 273.0000dp
+ 274.8958dp
+ 276.7917dp
+ 278.6875dp
+ 280.5833dp
+ 282.4792dp
+ 284.3750dp
+ 286.2708dp
+ 288.1667dp
+ 290.0625dp
+ 291.9583dp
+ 293.8542dp
+ 295.7500dp
+ 297.6458dp
+ 299.5417dp
+ 301.4375dp
+ 303.3333dp
+ 305.2292dp
+ 307.1250dp
+ 309.0208dp
+ 310.9167dp
+ 312.8125dp
+ 314.7083dp
+ 316.6042dp
+ 318.5000dp
+ 320.3958dp
+ 322.2917dp
+ 324.1875dp
+ 326.0833dp
+ 327.9792dp
+ 329.8750dp
+ 331.7708dp
+ 333.6667dp
+ 335.5625dp
+ 337.4583dp
+ 339.3542dp
+ 341.2500dp
+ 343.1458dp
+ 345.0417dp
+ 346.9375dp
+ 348.8333dp
+ 350.7292dp
+ 352.6250dp
+ 354.5208dp
+ 356.4167dp
+ 358.3125dp
+ 360.2083dp
+ 362.1042dp
+ 364.0000dp
+ 365.8958dp
+ 367.7917dp
+ 369.6875dp
+ 371.5833dp
+ 373.4792dp
+ 375.3750dp
+ 377.2708dp
+ 379.1667dp
+ 381.0625dp
+ 382.9583dp
+ 384.8542dp
+ 386.7500dp
+ 388.6458dp
+ 390.5417dp
+ 392.4375dp
+ 394.3333dp
+ 396.2292dp
+ 398.1250dp
+ 400.0208dp
+ 401.9167dp
+ 403.8125dp
+ 405.7083dp
+ 407.6042dp
+ 409.5000dp
+ 411.3958dp
+ 413.2917dp
+ 415.1875dp
+ 417.0833dp
+ 418.9792dp
+ 420.8750dp
+ 422.7708dp
+ 424.6667dp
+ 426.5625dp
+ 428.4583dp
+ 430.3542dp
+ 432.2500dp
+ 434.1458dp
+ 436.0417dp
+ 437.9375dp
+ 439.8333dp
+ 441.7292dp
+ 443.6250dp
+ 445.5208dp
+ 447.4167dp
+ 449.3125dp
+ 451.2083dp
+ 453.1042dp
+ 455.0000dp
+ 456.8958dp
+ 458.7917dp
+ 460.6875dp
+ 462.5833dp
+ 464.4792dp
+ 466.3750dp
+ 468.2708dp
+ 470.1667dp
+ 472.0625dp
+ 473.9583dp
+ 475.8542dp
+ 477.7500dp
+ 479.6458dp
+ 481.5417dp
+ 483.4375dp
+ 485.3333dp
+ 487.2292dp
+ 489.1250dp
+ 491.0208dp
+ 492.9167dp
+ 494.8125dp
+ 496.7083dp
+ 498.6042dp
+ 500.5000dp
+ 502.3958dp
+ 504.2917dp
+ 506.1875dp
+ 508.0833dp
+ 509.9792dp
+ 511.8750dp
+ 513.7708dp
+ 515.6667dp
+ 517.5625dp
+ 519.4583dp
+ 521.3542dp
+ 523.2500dp
+ 525.1458dp
+ 527.0417dp
+ 528.9375dp
+ 530.8333dp
+ 532.7292dp
+ 534.6250dp
+ 536.5208dp
+ 538.4167dp
+ 540.3125dp
+ 542.2083dp
+ 544.1042dp
+ 546.0000dp
+ 547.8958dp
+ 549.7917dp
+ 551.6875dp
+ 553.5833dp
+ 555.4792dp
+ 557.3750dp
+ 559.2708dp
+ 561.1667dp
+ 563.0625dp
+ 564.9583dp
+ 566.8542dp
+ 568.7500dp
+ 570.6458dp
+ 572.5417dp
+ 574.4375dp
+ 576.3333dp
+ 578.2292dp
+ 580.1250dp
+ 582.0208dp
+ 583.9167dp
+ 585.8125dp
+ 587.7083dp
+ 589.6042dp
+ 591.5000dp
+ 593.3958dp
+ 595.2917dp
+ 597.1875dp
+ 599.0833dp
+ 600.9792dp
+ 602.8750dp
+ 604.7708dp
+ 606.6667dp
+ 608.5625dp
+ 610.4583dp
+ 612.3542dp
+ 614.2500dp
+ 616.1458dp
+ 618.0417dp
+ 619.9375dp
+ 621.8333dp
+ 623.7292dp
+ 625.6250dp
+ 627.5208dp
+ 629.4167dp
+ 631.3125dp
+ 633.2083dp
+ 635.1042dp
+ 637.0000dp
+ 638.8958dp
+ 640.7917dp
+ 642.6875dp
+ 644.5833dp
+ 646.4792dp
+ 648.3750dp
+ 650.2708dp
+ 652.1667dp
+ 654.0625dp
+ 655.9583dp
+ 657.8542dp
+ 659.7500dp
+ 661.6458dp
+ 663.5417dp
+ 665.4375dp
+ 667.3333dp
+ 669.2292dp
+ 671.1250dp
+ 673.0208dp
+ 674.9167dp
+ 676.8125dp
+ 678.7083dp
+ 680.6042dp
+ 682.5000dp
+ 684.3958dp
+ 686.2917dp
+ 688.1875dp
+ 690.0833dp
+ 691.9792dp
+ 693.8750dp
+ 695.7708dp
+ 697.6667dp
+ 699.5625dp
+ 701.4583dp
+ 703.3542dp
+ 705.2500dp
+ 707.1458dp
+ 709.0417dp
+ 710.9375dp
+ 712.8333dp
+ 714.7292dp
+ 716.6250dp
+ 718.5208dp
+ 720.4167dp
+ 722.3125dp
+ 724.2083dp
+ 726.1042dp
+ 728.0000dp
+ 729.8958dp
+ 731.7917dp
+ 733.6875dp
+ 735.5833dp
+ 737.4792dp
+ 739.3750dp
+ 741.2708dp
+ 743.1667dp
+ 745.0625dp
+ 746.9583dp
+ 748.8542dp
+ 750.7500dp
+ 752.6458dp
+ 754.5417dp
+ 756.4375dp
+ 758.3333dp
+ 760.2292dp
+ 762.1250dp
+ 764.0208dp
+ 765.9167dp
+ 767.8125dp
+ 769.7083dp
+ 771.6042dp
+ 773.5000dp
+ 775.3958dp
+ 777.2917dp
+ 779.1875dp
+ 781.0833dp
+ 782.9792dp
+ 784.8750dp
+ 786.7708dp
+ 788.6667dp
+ 790.5625dp
+ 792.4583dp
+ 794.3542dp
+ 796.2500dp
+ 798.1458dp
+ 800.0417dp
+ 801.9375dp
+ 803.8333dp
+ 805.7292dp
+ 807.6250dp
+ 809.5208dp
+ 811.4167dp
+ 813.3125dp
+ 815.2083dp
+ 817.1042dp
+ 819.0000dp
+ 820.8958dp
+ 822.7917dp
+ 824.6875dp
+ 826.5833dp
+ 828.4792dp
+ 830.3750dp
+ 832.2708dp
+ 834.1667dp
+ 836.0625dp
+ 837.9583dp
+ 839.8542dp
+ 841.7500dp
+ 843.6458dp
+ 845.5417dp
+ 847.4375dp
+ 849.3333dp
+ 851.2292dp
+ 853.1250dp
+ 855.0208dp
+ 856.9167dp
+ 858.8125dp
+ 860.7083dp
+ 862.6042dp
+ 864.5000dp
+ 866.3958dp
+ 868.2917dp
+ 870.1875dp
+ 872.0833dp
+ 873.9792dp
+ 875.8750dp
+ 877.7708dp
+ 879.6667dp
+ 881.5625dp
+ 883.4583dp
+ 885.3542dp
+ 887.2500dp
+ 889.1458dp
+ 891.0417dp
+ 892.9375dp
+ 894.8333dp
+ 896.7292dp
+ 898.6250dp
+ 900.5208dp
+ 902.4167dp
+ 904.3125dp
+ 906.2083dp
+ 908.1042dp
+ 910.0000dp
+ 911.8958dp
+ 913.7917dp
+ 915.6875dp
+ 917.5833dp
+ 919.4792dp
+ 921.3750dp
+ 923.2708dp
+ 925.1667dp
+ 927.0625dp
+ 928.9583dp
+ 930.8542dp
+ 932.7500dp
+ 934.6458dp
+ 936.5417dp
+ 938.4375dp
+ 940.3333dp
+ 942.2292dp
+ 944.1250dp
+ 946.0208dp
+ 947.9167dp
+ 949.8125dp
+ 951.7083dp
+ 953.6042dp
+ 955.5000dp
+ 957.3958dp
+ 959.2917dp
+ 961.1875dp
+ 963.0833dp
+ 964.9792dp
+ 966.8750dp
+ 968.7708dp
+ 970.6667dp
+ 972.5625dp
+ 974.4583dp
+ 976.3542dp
+ 978.2500dp
+ 980.1458dp
+ 982.0417dp
+ 983.9375dp
+ 985.8333dp
+ 987.7292dp
+ 989.6250dp
+ 991.5208dp
+ 993.4167dp
+ 995.3125dp
+ 997.2083dp
+ 999.1042dp
+ 1001.0000dp
+ 1002.8958dp
+ 1004.7917dp
+ 1006.6875dp
+ 1008.5833dp
+ 1010.4792dp
+ 1012.3750dp
+ 1014.2708dp
+ 1016.1667dp
+ 1018.0625dp
+ 1019.9583dp
+ 1021.8542dp
+ 1023.7500dp
+ 1025.6458dp
+ 1027.5417dp
+ 1029.4375dp
+ 1031.3333dp
+ 1033.2292dp
+ 1035.1250dp
+ 1037.0208dp
+ 1038.9167dp
+ 1040.8125dp
+ 1042.7083dp
+ 1044.6042dp
+ 1046.5000dp
+ 1048.3958dp
+ 1050.2917dp
+ 1052.1875dp
+ 1054.0833dp
+ 1055.9792dp
+ 1057.8750dp
+ 1059.7708dp
+ 1061.6667dp
+ 1063.5625dp
+ 1065.4583dp
+ 1067.3542dp
+ 1069.2500dp
+ 1071.1458dp
+ 1073.0417dp
+ 1074.9375dp
+ 1076.8333dp
+ 1078.7292dp
+ 1080.6250dp
+ 1082.5208dp
+ 1084.4167dp
+ 1086.3125dp
+ 1088.2083dp
+ 1090.1042dp
+ 1092.0000dp
+ 1093.8958dp
+ 1095.7917dp
+ 1097.6875dp
+ 1099.5833dp
+ 1101.4792dp
+ 1103.3750dp
+ 1105.2708dp
+ 1107.1667dp
+ 1109.0625dp
+ 1110.9583dp
+ 1112.8542dp
+ 1114.7500dp
+ 1116.6458dp
+ 1118.5417dp
+ 1120.4375dp
+ 1122.3333dp
+ 1124.2292dp
+ 1126.1250dp
+ 1128.0208dp
+ 1129.9167dp
+ 1131.8125dp
+ 1133.7083dp
+ 1135.6042dp
+ 1137.5000dp
+ 1139.3958dp
+ 1141.2917dp
+ 1143.1875dp
+ 1145.0833dp
+ 1146.9792dp
+ 1148.8750dp
+ 1150.7708dp
+ 1152.6667dp
+ 1154.5625dp
+ 1156.4583dp
+ 1158.3542dp
+ 1160.2500dp
+ 1162.1458dp
+ 1164.0417dp
+ 1165.9375dp
+ 1167.8333dp
+ 1169.7292dp
+ 1171.6250dp
+ 1173.5208dp
+ 1175.4167dp
+ 1177.3125dp
+ 1179.2083dp
+ 1181.1042dp
+ 1183.0000dp
+ 1184.8958dp
+ 1186.7917dp
+ 1188.6875dp
+ 1190.5833dp
+ 1192.4792dp
+ 1194.3750dp
+ 1196.2708dp
+ 1198.1667dp
+ 1200.0625dp
+ 1201.9583dp
+ 1203.8542dp
+ 1205.7500dp
+ 1207.6458dp
+ 1209.5417dp
+ 1211.4375dp
+ 1213.3333dp
+ 1215.2292dp
+ 1217.1250dp
+ 1219.0208dp
+ 1220.9167dp
+ 1222.8125dp
+ 1224.7083dp
+ 1226.6042dp
+ 1228.5000dp
+ 1230.3958dp
+ 1232.2917dp
+ 1234.1875dp
+ 1236.0833dp
+ 1237.9792dp
+ 1239.8750dp
+ 1241.7708dp
+ 1243.6667dp
+ 1245.5625dp
+ 1247.4583dp
+ 1249.3542dp
+ 1251.2500dp
+ 1253.1458dp
+ 1255.0417dp
+ 1256.9375dp
+ 1258.8333dp
+ 1260.7292dp
+ 1262.6250dp
+ 1264.5208dp
+ 1266.4167dp
+ 1268.3125dp
+ 1270.2083dp
+ 1272.1042dp
+ 1274.0000dp
+ 1275.8958dp
+ 1277.7917dp
+ 1279.6875dp
+ 1281.5833dp
+ 1283.4792dp
+ 1285.3750dp
+ 1287.2708dp
+ 1289.1667dp
+ 1291.0625dp
+ 1292.9583dp
+ 1294.8542dp
+ 1296.7500dp
+ 1298.6458dp
+ 1300.5417dp
+ 1302.4375dp
+ 1304.3333dp
+ 1306.2292dp
+ 1308.1250dp
+ 1310.0208dp
+ 1311.9167dp
+ 1313.8125dp
+ 1315.7083dp
+ 1317.6042dp
+ 1319.5000dp
+ 1321.3958dp
+ 1323.2917dp
+ 1325.1875dp
+ 1327.0833dp
+ 1328.9792dp
+ 1330.8750dp
+ 1332.7708dp
+ 1334.6667dp
+ 1336.5625dp
+ 1338.4583dp
+ 1340.3542dp
+ 1342.2500dp
+ 1344.1458dp
+ 1346.0417dp
+ 1347.9375dp
+ 1349.8333dp
+ 1351.7292dp
+ 1353.6250dp
+ 1355.5208dp
+ 1357.4167dp
+ 1359.3125dp
+ 1361.2083dp
+ 1363.1042dp
+ 1365.0000dp
+ 3.7917sp
+ 7.5833sp
+ 11.3750sp
+ 15.1667sp
+ 18.9583sp
+ 22.7500sp
+ 26.5417sp
+ 30.3333sp
+ 34.1250sp
+ 37.9167sp
+ 41.7083sp
+ 45.5000sp
+ 49.2917sp
+ 53.0833sp
+ 56.8750sp
+ 60.6667sp
+ 64.4583sp
+ 68.2500sp
+ 72.0417sp
+ 75.8333sp
+ 79.6250sp
+ 83.4167sp
+ 87.2083sp
+ 91.0000sp
+ 94.7917sp
+ 98.5833sp
+ 102.3750sp
+ 106.1667sp
+ 109.9583sp
+ 113.7500sp
+ 117.5417sp
+ 121.3333sp
+ 125.1250sp
+ 128.9167sp
+ 132.7083sp
+ 136.5000sp
+ 140.2917sp
+ 144.0833sp
+ 147.8750sp
+ 151.6667sp
+
diff --git a/BaseAndroidKt/src/main/res/values-sw240dp/dimens.xml b/BaseAndroidKt/src/main/res/values-sw240dp/dimens.xml
new file mode 100644
index 0000000..6a297e6
--- /dev/null
+++ b/BaseAndroidKt/src/main/res/values-sw240dp/dimens.xml
@@ -0,0 +1,764 @@
+
+
+ 240.0000dp
+ 0.3333dp
+ 0.6667dp
+ 1.0000dp
+ 1.3333dp
+ 1.6667dp
+ 2.0000dp
+ 2.3333dp
+ 2.6667dp
+ 3.0000dp
+ 3.3333dp
+ 3.6667dp
+ 4.0000dp
+ 4.3333dp
+ 4.6667dp
+ 5.0000dp
+ 5.3333dp
+ 5.6667dp
+ 6.0000dp
+ 6.3333dp
+ 6.6667dp
+ 7.0000dp
+ 7.3333dp
+ 7.6667dp
+ 8.0000dp
+ 8.3333dp
+ 8.6667dp
+ 9.0000dp
+ 9.3333dp
+ 9.6667dp
+ 10.0000dp
+ 10.3333dp
+ 10.6667dp
+ 11.0000dp
+ 11.3333dp
+ 11.6667dp
+ 12.0000dp
+ 12.3333dp
+ 12.6667dp
+ 13.0000dp
+ 13.3333dp
+ 13.6667dp
+ 14.0000dp
+ 14.3333dp
+ 14.6667dp
+ 15.0000dp
+ 15.3333dp
+ 15.6667dp
+ 16.0000dp
+ 16.3333dp
+ 16.6667dp
+ 17.0000dp
+ 17.3333dp
+ 17.6667dp
+ 18.0000dp
+ 18.3333dp
+ 18.6667dp
+ 19.0000dp
+ 19.3333dp
+ 19.6667dp
+ 20.0000dp
+ 20.3333dp
+ 20.6667dp
+ 21.0000dp
+ 21.3333dp
+ 21.6667dp
+ 22.0000dp
+ 22.3333dp
+ 22.6667dp
+ 23.0000dp
+ 23.3333dp
+ 23.6667dp
+ 24.0000dp
+ 24.3333dp
+ 24.6667dp
+ 25.0000dp
+ 25.3333dp
+ 25.6667dp
+ 26.0000dp
+ 26.3333dp
+ 26.6667dp
+ 27.0000dp
+ 27.3333dp
+ 27.6667dp
+ 28.0000dp
+ 28.3333dp
+ 28.6667dp
+ 29.0000dp
+ 29.3333dp
+ 29.6667dp
+ 30.0000dp
+ 30.3333dp
+ 30.6667dp
+ 31.0000dp
+ 31.3333dp
+ 31.6667dp
+ 32.0000dp
+ 32.3333dp
+ 32.6667dp
+ 33.0000dp
+ 33.3333dp
+ 33.6667dp
+ 34.0000dp
+ 34.3333dp
+ 34.6667dp
+ 35.0000dp
+ 35.3333dp
+ 35.6667dp
+ 36.0000dp
+ 36.3333dp
+ 36.6667dp
+ 37.0000dp
+ 37.3333dp
+ 37.6667dp
+ 38.0000dp
+ 38.3333dp
+ 38.6667dp
+ 39.0000dp
+ 39.3333dp
+ 39.6667dp
+ 40.0000dp
+ 40.3333dp
+ 40.6667dp
+ 41.0000dp
+ 41.3333dp
+ 41.6667dp
+ 42.0000dp
+ 42.3333dp
+ 42.6667dp
+ 43.0000dp
+ 43.3333dp
+ 43.6667dp
+ 44.0000dp
+ 44.3333dp
+ 44.6667dp
+ 45.0000dp
+ 45.3333dp
+ 45.6667dp
+ 46.0000dp
+ 46.3333dp
+ 46.6667dp
+ 47.0000dp
+ 47.3333dp
+ 47.6667dp
+ 48.0000dp
+ 48.3333dp
+ 48.6667dp
+ 49.0000dp
+ 49.3333dp
+ 49.6667dp
+ 50.0000dp
+ 50.3333dp
+ 50.6667dp
+ 51.0000dp
+ 51.3333dp
+ 51.6667dp
+ 52.0000dp
+ 52.3333dp
+ 52.6667dp
+ 53.0000dp
+ 53.3333dp
+ 53.6667dp
+ 54.0000dp
+ 54.3333dp
+ 54.6667dp
+ 55.0000dp
+ 55.3333dp
+ 55.6667dp
+ 56.0000dp
+ 56.3333dp
+ 56.6667dp
+ 57.0000dp
+ 57.3333dp
+ 57.6667dp
+ 58.0000dp
+ 58.3333dp
+ 58.6667dp
+ 59.0000dp
+ 59.3333dp
+ 59.6667dp
+ 60.0000dp
+ 60.3333dp
+ 60.6667dp
+ 61.0000dp
+ 61.3333dp
+ 61.6667dp
+ 62.0000dp
+ 62.3333dp
+ 62.6667dp
+ 63.0000dp
+ 63.3333dp
+ 63.6667dp
+ 64.0000dp
+ 64.3333dp
+ 64.6667dp
+ 65.0000dp
+ 65.3333dp
+ 65.6667dp
+ 66.0000dp
+ 66.3333dp
+ 66.6667dp
+ 67.0000dp
+ 67.3333dp
+ 67.6667dp
+ 68.0000dp
+ 68.3333dp
+ 68.6667dp
+ 69.0000dp
+ 69.3333dp
+ 69.6667dp
+ 70.0000dp
+ 70.3333dp
+ 70.6667dp
+ 71.0000dp
+ 71.3333dp
+ 71.6667dp
+ 72.0000dp
+ 72.3333dp
+ 72.6667dp
+ 73.0000dp
+ 73.3333dp
+ 73.6667dp
+ 74.0000dp
+ 74.3333dp
+ 74.6667dp
+ 75.0000dp
+ 75.3333dp
+ 75.6667dp
+ 76.0000dp
+ 76.3333dp
+ 76.6667dp
+ 77.0000dp
+ 77.3333dp
+ 77.6667dp
+ 78.0000dp
+ 78.3333dp
+ 78.6667dp
+ 79.0000dp
+ 79.3333dp
+ 79.6667dp
+ 80.0000dp
+ 80.3333dp
+ 80.6667dp
+ 81.0000dp
+ 81.3333dp
+ 81.6667dp
+ 82.0000dp
+ 82.3333dp
+ 82.6667dp
+ 83.0000dp
+ 83.3333dp
+ 83.6667dp
+ 84.0000dp
+ 84.3333dp
+ 84.6667dp
+ 85.0000dp
+ 85.3333dp
+ 85.6667dp
+ 86.0000dp
+ 86.3333dp
+ 86.6667dp
+ 87.0000dp
+ 87.3333dp
+ 87.6667dp
+ 88.0000dp
+ 88.3333dp
+ 88.6667dp
+ 89.0000dp
+ 89.3333dp
+ 89.6667dp
+ 90.0000dp
+ 90.3333dp
+ 90.6667dp
+ 91.0000dp
+ 91.3333dp
+ 91.6667dp
+ 92.0000dp
+ 92.3333dp
+ 92.6667dp
+ 93.0000dp
+ 93.3333dp
+ 93.6667dp
+ 94.0000dp
+ 94.3333dp
+ 94.6667dp
+ 95.0000dp
+ 95.3333dp
+ 95.6667dp
+ 96.0000dp
+ 96.3333dp
+ 96.6667dp
+ 97.0000dp
+ 97.3333dp
+ 97.6667dp
+ 98.0000dp
+ 98.3333dp
+ 98.6667dp
+ 99.0000dp
+ 99.3333dp
+ 99.6667dp
+ 100.0000dp
+ 100.3333dp
+ 100.6667dp
+ 101.0000dp
+ 101.3333dp
+ 101.6667dp
+ 102.0000dp
+ 102.3333dp
+ 102.6667dp
+ 103.0000dp
+ 103.3333dp
+ 103.6667dp
+ 104.0000dp
+ 104.3333dp
+ 104.6667dp
+ 105.0000dp
+ 105.3333dp
+ 105.6667dp
+ 106.0000dp
+ 106.3333dp
+ 106.6667dp
+ 107.0000dp
+ 107.3333dp
+ 107.6667dp
+ 108.0000dp
+ 108.3333dp
+ 108.6667dp
+ 109.0000dp
+ 109.3333dp
+ 109.6667dp
+ 110.0000dp
+ 110.3333dp
+ 110.6667dp
+ 111.0000dp
+ 111.3333dp
+ 111.6667dp
+ 112.0000dp
+ 112.3333dp
+ 112.6667dp
+ 113.0000dp
+ 113.3333dp
+ 113.6667dp
+ 114.0000dp
+ 114.3333dp
+ 114.6667dp
+ 115.0000dp
+ 115.3333dp
+ 115.6667dp
+ 116.0000dp
+ 116.3333dp
+ 116.6667dp
+ 117.0000dp
+ 117.3333dp
+ 117.6667dp
+ 118.0000dp
+ 118.3333dp
+ 118.6667dp
+ 119.0000dp
+ 119.3333dp
+ 119.6667dp
+ 120.0000dp
+ 120.3333dp
+ 120.6667dp
+ 121.0000dp
+ 121.3333dp
+ 121.6667dp
+ 122.0000dp
+ 122.3333dp
+ 122.6667dp
+ 123.0000dp
+ 123.3333dp
+ 123.6667dp
+ 124.0000dp
+ 124.3333dp
+ 124.6667dp
+ 125.0000dp
+ 125.3333dp
+ 125.6667dp
+ 126.0000dp
+ 126.3333dp
+ 126.6667dp
+ 127.0000dp
+ 127.3333dp
+ 127.6667dp
+ 128.0000dp
+ 128.3333dp
+ 128.6667dp
+ 129.0000dp
+ 129.3333dp
+ 129.6667dp
+ 130.0000dp
+ 130.3333dp
+ 130.6667dp
+ 131.0000dp
+ 131.3333dp
+ 131.6667dp
+ 132.0000dp
+ 132.3333dp
+ 132.6667dp
+ 133.0000dp
+ 133.3333dp
+ 133.6667dp
+ 134.0000dp
+ 134.3333dp
+ 134.6667dp
+ 135.0000dp
+ 135.3333dp
+ 135.6667dp
+ 136.0000dp
+ 136.3333dp
+ 136.6667dp
+ 137.0000dp
+ 137.3333dp
+ 137.6667dp
+ 138.0000dp
+ 138.3333dp
+ 138.6667dp
+ 139.0000dp
+ 139.3333dp
+ 139.6667dp
+ 140.0000dp
+ 140.3333dp
+ 140.6667dp
+ 141.0000dp
+ 141.3333dp
+ 141.6667dp
+ 142.0000dp
+ 142.3333dp
+ 142.6667dp
+ 143.0000dp
+ 143.3333dp
+ 143.6667dp
+ 144.0000dp
+ 144.3333dp
+ 144.6667dp
+ 145.0000dp
+ 145.3333dp
+ 145.6667dp
+ 146.0000dp
+ 146.3333dp
+ 146.6667dp
+ 147.0000dp
+ 147.3333dp
+ 147.6667dp
+ 148.0000dp
+ 148.3333dp
+ 148.6667dp
+ 149.0000dp
+ 149.3333dp
+ 149.6667dp
+ 150.0000dp
+ 150.3333dp
+ 150.6667dp
+ 151.0000dp
+ 151.3333dp
+ 151.6667dp
+ 152.0000dp
+ 152.3333dp
+ 152.6667dp
+ 153.0000dp
+ 153.3333dp
+ 153.6667dp
+ 154.0000dp
+ 154.3333dp
+ 154.6667dp
+ 155.0000dp
+ 155.3333dp
+ 155.6667dp
+ 156.0000dp
+ 156.3333dp
+ 156.6667dp
+ 157.0000dp
+ 157.3333dp
+ 157.6667dp
+ 158.0000dp
+ 158.3333dp
+ 158.6667dp
+ 159.0000dp
+ 159.3333dp
+ 159.6667dp
+ 160.0000dp
+ 160.3333dp
+ 160.6667dp
+ 161.0000dp
+ 161.3333dp
+ 161.6667dp
+ 162.0000dp
+ 162.3333dp
+ 162.6667dp
+ 163.0000dp
+ 163.3333dp
+ 163.6667dp
+ 164.0000dp
+ 164.3333dp
+ 164.6667dp
+ 165.0000dp
+ 165.3333dp
+ 165.6667dp
+ 166.0000dp
+ 166.3333dp
+ 166.6667dp
+ 167.0000dp
+ 167.3333dp
+ 167.6667dp
+ 168.0000dp
+ 168.3333dp
+ 168.6667dp
+ 169.0000dp
+ 169.3333dp
+ 169.6667dp
+ 170.0000dp
+ 170.3333dp
+ 170.6667dp
+ 171.0000dp
+ 171.3333dp
+ 171.6667dp
+ 172.0000dp
+ 172.3333dp
+ 172.6667dp
+ 173.0000dp
+ 173.3333dp
+ 173.6667dp
+ 174.0000dp
+ 174.3333dp
+ 174.6667dp
+ 175.0000dp
+ 175.3333dp
+ 175.6667dp
+ 176.0000dp
+ 176.3333dp
+ 176.6667dp
+ 177.0000dp
+ 177.3333dp
+ 177.6667dp
+ 178.0000dp
+ 178.3333dp
+ 178.6667dp
+ 179.0000dp
+ 179.3333dp
+ 179.6667dp
+ 180.0000dp
+ 180.3333dp
+ 180.6667dp
+ 181.0000dp
+ 181.3333dp
+ 181.6667dp
+ 182.0000dp
+ 182.3333dp
+ 182.6667dp
+ 183.0000dp
+ 183.3333dp
+ 183.6667dp
+ 184.0000dp
+ 184.3333dp
+ 184.6667dp
+ 185.0000dp
+ 185.3333dp
+ 185.6667dp
+ 186.0000dp
+ 186.3333dp
+ 186.6667dp
+ 187.0000dp
+ 187.3333dp
+ 187.6667dp
+ 188.0000dp
+ 188.3333dp
+ 188.6667dp
+ 189.0000dp
+ 189.3333dp
+ 189.6667dp
+ 190.0000dp
+ 190.3333dp
+ 190.6667dp
+ 191.0000dp
+ 191.3333dp
+ 191.6667dp
+ 192.0000dp
+ 192.3333dp
+ 192.6667dp
+ 193.0000dp
+ 193.3333dp
+ 193.6667dp
+ 194.0000dp
+ 194.3333dp
+ 194.6667dp
+ 195.0000dp
+ 195.3333dp
+ 195.6667dp
+ 196.0000dp
+ 196.3333dp
+ 196.6667dp
+ 197.0000dp
+ 197.3333dp
+ 197.6667dp
+ 198.0000dp
+ 198.3333dp
+ 198.6667dp
+ 199.0000dp
+ 199.3333dp
+ 199.6667dp
+ 200.0000dp
+ 200.3333dp
+ 200.6667dp
+ 201.0000dp
+ 201.3333dp
+ 201.6667dp
+ 202.0000dp
+ 202.3333dp
+ 202.6667dp
+ 203.0000dp
+ 203.3333dp
+ 203.6667dp
+ 204.0000dp
+ 204.3333dp
+ 204.6667dp
+ 205.0000dp
+ 205.3333dp
+ 205.6667dp
+ 206.0000dp
+ 206.3333dp
+ 206.6667dp
+ 207.0000dp
+ 207.3333dp
+ 207.6667dp
+ 208.0000dp
+ 208.3333dp
+ 208.6667dp
+ 209.0000dp
+ 209.3333dp
+ 209.6667dp
+ 210.0000dp
+ 210.3333dp
+ 210.6667dp
+ 211.0000dp
+ 211.3333dp
+ 211.6667dp
+ 212.0000dp
+ 212.3333dp
+ 212.6667dp
+ 213.0000dp
+ 213.3333dp
+ 213.6667dp
+ 214.0000dp
+ 214.3333dp
+ 214.6667dp
+ 215.0000dp
+ 215.3333dp
+ 215.6667dp
+ 216.0000dp
+ 216.3333dp
+ 216.6667dp
+ 217.0000dp
+ 217.3333dp
+ 217.6667dp
+ 218.0000dp
+ 218.3333dp
+ 218.6667dp
+ 219.0000dp
+ 219.3333dp
+ 219.6667dp
+ 220.0000dp
+ 220.3333dp
+ 220.6667dp
+ 221.0000dp
+ 221.3333dp
+ 221.6667dp
+ 222.0000dp
+ 222.3333dp
+ 222.6667dp
+ 223.0000dp
+ 223.3333dp
+ 223.6667dp
+ 224.0000dp
+ 224.3333dp
+ 224.6667dp
+ 225.0000dp
+ 225.3333dp
+ 225.6667dp
+ 226.0000dp
+ 226.3333dp
+ 226.6667dp
+ 227.0000dp
+ 227.3333dp
+ 227.6667dp
+ 228.0000dp
+ 228.3333dp
+ 228.6667dp
+ 229.0000dp
+ 229.3333dp
+ 229.6667dp
+ 230.0000dp
+ 230.3333dp
+ 230.6667dp
+ 231.0000dp
+ 231.3333dp
+ 231.6667dp
+ 232.0000dp
+ 232.3333dp
+ 232.6667dp
+ 233.0000dp
+ 233.3333dp
+ 233.6667dp
+ 234.0000dp
+ 234.3333dp
+ 234.6667dp
+ 235.0000dp
+ 235.3333dp
+ 235.6667dp
+ 236.0000dp
+ 236.3333dp
+ 236.6667dp
+ 237.0000dp
+ 237.3333dp
+ 237.6667dp
+ 238.0000dp
+ 238.3333dp
+ 238.6667dp
+ 239.0000dp
+ 239.3333dp
+ 239.6667dp
+ 240.0000dp
+ 0.6667sp
+ 1.3333sp
+ 2.0000sp
+ 2.6667sp
+ 3.3333sp
+ 4.0000sp
+ 4.6667sp
+ 5.3333sp
+ 6.0000sp
+ 6.6667sp
+ 7.3333sp
+ 8.0000sp
+ 8.6667sp
+ 9.3333sp
+ 10.0000sp
+ 10.6667sp
+ 11.3333sp
+ 12.0000sp
+ 12.6667sp
+ 13.3333sp
+ 14.0000sp
+ 14.6667sp
+ 15.3333sp
+ 16.0000sp
+ 16.6667sp
+ 17.3333sp
+ 18.0000sp
+ 18.6667sp
+ 19.3333sp
+ 20.0000sp
+ 20.6667sp
+ 21.3333sp
+ 22.0000sp
+ 22.6667sp
+ 23.3333sp
+ 24.0000sp
+ 24.6667sp
+ 25.3333sp
+ 26.0000sp
+ 26.6667sp
+
diff --git a/BaseAndroidKt/src/main/res/values-sw320dp/dimens.xml b/BaseAndroidKt/src/main/res/values-sw320dp/dimens.xml
new file mode 100644
index 0000000..2de68b8
--- /dev/null
+++ b/BaseAndroidKt/src/main/res/values-sw320dp/dimens.xml
@@ -0,0 +1,764 @@
+
+
+ 320.0000dp
+ 0.4444dp
+ 0.8889dp
+ 1.3333dp
+ 1.7778dp
+ 2.2222dp
+ 2.6667dp
+ 3.1111dp
+ 3.5556dp
+ 4.0000dp
+ 4.4444dp
+ 4.8889dp
+ 5.3333dp
+ 5.7778dp
+ 6.2222dp
+ 6.6667dp
+ 7.1111dp
+ 7.5556dp
+ 8.0000dp
+ 8.4444dp
+ 8.8889dp
+ 9.3333dp
+ 9.7778dp
+ 10.2222dp
+ 10.6667dp
+ 11.1111dp
+ 11.5556dp
+ 12.0000dp
+ 12.4444dp
+ 12.8889dp
+ 13.3333dp
+ 13.7778dp
+ 14.2222dp
+ 14.6667dp
+ 15.1111dp
+ 15.5556dp
+ 16.0000dp
+ 16.4444dp
+ 16.8889dp
+ 17.3333dp
+ 17.7778dp
+ 18.2222dp
+ 18.6667dp
+ 19.1111dp
+ 19.5556dp
+ 20.0000dp
+ 20.4444dp
+ 20.8889dp
+ 21.3333dp
+ 21.7778dp
+ 22.2222dp
+ 22.6667dp
+ 23.1111dp
+ 23.5556dp
+ 24.0000dp
+ 24.4444dp
+ 24.8889dp
+ 25.3333dp
+ 25.7778dp
+ 26.2222dp
+ 26.6667dp
+ 27.1111dp
+ 27.5556dp
+ 28.0000dp
+ 28.4444dp
+ 28.8889dp
+ 29.3333dp
+ 29.7778dp
+ 30.2222dp
+ 30.6667dp
+ 31.1111dp
+ 31.5556dp
+ 32.0000dp
+ 32.4444dp
+ 32.8889dp
+ 33.3333dp
+ 33.7778dp
+ 34.2222dp
+ 34.6667dp
+ 35.1111dp
+ 35.5556dp
+ 36.0000dp
+ 36.4444dp
+ 36.8889dp
+ 37.3333dp
+ 37.7778dp
+ 38.2222dp
+ 38.6667dp
+ 39.1111dp
+ 39.5556dp
+ 40.0000dp
+ 40.4444dp
+ 40.8889dp
+ 41.3333dp
+ 41.7778dp
+ 42.2222dp
+ 42.6667dp
+ 43.1111dp
+ 43.5556dp
+ 44.0000dp
+ 44.4444dp
+ 44.8889dp
+ 45.3333dp
+ 45.7778dp
+ 46.2222dp
+ 46.6667dp
+ 47.1111dp
+ 47.5556dp
+ 48.0000dp
+ 48.4444dp
+ 48.8889dp
+ 49.3333dp
+ 49.7778dp
+ 50.2222dp
+ 50.6667dp
+ 51.1111dp
+ 51.5556dp
+ 52.0000dp
+ 52.4444dp
+ 52.8889dp
+ 53.3333dp
+ 53.7778dp
+ 54.2222dp
+ 54.6667dp
+ 55.1111dp
+ 55.5556dp
+ 56.0000dp
+ 56.4444dp
+ 56.8889dp
+ 57.3333dp
+ 57.7778dp
+ 58.2222dp
+ 58.6667dp
+ 59.1111dp
+ 59.5556dp
+ 60.0000dp
+ 60.4444dp
+ 60.8889dp
+ 61.3333dp
+ 61.7778dp
+ 62.2222dp
+ 62.6667dp
+ 63.1111dp
+ 63.5556dp
+ 64.0000dp
+ 64.4444dp
+ 64.8889dp
+ 65.3333dp
+ 65.7778dp
+ 66.2222dp
+ 66.6667dp
+ 67.1111dp
+ 67.5556dp
+ 68.0000dp
+ 68.4444dp
+ 68.8889dp
+ 69.3333dp
+ 69.7778dp
+ 70.2222dp
+ 70.6667dp
+ 71.1111dp
+ 71.5556dp
+ 72.0000dp
+ 72.4444dp
+ 72.8889dp
+ 73.3333dp
+ 73.7778dp
+ 74.2222dp
+ 74.6667dp
+ 75.1111dp
+ 75.5556dp
+ 76.0000dp
+ 76.4444dp
+ 76.8889dp
+ 77.3333dp
+ 77.7778dp
+ 78.2222dp
+ 78.6667dp
+ 79.1111dp
+ 79.5556dp
+ 80.0000dp
+ 80.4444dp
+ 80.8889dp
+ 81.3333dp
+ 81.7778dp
+ 82.2222dp
+ 82.6667dp
+ 83.1111dp
+ 83.5556dp
+ 84.0000dp
+ 84.4444dp
+ 84.8889dp
+ 85.3333dp
+ 85.7778dp
+ 86.2222dp
+ 86.6667dp
+ 87.1111dp
+ 87.5556dp
+ 88.0000dp
+ 88.4444dp
+ 88.8889dp
+ 89.3333dp
+ 89.7778dp
+ 90.2222dp
+ 90.6667dp
+ 91.1111dp
+ 91.5556dp
+ 92.0000dp
+ 92.4444dp
+ 92.8889dp
+ 93.3333dp
+ 93.7778dp
+ 94.2222dp
+ 94.6667dp
+ 95.1111dp
+ 95.5556dp
+ 96.0000dp
+ 96.4444dp
+ 96.8889dp
+ 97.3333dp
+ 97.7778dp
+ 98.2222dp
+ 98.6667dp
+ 99.1111dp
+ 99.5556dp
+ 100.0000dp
+ 100.4444dp
+ 100.8889dp
+ 101.3333dp
+ 101.7778dp
+ 102.2222dp
+ 102.6667dp
+ 103.1111dp
+ 103.5556dp
+ 104.0000dp
+ 104.4444dp
+ 104.8889dp
+ 105.3333dp
+ 105.7778dp
+ 106.2222dp
+ 106.6667dp
+ 107.1111dp
+ 107.5556dp
+ 108.0000dp
+ 108.4444dp
+ 108.8889dp
+ 109.3333dp
+ 109.7778dp
+ 110.2222dp
+ 110.6667dp
+ 111.1111dp
+ 111.5556dp
+ 112.0000dp
+ 112.4444dp
+ 112.8889dp
+ 113.3333dp
+ 113.7778dp
+ 114.2222dp
+ 114.6667dp
+ 115.1111dp
+ 115.5556dp
+ 116.0000dp
+ 116.4444dp
+ 116.8889dp
+ 117.3333dp
+ 117.7778dp
+ 118.2222dp
+ 118.6667dp
+ 119.1111dp
+ 119.5556dp
+ 120.0000dp
+ 120.4444dp
+ 120.8889dp
+ 121.3333dp
+ 121.7778dp
+ 122.2222dp
+ 122.6667dp
+ 123.1111dp
+ 123.5556dp
+ 124.0000dp
+ 124.4444dp
+ 124.8889dp
+ 125.3333dp
+ 125.7778dp
+ 126.2222dp
+ 126.6667dp
+ 127.1111dp
+ 127.5556dp
+ 128.0000dp
+ 128.4444dp
+ 128.8889dp
+ 129.3333dp
+ 129.7778dp
+ 130.2222dp
+ 130.6667dp
+ 131.1111dp
+ 131.5556dp
+ 132.0000dp
+ 132.4444dp
+ 132.8889dp
+ 133.3333dp
+ 133.7778dp
+ 134.2222dp
+ 134.6667dp
+ 135.1111dp
+ 135.5556dp
+ 136.0000dp
+ 136.4444dp
+ 136.8889dp
+ 137.3333dp
+ 137.7778dp
+ 138.2222dp
+ 138.6667dp
+ 139.1111dp
+ 139.5556dp
+ 140.0000dp
+ 140.4444dp
+ 140.8889dp
+ 141.3333dp
+ 141.7778dp
+ 142.2222dp
+ 142.6667dp
+ 143.1111dp
+ 143.5556dp
+ 144.0000dp
+ 144.4444dp
+ 144.8889dp
+ 145.3333dp
+ 145.7778dp
+ 146.2222dp
+ 146.6667dp
+ 147.1111dp
+ 147.5556dp
+ 148.0000dp
+ 148.4444dp
+ 148.8889dp
+ 149.3333dp
+ 149.7778dp
+ 150.2222dp
+ 150.6667dp
+ 151.1111dp
+ 151.5556dp
+ 152.0000dp
+ 152.4444dp
+ 152.8889dp
+ 153.3333dp
+ 153.7778dp
+ 154.2222dp
+ 154.6667dp
+ 155.1111dp
+ 155.5556dp
+ 156.0000dp
+ 156.4444dp
+ 156.8889dp
+ 157.3333dp
+ 157.7778dp
+ 158.2222dp
+ 158.6667dp
+ 159.1111dp
+ 159.5556dp
+ 160.0000dp
+ 160.4444dp
+ 160.8889dp
+ 161.3333dp
+ 161.7778dp
+ 162.2222dp
+ 162.6667dp
+ 163.1111dp
+ 163.5556dp
+ 164.0000dp
+ 164.4444dp
+ 164.8889dp
+ 165.3333dp
+ 165.7778dp
+ 166.2222dp
+ 166.6667dp
+ 167.1111dp
+ 167.5556dp
+ 168.0000dp
+ 168.4444dp
+ 168.8889dp
+ 169.3333dp
+ 169.7778dp
+ 170.2222dp
+ 170.6667dp
+ 171.1111dp
+ 171.5556dp
+ 172.0000dp
+ 172.4444dp
+ 172.8889dp
+ 173.3333dp
+ 173.7778dp
+ 174.2222dp
+ 174.6667dp
+ 175.1111dp
+ 175.5556dp
+ 176.0000dp
+ 176.4444dp
+ 176.8889dp
+ 177.3333dp
+ 177.7778dp
+ 178.2222dp
+ 178.6667dp
+ 179.1111dp
+ 179.5556dp
+ 180.0000dp
+ 180.4444dp
+ 180.8889dp
+ 181.3333dp
+ 181.7778dp
+ 182.2222dp
+ 182.6667dp
+ 183.1111dp
+ 183.5556dp
+ 184.0000dp
+ 184.4444dp
+ 184.8889dp
+ 185.3333dp
+ 185.7778dp
+ 186.2222dp
+ 186.6667dp
+ 187.1111dp
+ 187.5556dp
+ 188.0000dp
+ 188.4444dp
+ 188.8889dp
+ 189.3333dp
+ 189.7778dp
+ 190.2222dp
+ 190.6667dp
+ 191.1111dp
+ 191.5556dp
+ 192.0000dp
+ 192.4444dp
+ 192.8889dp
+ 193.3333dp
+ 193.7778dp
+ 194.2222dp
+ 194.6667dp
+ 195.1111dp
+ 195.5556dp
+ 196.0000dp
+ 196.4444dp
+ 196.8889dp
+ 197.3333dp
+ 197.7778dp
+ 198.2222dp
+ 198.6667dp
+ 199.1111dp
+ 199.5556dp
+ 200.0000dp
+ 200.4444dp
+ 200.8889dp
+ 201.3333dp
+ 201.7778dp
+ 202.2222dp
+ 202.6667dp
+ 203.1111dp
+ 203.5556dp
+ 204.0000dp
+ 204.4444dp
+ 204.8889dp
+ 205.3333dp
+ 205.7778dp
+ 206.2222dp
+ 206.6667dp
+ 207.1111dp
+ 207.5556dp
+ 208.0000dp
+ 208.4444dp
+ 208.8889dp
+ 209.3333dp
+ 209.7778dp
+ 210.2222dp
+ 210.6667dp
+ 211.1111dp
+ 211.5556dp
+ 212.0000dp
+ 212.4444dp
+ 212.8889dp
+ 213.3333dp
+ 213.7778dp
+ 214.2222dp
+ 214.6667dp
+ 215.1111dp
+ 215.5556dp
+ 216.0000dp
+ 216.4444dp
+ 216.8889dp
+ 217.3333dp
+ 217.7778dp
+ 218.2222dp
+ 218.6667dp
+ 219.1111dp
+ 219.5556dp
+ 220.0000dp
+ 220.4444dp
+ 220.8889dp
+ 221.3333dp
+ 221.7778dp
+ 222.2222dp
+ 222.6667dp
+ 223.1111dp
+ 223.5556dp
+ 224.0000dp
+ 224.4444dp
+ 224.8889dp
+ 225.3333dp
+ 225.7778dp
+ 226.2222dp
+ 226.6667dp
+ 227.1111dp
+ 227.5556dp
+ 228.0000dp
+ 228.4444dp
+ 228.8889dp
+ 229.3333dp
+ 229.7778dp
+ 230.2222dp
+ 230.6667dp
+ 231.1111dp
+ 231.5556dp
+ 232.0000dp
+ 232.4444dp
+ 232.8889dp
+ 233.3333dp
+ 233.7778dp
+ 234.2222dp
+ 234.6667dp
+ 235.1111dp
+ 235.5556dp
+ 236.0000dp
+ 236.4444dp
+ 236.8889dp
+ 237.3333dp
+ 237.7778dp
+ 238.2222dp
+ 238.6667dp
+ 239.1111dp
+ 239.5556dp
+ 240.0000dp
+ 240.4444dp
+ 240.8889dp
+ 241.3333dp
+ 241.7778dp
+ 242.2222dp
+ 242.6667dp
+ 243.1111dp
+ 243.5556dp
+ 244.0000dp
+ 244.4444dp
+ 244.8889dp
+ 245.3333dp
+ 245.7778dp
+ 246.2222dp
+ 246.6667dp
+ 247.1111dp
+ 247.5556dp
+ 248.0000dp
+ 248.4444dp
+ 248.8889dp
+ 249.3333dp
+ 249.7778dp
+ 250.2222dp
+ 250.6667dp
+ 251.1111dp
+ 251.5556dp
+ 252.0000dp
+ 252.4444dp
+ 252.8889dp
+ 253.3333dp
+ 253.7778dp
+ 254.2222dp
+ 254.6667dp
+ 255.1111dp
+ 255.5556dp
+ 256.0000dp
+ 256.4444dp
+ 256.8889dp
+ 257.3333dp
+ 257.7778dp
+ 258.2222dp
+ 258.6667dp
+ 259.1111dp
+ 259.5556dp
+ 260.0000dp
+ 260.4444dp
+ 260.8889dp
+ 261.3333dp
+ 261.7778dp
+ 262.2222dp
+ 262.6667dp
+ 263.1111dp
+ 263.5556dp
+ 264.0000dp
+ 264.4444dp
+ 264.8889dp
+ 265.3333dp
+ 265.7778dp
+ 266.2222dp
+ 266.6667dp
+ 267.1111dp
+ 267.5556dp
+ 268.0000dp
+ 268.4444dp
+ 268.8889dp
+ 269.3333dp
+ 269.7778dp
+ 270.2222dp
+ 270.6667dp
+ 271.1111dp
+ 271.5556dp
+ 272.0000dp
+ 272.4444dp
+ 272.8889dp
+ 273.3333dp
+ 273.7778dp
+ 274.2222dp
+ 274.6667dp
+ 275.1111dp
+ 275.5556dp
+ 276.0000dp
+ 276.4444dp
+ 276.8889dp
+ 277.3333dp
+ 277.7778dp
+ 278.2222dp
+ 278.6667dp
+ 279.1111dp
+ 279.5556dp
+ 280.0000dp
+ 280.4444dp
+ 280.8889dp
+ 281.3333dp
+ 281.7778dp
+ 282.2222dp
+ 282.6667dp
+ 283.1111dp
+ 283.5556dp
+ 284.0000dp
+ 284.4444dp
+ 284.8889dp
+ 285.3333dp
+ 285.7778dp
+ 286.2222dp
+ 286.6667dp
+ 287.1111dp
+ 287.5556dp
+ 288.0000dp
+ 288.4444dp
+ 288.8889dp
+ 289.3333dp
+ 289.7778dp
+ 290.2222dp
+ 290.6667dp
+ 291.1111dp
+ 291.5556dp
+ 292.0000dp
+ 292.4444dp
+ 292.8889dp
+ 293.3333dp
+ 293.7778dp
+ 294.2222dp
+ 294.6667dp
+ 295.1111dp
+ 295.5556dp
+ 296.0000dp
+ 296.4444dp
+ 296.8889dp
+ 297.3333dp
+ 297.7778dp
+ 298.2222dp
+ 298.6667dp
+ 299.1111dp
+ 299.5556dp
+ 300.0000dp
+ 300.4444dp
+ 300.8889dp
+ 301.3333dp
+ 301.7778dp
+ 302.2222dp
+ 302.6667dp
+ 303.1111dp
+ 303.5556dp
+ 304.0000dp
+ 304.4444dp
+ 304.8889dp
+ 305.3333dp
+ 305.7778dp
+ 306.2222dp
+ 306.6667dp
+ 307.1111dp
+ 307.5556dp
+ 308.0000dp
+ 308.4444dp
+ 308.8889dp
+ 309.3333dp
+ 309.7778dp
+ 310.2222dp
+ 310.6667dp
+ 311.1111dp
+ 311.5556dp
+ 312.0000dp
+ 312.4444dp
+ 312.8889dp
+ 313.3333dp
+ 313.7778dp
+ 314.2222dp
+ 314.6667dp
+ 315.1111dp
+ 315.5556dp
+ 316.0000dp
+ 316.4444dp
+ 316.8889dp
+ 317.3333dp
+ 317.7778dp
+ 318.2222dp
+ 318.6667dp
+ 319.1111dp
+ 319.5556dp
+ 320.0000dp
+ 0.8889sp
+ 1.7778sp
+ 2.6667sp
+ 3.5556sp
+ 4.4444sp
+ 5.3333sp
+ 6.2222sp
+ 7.1111sp
+ 8.0000sp
+ 8.8889sp
+ 9.7778sp
+ 10.6667sp
+ 11.5556sp
+ 12.4444sp
+ 13.3333sp
+ 14.2222sp
+ 15.1111sp
+ 16.0000sp
+ 16.8889sp
+ 17.7778sp
+ 18.6667sp
+ 19.5556sp
+ 20.4444sp
+ 21.3333sp
+ 22.2222sp
+ 23.1111sp
+ 24.0000sp
+ 24.8889sp
+ 25.7778sp
+ 26.6667sp
+ 27.5556sp
+ 28.4444sp
+ 29.3333sp
+ 30.2222sp
+ 31.1111sp
+ 32.0000sp
+ 32.8889sp
+ 33.7778sp
+ 34.6667sp
+ 35.5556sp
+
diff --git a/BaseAndroidKt/src/main/res/values-sw384dp/dimens.xml b/BaseAndroidKt/src/main/res/values-sw384dp/dimens.xml
new file mode 100644
index 0000000..234feee
--- /dev/null
+++ b/BaseAndroidKt/src/main/res/values-sw384dp/dimens.xml
@@ -0,0 +1,764 @@
+
+
+ 384.0000dp
+ 0.5333dp
+ 1.0667dp
+ 1.6000dp
+ 2.1333dp
+ 2.6667dp
+ 3.2000dp
+ 3.7333dp
+ 4.2667dp
+ 4.8000dp
+ 5.3333dp
+ 5.8667dp
+ 6.4000dp
+ 6.9333dp
+ 7.4667dp
+ 8.0000dp
+ 8.5333dp
+ 9.0667dp
+ 9.6000dp
+ 10.1333dp
+ 10.6667dp
+ 11.2000dp
+ 11.7333dp
+ 12.2667dp
+ 12.8000dp
+ 13.3333dp
+ 13.8667dp
+ 14.4000dp
+ 14.9333dp
+ 15.4667dp
+ 16.0000dp
+ 16.5333dp
+ 17.0667dp
+ 17.6000dp
+ 18.1333dp
+ 18.6667dp
+ 19.2000dp
+ 19.7333dp
+ 20.2667dp
+ 20.8000dp
+ 21.3333dp
+ 21.8667dp
+ 22.4000dp
+ 22.9333dp
+ 23.4667dp
+ 24.0000dp
+ 24.5333dp
+ 25.0667dp
+ 25.6000dp
+ 26.1333dp
+ 26.6667dp
+ 27.2000dp
+ 27.7333dp
+ 28.2667dp
+ 28.8000dp
+ 29.3333dp
+ 29.8667dp
+ 30.4000dp
+ 30.9333dp
+ 31.4667dp
+ 32.0000dp
+ 32.5333dp
+ 33.0667dp
+ 33.6000dp
+ 34.1333dp
+ 34.6667dp
+ 35.2000dp
+ 35.7333dp
+ 36.2667dp
+ 36.8000dp
+ 37.3333dp
+ 37.8667dp
+ 38.4000dp
+ 38.9333dp
+ 39.4667dp
+ 40.0000dp
+ 40.5333dp
+ 41.0667dp
+ 41.6000dp
+ 42.1333dp
+ 42.6667dp
+ 43.2000dp
+ 43.7333dp
+ 44.2667dp
+ 44.8000dp
+ 45.3333dp
+ 45.8667dp
+ 46.4000dp
+ 46.9333dp
+ 47.4667dp
+ 48.0000dp
+ 48.5333dp
+ 49.0667dp
+ 49.6000dp
+ 50.1333dp
+ 50.6667dp
+ 51.2000dp
+ 51.7333dp
+ 52.2667dp
+ 52.8000dp
+ 53.3333dp
+ 53.8667dp
+ 54.4000dp
+ 54.9333dp
+ 55.4667dp
+ 56.0000dp
+ 56.5333dp
+ 57.0667dp
+ 57.6000dp
+ 58.1333dp
+ 58.6667dp
+ 59.2000dp
+ 59.7333dp
+ 60.2667dp
+ 60.8000dp
+ 61.3333dp
+ 61.8667dp
+ 62.4000dp
+ 62.9333dp
+ 63.4667dp
+ 64.0000dp
+ 64.5333dp
+ 65.0667dp
+ 65.6000dp
+ 66.1333dp
+ 66.6667dp
+ 67.2000dp
+ 67.7333dp
+ 68.2667dp
+ 68.8000dp
+ 69.3333dp
+ 69.8667dp
+ 70.4000dp
+ 70.9333dp
+ 71.4667dp
+ 72.0000dp
+ 72.5333dp
+ 73.0667dp
+ 73.6000dp
+ 74.1333dp
+ 74.6667dp
+ 75.2000dp
+ 75.7333dp
+ 76.2667dp
+ 76.8000dp
+ 77.3333dp
+ 77.8667dp
+ 78.4000dp
+ 78.9333dp
+ 79.4667dp
+ 80.0000dp
+ 80.5333dp
+ 81.0667dp
+ 81.6000dp
+ 82.1333dp
+ 82.6667dp
+ 83.2000dp
+ 83.7333dp
+ 84.2667dp
+ 84.8000dp
+ 85.3333dp
+ 85.8667dp
+ 86.4000dp
+ 86.9333dp
+ 87.4667dp
+ 88.0000dp
+ 88.5333dp
+ 89.0667dp
+ 89.6000dp
+ 90.1333dp
+ 90.6667dp
+ 91.2000dp
+ 91.7333dp
+ 92.2667dp
+ 92.8000dp
+ 93.3333dp
+ 93.8667dp
+ 94.4000dp
+ 94.9333dp
+ 95.4667dp
+ 96.0000dp
+ 96.5333dp
+ 97.0667dp
+ 97.6000dp
+ 98.1333dp
+ 98.6667dp
+ 99.2000dp
+ 99.7333dp
+ 100.2667dp
+ 100.8000dp
+ 101.3333dp
+ 101.8667dp
+ 102.4000dp
+ 102.9333dp
+ 103.4667dp
+ 104.0000dp
+ 104.5333dp
+ 105.0667dp
+ 105.6000dp
+ 106.1333dp
+ 106.6667dp
+ 107.2000dp
+ 107.7333dp
+ 108.2667dp
+ 108.8000dp
+ 109.3333dp
+ 109.8667dp
+ 110.4000dp
+ 110.9333dp
+ 111.4667dp
+ 112.0000dp
+ 112.5333dp
+ 113.0667dp
+ 113.6000dp
+ 114.1333dp
+ 114.6667dp
+ 115.2000dp
+ 115.7333dp
+ 116.2667dp
+ 116.8000dp
+ 117.3333dp
+ 117.8667dp
+ 118.4000dp
+ 118.9333dp
+ 119.4667dp
+ 120.0000dp
+ 120.5333dp
+ 121.0667dp
+ 121.6000dp
+ 122.1333dp
+ 122.6667dp
+ 123.2000dp
+ 123.7333dp
+ 124.2667dp
+ 124.8000dp
+ 125.3333dp
+ 125.8667dp
+ 126.4000dp
+ 126.9333dp
+ 127.4667dp
+ 128.0000dp
+ 128.5333dp
+ 129.0667dp
+ 129.6000dp
+ 130.1333dp
+ 130.6667dp
+ 131.2000dp
+ 131.7333dp
+ 132.2667dp
+ 132.8000dp
+ 133.3333dp
+ 133.8667dp
+ 134.4000dp
+ 134.9333dp
+ 135.4667dp
+ 136.0000dp
+ 136.5333dp
+ 137.0667dp
+ 137.6000dp
+ 138.1333dp
+ 138.6667dp
+ 139.2000dp
+ 139.7333dp
+ 140.2667dp
+ 140.8000dp
+ 141.3333dp
+ 141.8667dp
+ 142.4000dp
+ 142.9333dp
+ 143.4667dp
+ 144.0000dp
+ 144.5333dp
+ 145.0667dp
+ 145.6000dp
+ 146.1333dp
+ 146.6667dp
+ 147.2000dp
+ 147.7333dp
+ 148.2667dp
+ 148.8000dp
+ 149.3333dp
+ 149.8667dp
+ 150.4000dp
+ 150.9333dp
+ 151.4667dp
+ 152.0000dp
+ 152.5333dp
+ 153.0667dp
+ 153.6000dp
+ 154.1333dp
+ 154.6667dp
+ 155.2000dp
+ 155.7333dp
+ 156.2667dp
+ 156.8000dp
+ 157.3333dp
+ 157.8667dp
+ 158.4000dp
+ 158.9333dp
+ 159.4667dp
+ 160.0000dp
+ 160.5333dp
+ 161.0667dp
+ 161.6000dp
+ 162.1333dp
+ 162.6667dp
+ 163.2000dp
+ 163.7333dp
+ 164.2667dp
+ 164.8000dp
+ 165.3333dp
+ 165.8667dp
+ 166.4000dp
+ 166.9333dp
+ 167.4667dp
+ 168.0000dp
+ 168.5333dp
+ 169.0667dp
+ 169.6000dp
+ 170.1333dp
+ 170.6667dp
+ 171.2000dp
+ 171.7333dp
+ 172.2667dp
+ 172.8000dp
+ 173.3333dp
+ 173.8667dp
+ 174.4000dp
+ 174.9333dp
+ 175.4667dp
+ 176.0000dp
+ 176.5333dp
+ 177.0667dp
+ 177.6000dp
+ 178.1333dp
+ 178.6667dp
+ 179.2000dp
+ 179.7333dp
+ 180.2667dp
+ 180.8000dp
+ 181.3333dp
+ 181.8667dp
+ 182.4000dp
+ 182.9333dp
+ 183.4667dp
+ 184.0000dp
+ 184.5333dp
+ 185.0667dp
+ 185.6000dp
+ 186.1333dp
+ 186.6667dp
+ 187.2000dp
+ 187.7333dp
+ 188.2667dp
+ 188.8000dp
+ 189.3333dp
+ 189.8667dp
+ 190.4000dp
+ 190.9333dp
+ 191.4667dp
+ 192.0000dp
+ 192.5333dp
+ 193.0667dp
+ 193.6000dp
+ 194.1333dp
+ 194.6667dp
+ 195.2000dp
+ 195.7333dp
+ 196.2667dp
+ 196.8000dp
+ 197.3333dp
+ 197.8667dp
+ 198.4000dp
+ 198.9333dp
+ 199.4667dp
+ 200.0000dp
+ 200.5333dp
+ 201.0667dp
+ 201.6000dp
+ 202.1333dp
+ 202.6667dp
+ 203.2000dp
+ 203.7333dp
+ 204.2667dp
+ 204.8000dp
+ 205.3333dp
+ 205.8667dp
+ 206.4000dp
+ 206.9333dp
+ 207.4667dp
+ 208.0000dp
+ 208.5333dp
+ 209.0667dp
+ 209.6000dp
+ 210.1333dp
+ 210.6667dp
+ 211.2000dp
+ 211.7333dp
+ 212.2667dp
+ 212.8000dp
+ 213.3333dp
+ 213.8667dp
+ 214.4000dp
+ 214.9333dp
+ 215.4667dp
+ 216.0000dp
+ 216.5333dp
+ 217.0667dp
+ 217.6000dp
+ 218.1333dp
+ 218.6667dp
+ 219.2000dp
+ 219.7333dp
+ 220.2667dp
+ 220.8000dp
+ 221.3333dp
+ 221.8667dp
+ 222.4000dp
+ 222.9333dp
+ 223.4667dp
+ 224.0000dp
+ 224.5333dp
+ 225.0667dp
+ 225.6000dp
+ 226.1333dp
+ 226.6667dp
+ 227.2000dp
+ 227.7333dp
+ 228.2667dp
+ 228.8000dp
+ 229.3333dp
+ 229.8667dp
+ 230.4000dp
+ 230.9333dp
+ 231.4667dp
+ 232.0000dp
+ 232.5333dp
+ 233.0667dp
+ 233.6000dp
+ 234.1333dp
+ 234.6667dp
+ 235.2000dp
+ 235.7333dp
+ 236.2667dp
+ 236.8000dp
+ 237.3333dp
+ 237.8667dp
+ 238.4000dp
+ 238.9333dp
+ 239.4667dp
+ 240.0000dp
+ 240.5333dp
+ 241.0667dp
+ 241.6000dp
+ 242.1333dp
+ 242.6667dp
+ 243.2000dp
+ 243.7333dp
+ 244.2667dp
+ 244.8000dp
+ 245.3333dp
+ 245.8667dp
+ 246.4000dp
+ 246.9333dp
+ 247.4667dp
+ 248.0000dp
+ 248.5333dp
+ 249.0667dp
+ 249.6000dp
+ 250.1333dp
+ 250.6667dp
+ 251.2000dp
+ 251.7333dp
+ 252.2667dp
+ 252.8000dp
+ 253.3333dp
+ 253.8667dp
+ 254.4000dp
+ 254.9333dp
+ 255.4667dp
+ 256.0000dp
+ 256.5333dp
+ 257.0667dp
+ 257.6000dp
+ 258.1333dp
+ 258.6667dp
+ 259.2000dp
+ 259.7333dp
+ 260.2667dp
+ 260.8000dp
+ 261.3333dp
+ 261.8667dp
+ 262.4000dp
+ 262.9333dp
+ 263.4667dp
+ 264.0000dp
+ 264.5333dp
+ 265.0667dp
+ 265.6000dp
+ 266.1333dp
+ 266.6667dp
+ 267.2000dp
+ 267.7333dp
+ 268.2667dp
+ 268.8000dp
+ 269.3333dp
+ 269.8667dp
+ 270.4000dp
+ 270.9333dp
+ 271.4667dp
+ 272.0000dp
+ 272.5333dp
+ 273.0667dp
+ 273.6000dp
+ 274.1333dp
+ 274.6667dp
+ 275.2000dp
+ 275.7333dp
+ 276.2667dp
+ 276.8000dp
+ 277.3333dp
+ 277.8667dp
+ 278.4000dp
+ 278.9333dp
+ 279.4667dp
+ 280.0000dp
+ 280.5333dp
+ 281.0667dp
+ 281.6000dp
+ 282.1333dp
+ 282.6667dp
+ 283.2000dp
+ 283.7333dp
+ 284.2667dp
+ 284.8000dp
+ 285.3333dp
+ 285.8667dp
+ 286.4000dp
+ 286.9333dp
+ 287.4667dp
+ 288.0000dp
+ 288.5333dp
+ 289.0667dp
+ 289.6000dp
+ 290.1333dp
+ 290.6667dp
+ 291.2000dp
+ 291.7333dp
+ 292.2667dp
+ 292.8000dp
+ 293.3333dp
+ 293.8667dp
+ 294.4000dp
+ 294.9333dp
+ 295.4667dp
+ 296.0000dp
+ 296.5333dp
+ 297.0667dp
+ 297.6000dp
+ 298.1333dp
+ 298.6667dp
+ 299.2000dp
+ 299.7333dp
+ 300.2667dp
+ 300.8000dp
+ 301.3333dp
+ 301.8667dp
+ 302.4000dp
+ 302.9333dp
+ 303.4667dp
+ 304.0000dp
+ 304.5333dp
+ 305.0667dp
+ 305.6000dp
+ 306.1333dp
+ 306.6667dp
+ 307.2000dp
+ 307.7333dp
+ 308.2667dp
+ 308.8000dp
+ 309.3333dp
+ 309.8667dp
+ 310.4000dp
+ 310.9333dp
+ 311.4667dp
+ 312.0000dp
+ 312.5333dp
+ 313.0667dp
+ 313.6000dp
+ 314.1333dp
+ 314.6667dp
+ 315.2000dp
+ 315.7333dp
+ 316.2667dp
+ 316.8000dp
+ 317.3333dp
+ 317.8667dp
+ 318.4000dp
+ 318.9333dp
+ 319.4667dp
+ 320.0000dp
+ 320.5333dp
+ 321.0667dp
+ 321.6000dp
+ 322.1333dp
+ 322.6667dp
+ 323.2000dp
+ 323.7333dp
+ 324.2667dp
+ 324.8000dp
+ 325.3333dp
+ 325.8667dp
+ 326.4000dp
+ 326.9333dp
+ 327.4667dp
+ 328.0000dp
+ 328.5333dp
+ 329.0667dp
+ 329.6000dp
+ 330.1333dp
+ 330.6667dp
+ 331.2000dp
+ 331.7333dp
+ 332.2667dp
+ 332.8000dp
+ 333.3333dp
+ 333.8667dp
+ 334.4000dp
+ 334.9333dp
+ 335.4667dp
+ 336.0000dp
+ 336.5333dp
+ 337.0667dp
+ 337.6000dp
+ 338.1333dp
+ 338.6667dp
+ 339.2000dp
+ 339.7333dp
+ 340.2667dp
+ 340.8000dp
+ 341.3333dp
+ 341.8667dp
+ 342.4000dp
+ 342.9333dp
+ 343.4667dp
+ 344.0000dp
+ 344.5333dp
+ 345.0667dp
+ 345.6000dp
+ 346.1333dp
+ 346.6667dp
+ 347.2000dp
+ 347.7333dp
+ 348.2667dp
+ 348.8000dp
+ 349.3333dp
+ 349.8667dp
+ 350.4000dp
+ 350.9333dp
+ 351.4667dp
+ 352.0000dp
+ 352.5333dp
+ 353.0667dp
+ 353.6000dp
+ 354.1333dp
+ 354.6667dp
+ 355.2000dp
+ 355.7333dp
+ 356.2667dp
+ 356.8000dp
+ 357.3333dp
+ 357.8667dp
+ 358.4000dp
+ 358.9333dp
+ 359.4667dp
+ 360.0000dp
+ 360.5333dp
+ 361.0667dp
+ 361.6000dp
+ 362.1333dp
+ 362.6667dp
+ 363.2000dp
+ 363.7333dp
+ 364.2667dp
+ 364.8000dp
+ 365.3333dp
+ 365.8667dp
+ 366.4000dp
+ 366.9333dp
+ 367.4667dp
+ 368.0000dp
+ 368.5333dp
+ 369.0667dp
+ 369.6000dp
+ 370.1333dp
+ 370.6667dp
+ 371.2000dp
+ 371.7333dp
+ 372.2667dp
+ 372.8000dp
+ 373.3333dp
+ 373.8667dp
+ 374.4000dp
+ 374.9333dp
+ 375.4667dp
+ 376.0000dp
+ 376.5333dp
+ 377.0667dp
+ 377.6000dp
+ 378.1333dp
+ 378.6667dp
+ 379.2000dp
+ 379.7333dp
+ 380.2667dp
+ 380.8000dp
+ 381.3333dp
+ 381.8667dp
+ 382.4000dp
+ 382.9333dp
+ 383.4667dp
+ 384.0000dp
+ 1.0667sp
+ 2.1333sp
+ 3.2000sp
+ 4.2667sp
+ 5.3333sp
+ 6.4000sp
+ 7.4667sp
+ 8.5333sp
+ 9.6000sp
+ 10.6667sp
+ 11.7333sp
+ 12.8000sp
+ 13.8667sp
+ 14.9333sp
+ 16.0000sp
+ 17.0667sp
+ 18.1333sp
+ 19.2000sp
+ 20.2667sp
+ 21.3333sp
+ 22.4000sp
+ 23.4667sp
+ 24.5333sp
+ 25.6000sp
+ 26.6667sp
+ 27.7333sp
+ 28.8000sp
+ 29.8667sp
+ 30.9333sp
+ 32.0000sp
+ 33.0667sp
+ 34.1333sp
+ 35.2000sp
+ 36.2667sp
+ 37.3333sp
+ 38.4000sp
+ 39.4667sp
+ 40.5333sp
+ 41.6000sp
+ 42.6667sp
+
diff --git a/BaseAndroidKt/src/main/res/values-sw392dp/dimens.xml b/BaseAndroidKt/src/main/res/values-sw392dp/dimens.xml
new file mode 100644
index 0000000..f8fa18e
--- /dev/null
+++ b/BaseAndroidKt/src/main/res/values-sw392dp/dimens.xml
@@ -0,0 +1,764 @@
+
+
+ 392.0000dp
+ 0.5444dp
+ 1.0889dp
+ 1.6333dp
+ 2.1778dp
+ 2.7222dp
+ 3.2667dp
+ 3.8111dp
+ 4.3556dp
+ 4.9000dp
+ 5.4444dp
+ 5.9889dp
+ 6.5333dp
+ 7.0778dp
+ 7.6222dp
+ 8.1667dp
+ 8.7111dp
+ 9.2556dp
+ 9.8000dp
+ 10.3444dp
+ 10.8889dp
+ 11.4333dp
+ 11.9778dp
+ 12.5222dp
+ 13.0667dp
+ 13.6111dp
+ 14.1556dp
+ 14.7000dp
+ 15.2444dp
+ 15.7889dp
+ 16.3333dp
+ 16.8778dp
+ 17.4222dp
+ 17.9667dp
+ 18.5111dp
+ 19.0556dp
+ 19.6000dp
+ 20.1444dp
+ 20.6889dp
+ 21.2333dp
+ 21.7778dp
+ 22.3222dp
+ 22.8667dp
+ 23.4111dp
+ 23.9556dp
+ 24.5000dp
+ 25.0444dp
+ 25.5889dp
+ 26.1333dp
+ 26.6778dp
+ 27.2222dp
+ 27.7667dp
+ 28.3111dp
+ 28.8556dp
+ 29.4000dp
+ 29.9444dp
+ 30.4889dp
+ 31.0333dp
+ 31.5778dp
+ 32.1222dp
+ 32.6667dp
+ 33.2111dp
+ 33.7556dp
+ 34.3000dp
+ 34.8444dp
+ 35.3889dp
+ 35.9333dp
+ 36.4778dp
+ 37.0222dp
+ 37.5667dp
+ 38.1111dp
+ 38.6556dp
+ 39.2000dp
+ 39.7444dp
+ 40.2889dp
+ 40.8333dp
+ 41.3778dp
+ 41.9222dp
+ 42.4667dp
+ 43.0111dp
+ 43.5556dp
+ 44.1000dp
+ 44.6444dp
+ 45.1889dp
+ 45.7333dp
+ 46.2778dp
+ 46.8222dp
+ 47.3667dp
+ 47.9111dp
+ 48.4556dp
+ 49.0000dp
+ 49.5444dp
+ 50.0889dp
+ 50.6333dp
+ 51.1778dp
+ 51.7222dp
+ 52.2667dp
+ 52.8111dp
+ 53.3556dp
+ 53.9000dp
+ 54.4444dp
+ 54.9889dp
+ 55.5333dp
+ 56.0778dp
+ 56.6222dp
+ 57.1667dp
+ 57.7111dp
+ 58.2556dp
+ 58.8000dp
+ 59.3444dp
+ 59.8889dp
+ 60.4333dp
+ 60.9778dp
+ 61.5222dp
+ 62.0667dp
+ 62.6111dp
+ 63.1556dp
+ 63.7000dp
+ 64.2444dp
+ 64.7889dp
+ 65.3333dp
+ 65.8778dp
+ 66.4222dp
+ 66.9667dp
+ 67.5111dp
+ 68.0556dp
+ 68.6000dp
+ 69.1444dp
+ 69.6889dp
+ 70.2333dp
+ 70.7778dp
+ 71.3222dp
+ 71.8667dp
+ 72.4111dp
+ 72.9556dp
+ 73.5000dp
+ 74.0444dp
+ 74.5889dp
+ 75.1333dp
+ 75.6778dp
+ 76.2222dp
+ 76.7667dp
+ 77.3111dp
+ 77.8556dp
+ 78.4000dp
+ 78.9444dp
+ 79.4889dp
+ 80.0333dp
+ 80.5778dp
+ 81.1222dp
+ 81.6667dp
+ 82.2111dp
+ 82.7556dp
+ 83.3000dp
+ 83.8444dp
+ 84.3889dp
+ 84.9333dp
+ 85.4778dp
+ 86.0222dp
+ 86.5667dp
+ 87.1111dp
+ 87.6556dp
+ 88.2000dp
+ 88.7444dp
+ 89.2889dp
+ 89.8333dp
+ 90.3778dp
+ 90.9222dp
+ 91.4667dp
+ 92.0111dp
+ 92.5556dp
+ 93.1000dp
+ 93.6444dp
+ 94.1889dp
+ 94.7333dp
+ 95.2778dp
+ 95.8222dp
+ 96.3667dp
+ 96.9111dp
+ 97.4556dp
+ 98.0000dp
+ 98.5444dp
+ 99.0889dp
+ 99.6333dp
+ 100.1778dp
+ 100.7222dp
+ 101.2667dp
+ 101.8111dp
+ 102.3556dp
+ 102.9000dp
+ 103.4444dp
+ 103.9889dp
+ 104.5333dp
+ 105.0778dp
+ 105.6222dp
+ 106.1667dp
+ 106.7111dp
+ 107.2556dp
+ 107.8000dp
+ 108.3444dp
+ 108.8889dp
+ 109.4333dp
+ 109.9778dp
+ 110.5222dp
+ 111.0667dp
+ 111.6111dp
+ 112.1556dp
+ 112.7000dp
+ 113.2444dp
+ 113.7889dp
+ 114.3333dp
+ 114.8778dp
+ 115.4222dp
+ 115.9667dp
+ 116.5111dp
+ 117.0556dp
+ 117.6000dp
+ 118.1444dp
+ 118.6889dp
+ 119.2333dp
+ 119.7778dp
+ 120.3222dp
+ 120.8667dp
+ 121.4111dp
+ 121.9556dp
+ 122.5000dp
+ 123.0444dp
+ 123.5889dp
+ 124.1333dp
+ 124.6778dp
+ 125.2222dp
+ 125.7667dp
+ 126.3111dp
+ 126.8556dp
+ 127.4000dp
+ 127.9444dp
+ 128.4889dp
+ 129.0333dp
+ 129.5778dp
+ 130.1222dp
+ 130.6667dp
+ 131.2111dp
+ 131.7556dp
+ 132.3000dp
+ 132.8444dp
+ 133.3889dp
+ 133.9333dp
+ 134.4778dp
+ 135.0222dp
+ 135.5667dp
+ 136.1111dp
+ 136.6556dp
+ 137.2000dp
+ 137.7444dp
+ 138.2889dp
+ 138.8333dp
+ 139.3778dp
+ 139.9222dp
+ 140.4667dp
+ 141.0111dp
+ 141.5556dp
+ 142.1000dp
+ 142.6444dp
+ 143.1889dp
+ 143.7333dp
+ 144.2778dp
+ 144.8222dp
+ 145.3667dp
+ 145.9111dp
+ 146.4556dp
+ 147.0000dp
+ 147.5444dp
+ 148.0889dp
+ 148.6333dp
+ 149.1778dp
+ 149.7222dp
+ 150.2667dp
+ 150.8111dp
+ 151.3556dp
+ 151.9000dp
+ 152.4444dp
+ 152.9889dp
+ 153.5333dp
+ 154.0778dp
+ 154.6222dp
+ 155.1667dp
+ 155.7111dp
+ 156.2556dp
+ 156.8000dp
+ 157.3444dp
+ 157.8889dp
+ 158.4333dp
+ 158.9778dp
+ 159.5222dp
+ 160.0667dp
+ 160.6111dp
+ 161.1556dp
+ 161.7000dp
+ 162.2444dp
+ 162.7889dp
+ 163.3333dp
+ 163.8778dp
+ 164.4222dp
+ 164.9667dp
+ 165.5111dp
+ 166.0556dp
+ 166.6000dp
+ 167.1444dp
+ 167.6889dp
+ 168.2333dp
+ 168.7778dp
+ 169.3222dp
+ 169.8667dp
+ 170.4111dp
+ 170.9556dp
+ 171.5000dp
+ 172.0444dp
+ 172.5889dp
+ 173.1333dp
+ 173.6778dp
+ 174.2222dp
+ 174.7667dp
+ 175.3111dp
+ 175.8556dp
+ 176.4000dp
+ 176.9444dp
+ 177.4889dp
+ 178.0333dp
+ 178.5778dp
+ 179.1222dp
+ 179.6667dp
+ 180.2111dp
+ 180.7556dp
+ 181.3000dp
+ 181.8444dp
+ 182.3889dp
+ 182.9333dp
+ 183.4778dp
+ 184.0222dp
+ 184.5667dp
+ 185.1111dp
+ 185.6556dp
+ 186.2000dp
+ 186.7444dp
+ 187.2889dp
+ 187.8333dp
+ 188.3778dp
+ 188.9222dp
+ 189.4667dp
+ 190.0111dp
+ 190.5556dp
+ 191.1000dp
+ 191.6444dp
+ 192.1889dp
+ 192.7333dp
+ 193.2778dp
+ 193.8222dp
+ 194.3667dp
+ 194.9111dp
+ 195.4556dp
+ 196.0000dp
+ 196.5444dp
+ 197.0889dp
+ 197.6333dp
+ 198.1778dp
+ 198.7222dp
+ 199.2667dp
+ 199.8111dp
+ 200.3556dp
+ 200.9000dp
+ 201.4444dp
+ 201.9889dp
+ 202.5333dp
+ 203.0778dp
+ 203.6222dp
+ 204.1667dp
+ 204.7111dp
+ 205.2556dp
+ 205.8000dp
+ 206.3444dp
+ 206.8889dp
+ 207.4333dp
+ 207.9778dp
+ 208.5222dp
+ 209.0667dp
+ 209.6111dp
+ 210.1556dp
+ 210.7000dp
+ 211.2444dp
+ 211.7889dp
+ 212.3333dp
+ 212.8778dp
+ 213.4222dp
+ 213.9667dp
+ 214.5111dp
+ 215.0556dp
+ 215.6000dp
+ 216.1444dp
+ 216.6889dp
+ 217.2333dp
+ 217.7778dp
+ 218.3222dp
+ 218.8667dp
+ 219.4111dp
+ 219.9556dp
+ 220.5000dp
+ 221.0444dp
+ 221.5889dp
+ 222.1333dp
+ 222.6778dp
+ 223.2222dp
+ 223.7667dp
+ 224.3111dp
+ 224.8556dp
+ 225.4000dp
+ 225.9444dp
+ 226.4889dp
+ 227.0333dp
+ 227.5778dp
+ 228.1222dp
+ 228.6667dp
+ 229.2111dp
+ 229.7556dp
+ 230.3000dp
+ 230.8444dp
+ 231.3889dp
+ 231.9333dp
+ 232.4778dp
+ 233.0222dp
+ 233.5667dp
+ 234.1111dp
+ 234.6556dp
+ 235.2000dp
+ 235.7444dp
+ 236.2889dp
+ 236.8333dp
+ 237.3778dp
+ 237.9222dp
+ 238.4667dp
+ 239.0111dp
+ 239.5556dp
+ 240.1000dp
+ 240.6444dp
+ 241.1889dp
+ 241.7333dp
+ 242.2778dp
+ 242.8222dp
+ 243.3667dp
+ 243.9111dp
+ 244.4556dp
+ 245.0000dp
+ 245.5444dp
+ 246.0889dp
+ 246.6333dp
+ 247.1778dp
+ 247.7222dp
+ 248.2667dp
+ 248.8111dp
+ 249.3556dp
+ 249.9000dp
+ 250.4444dp
+ 250.9889dp
+ 251.5333dp
+ 252.0778dp
+ 252.6222dp
+ 253.1667dp
+ 253.7111dp
+ 254.2556dp
+ 254.8000dp
+ 255.3444dp
+ 255.8889dp
+ 256.4333dp
+ 256.9778dp
+ 257.5222dp
+ 258.0667dp
+ 258.6111dp
+ 259.1556dp
+ 259.7000dp
+ 260.2444dp
+ 260.7889dp
+ 261.3333dp
+ 261.8778dp
+ 262.4222dp
+ 262.9667dp
+ 263.5111dp
+ 264.0556dp
+ 264.6000dp
+ 265.1444dp
+ 265.6889dp
+ 266.2333dp
+ 266.7778dp
+ 267.3222dp
+ 267.8667dp
+ 268.4111dp
+ 268.9556dp
+ 269.5000dp
+ 270.0444dp
+ 270.5889dp
+ 271.1333dp
+ 271.6778dp
+ 272.2222dp
+ 272.7667dp
+ 273.3111dp
+ 273.8556dp
+ 274.4000dp
+ 274.9444dp
+ 275.4889dp
+ 276.0333dp
+ 276.5778dp
+ 277.1222dp
+ 277.6667dp
+ 278.2111dp
+ 278.7556dp
+ 279.3000dp
+ 279.8444dp
+ 280.3889dp
+ 280.9333dp
+ 281.4778dp
+ 282.0222dp
+ 282.5667dp
+ 283.1111dp
+ 283.6556dp
+ 284.2000dp
+ 284.7444dp
+ 285.2889dp
+ 285.8333dp
+ 286.3778dp
+ 286.9222dp
+ 287.4667dp
+ 288.0111dp
+ 288.5556dp
+ 289.1000dp
+ 289.6444dp
+ 290.1889dp
+ 290.7333dp
+ 291.2778dp
+ 291.8222dp
+ 292.3667dp
+ 292.9111dp
+ 293.4556dp
+ 294.0000dp
+ 294.5444dp
+ 295.0889dp
+ 295.6333dp
+ 296.1778dp
+ 296.7222dp
+ 297.2667dp
+ 297.8111dp
+ 298.3556dp
+ 298.9000dp
+ 299.4444dp
+ 299.9889dp
+ 300.5333dp
+ 301.0778dp
+ 301.6222dp
+ 302.1667dp
+ 302.7111dp
+ 303.2556dp
+ 303.8000dp
+ 304.3444dp
+ 304.8889dp
+ 305.4333dp
+ 305.9778dp
+ 306.5222dp
+ 307.0667dp
+ 307.6111dp
+ 308.1556dp
+ 308.7000dp
+ 309.2444dp
+ 309.7889dp
+ 310.3333dp
+ 310.8778dp
+ 311.4222dp
+ 311.9667dp
+ 312.5111dp
+ 313.0556dp
+ 313.6000dp
+ 314.1444dp
+ 314.6889dp
+ 315.2333dp
+ 315.7778dp
+ 316.3222dp
+ 316.8667dp
+ 317.4111dp
+ 317.9556dp
+ 318.5000dp
+ 319.0444dp
+ 319.5889dp
+ 320.1333dp
+ 320.6778dp
+ 321.2222dp
+ 321.7667dp
+ 322.3111dp
+ 322.8556dp
+ 323.4000dp
+ 323.9444dp
+ 324.4889dp
+ 325.0333dp
+ 325.5778dp
+ 326.1222dp
+ 326.6667dp
+ 327.2111dp
+ 327.7556dp
+ 328.3000dp
+ 328.8444dp
+ 329.3889dp
+ 329.9333dp
+ 330.4778dp
+ 331.0222dp
+ 331.5667dp
+ 332.1111dp
+ 332.6556dp
+ 333.2000dp
+ 333.7444dp
+ 334.2889dp
+ 334.8333dp
+ 335.3778dp
+ 335.9222dp
+ 336.4667dp
+ 337.0111dp
+ 337.5556dp
+ 338.1000dp
+ 338.6444dp
+ 339.1889dp
+ 339.7333dp
+ 340.2778dp
+ 340.8222dp
+ 341.3667dp
+ 341.9111dp
+ 342.4556dp
+ 343.0000dp
+ 343.5444dp
+ 344.0889dp
+ 344.6333dp
+ 345.1778dp
+ 345.7222dp
+ 346.2667dp
+ 346.8111dp
+ 347.3556dp
+ 347.9000dp
+ 348.4444dp
+ 348.9889dp
+ 349.5333dp
+ 350.0778dp
+ 350.6222dp
+ 351.1667dp
+ 351.7111dp
+ 352.2556dp
+ 352.8000dp
+ 353.3444dp
+ 353.8889dp
+ 354.4333dp
+ 354.9778dp
+ 355.5222dp
+ 356.0667dp
+ 356.6111dp
+ 357.1556dp
+ 357.7000dp
+ 358.2444dp
+ 358.7889dp
+ 359.3333dp
+ 359.8778dp
+ 360.4222dp
+ 360.9667dp
+ 361.5111dp
+ 362.0556dp
+ 362.6000dp
+ 363.1444dp
+ 363.6889dp
+ 364.2333dp
+ 364.7778dp
+ 365.3222dp
+ 365.8667dp
+ 366.4111dp
+ 366.9556dp
+ 367.5000dp
+ 368.0444dp
+ 368.5889dp
+ 369.1333dp
+ 369.6778dp
+ 370.2222dp
+ 370.7667dp
+ 371.3111dp
+ 371.8556dp
+ 372.4000dp
+ 372.9444dp
+ 373.4889dp
+ 374.0333dp
+ 374.5778dp
+ 375.1222dp
+ 375.6667dp
+ 376.2111dp
+ 376.7556dp
+ 377.3000dp
+ 377.8444dp
+ 378.3889dp
+ 378.9333dp
+ 379.4778dp
+ 380.0222dp
+ 380.5667dp
+ 381.1111dp
+ 381.6556dp
+ 382.2000dp
+ 382.7444dp
+ 383.2889dp
+ 383.8333dp
+ 384.3778dp
+ 384.9222dp
+ 385.4667dp
+ 386.0111dp
+ 386.5556dp
+ 387.1000dp
+ 387.6444dp
+ 388.1889dp
+ 388.7333dp
+ 389.2778dp
+ 389.8222dp
+ 390.3667dp
+ 390.9111dp
+ 391.4556dp
+ 392.0000dp
+ 1.0889sp
+ 2.1778sp
+ 3.2667sp
+ 4.3556sp
+ 5.4444sp
+ 6.5333sp
+ 7.6222sp
+ 8.7111sp
+ 9.8000sp
+ 10.8889sp
+ 11.9778sp
+ 13.0667sp
+ 14.1556sp
+ 15.2444sp
+ 16.3333sp
+ 17.4222sp
+ 18.5111sp
+ 19.6000sp
+ 20.6889sp
+ 21.7778sp
+ 22.8667sp
+ 23.9556sp
+ 25.0444sp
+ 26.1333sp
+ 27.2222sp
+ 28.3111sp
+ 29.4000sp
+ 30.4889sp
+ 31.5778sp
+ 32.6667sp
+ 33.7556sp
+ 34.8444sp
+ 35.9333sp
+ 37.0222sp
+ 38.1111sp
+ 39.2000sp
+ 40.2889sp
+ 41.3778sp
+ 42.4667sp
+ 43.5556sp
+
diff --git a/BaseAndroidKt/src/main/res/values-sw400dp/dimens.xml b/BaseAndroidKt/src/main/res/values-sw400dp/dimens.xml
new file mode 100644
index 0000000..249f751
--- /dev/null
+++ b/BaseAndroidKt/src/main/res/values-sw400dp/dimens.xml
@@ -0,0 +1,764 @@
+
+
+ 400.0000dp
+ 0.5556dp
+ 1.1111dp
+ 1.6667dp
+ 2.2222dp
+ 2.7778dp
+ 3.3333dp
+ 3.8889dp
+ 4.4444dp
+ 5.0000dp
+ 5.5556dp
+ 6.1111dp
+ 6.6667dp
+ 7.2222dp
+ 7.7778dp
+ 8.3333dp
+ 8.8889dp
+ 9.4444dp
+ 10.0000dp
+ 10.5556dp
+ 11.1111dp
+ 11.6667dp
+ 12.2222dp
+ 12.7778dp
+ 13.3333dp
+ 13.8889dp
+ 14.4444dp
+ 15.0000dp
+ 15.5556dp
+ 16.1111dp
+ 16.6667dp
+ 17.2222dp
+ 17.7778dp
+ 18.3333dp
+ 18.8889dp
+ 19.4444dp
+ 20.0000dp
+ 20.5556dp
+ 21.1111dp
+ 21.6667dp
+ 22.2222dp
+ 22.7778dp
+ 23.3333dp
+ 23.8889dp
+ 24.4444dp
+ 25.0000dp
+ 25.5556dp
+ 26.1111dp
+ 26.6667dp
+ 27.2222dp
+ 27.7778dp
+ 28.3333dp
+ 28.8889dp
+ 29.4444dp
+ 30.0000dp
+ 30.5556dp
+ 31.1111dp
+ 31.6667dp
+ 32.2222dp
+ 32.7778dp
+ 33.3333dp
+ 33.8889dp
+ 34.4444dp
+ 35.0000dp
+ 35.5556dp
+ 36.1111dp
+ 36.6667dp
+ 37.2222dp
+ 37.7778dp
+ 38.3333dp
+ 38.8889dp
+ 39.4444dp
+ 40.0000dp
+ 40.5556dp
+ 41.1111dp
+ 41.6667dp
+ 42.2222dp
+ 42.7778dp
+ 43.3333dp
+ 43.8889dp
+ 44.4444dp
+ 45.0000dp
+ 45.5556dp
+ 46.1111dp
+ 46.6667dp
+ 47.2222dp
+ 47.7778dp
+ 48.3333dp
+ 48.8889dp
+ 49.4444dp
+ 50.0000dp
+ 50.5556dp
+ 51.1111dp
+ 51.6667dp
+ 52.2222dp
+ 52.7778dp
+ 53.3333dp
+ 53.8889dp
+ 54.4444dp
+ 55.0000dp
+ 55.5556dp
+ 56.1111dp
+ 56.6667dp
+ 57.2222dp
+ 57.7778dp
+ 58.3333dp
+ 58.8889dp
+ 59.4444dp
+ 60.0000dp
+ 60.5556dp
+ 61.1111dp
+ 61.6667dp
+ 62.2222dp
+ 62.7778dp
+ 63.3333dp
+ 63.8889dp
+ 64.4444dp
+ 65.0000dp
+ 65.5556dp
+ 66.1111dp
+ 66.6667dp
+ 67.2222dp
+ 67.7778dp
+ 68.3333dp
+ 68.8889dp
+ 69.4444dp
+ 70.0000dp
+ 70.5556dp
+ 71.1111dp
+ 71.6667dp
+ 72.2222dp
+ 72.7778dp
+ 73.3333dp
+ 73.8889dp
+ 74.4444dp
+ 75.0000dp
+ 75.5556dp
+ 76.1111dp
+ 76.6667dp
+ 77.2222dp
+ 77.7778dp
+ 78.3333dp
+ 78.8889dp
+ 79.4444dp
+ 80.0000dp
+ 80.5556dp
+ 81.1111dp
+ 81.6667dp
+ 82.2222dp
+ 82.7778dp
+ 83.3333dp
+ 83.8889dp
+ 84.4444dp
+ 85.0000dp
+ 85.5556dp
+ 86.1111dp
+ 86.6667dp
+ 87.2222dp
+ 87.7778dp
+ 88.3333dp
+ 88.8889dp
+ 89.4444dp
+ 90.0000dp
+ 90.5556dp
+ 91.1111dp
+ 91.6667dp
+ 92.2222dp
+ 92.7778dp
+ 93.3333dp
+ 93.8889dp
+ 94.4444dp
+ 95.0000dp
+ 95.5556dp
+ 96.1111dp
+ 96.6667dp
+ 97.2222dp
+ 97.7778dp
+ 98.3333dp
+ 98.8889dp
+ 99.4444dp
+ 100.0000dp
+ 100.5556dp
+ 101.1111dp
+ 101.6667dp
+ 102.2222dp
+ 102.7778dp
+ 103.3333dp
+ 103.8889dp
+ 104.4444dp
+ 105.0000dp
+ 105.5556dp
+ 106.1111dp
+ 106.6667dp
+ 107.2222dp
+ 107.7778dp
+ 108.3333dp
+ 108.8889dp
+ 109.4444dp
+ 110.0000dp
+ 110.5556dp
+ 111.1111dp
+ 111.6667dp
+ 112.2222dp
+ 112.7778dp
+ 113.3333dp
+ 113.8889dp
+ 114.4444dp
+ 115.0000dp
+ 115.5556dp
+ 116.1111dp
+ 116.6667dp
+ 117.2222dp
+ 117.7778dp
+ 118.3333dp
+ 118.8889dp
+ 119.4444dp
+ 120.0000dp
+ 120.5556dp
+ 121.1111dp
+ 121.6667dp
+ 122.2222dp
+ 122.7778dp
+ 123.3333dp
+ 123.8889dp
+ 124.4444dp
+ 125.0000dp
+ 125.5556dp
+ 126.1111dp
+ 126.6667dp
+ 127.2222dp
+ 127.7778dp
+ 128.3333dp
+ 128.8889dp
+ 129.4444dp
+ 130.0000dp
+ 130.5556dp
+ 131.1111dp
+ 131.6667dp
+ 132.2222dp
+ 132.7778dp
+ 133.3333dp
+ 133.8889dp
+ 134.4444dp
+ 135.0000dp
+ 135.5556dp
+ 136.1111dp
+ 136.6667dp
+ 137.2222dp
+ 137.7778dp
+ 138.3333dp
+ 138.8889dp
+ 139.4444dp
+ 140.0000dp
+ 140.5556dp
+ 141.1111dp
+ 141.6667dp
+ 142.2222dp
+ 142.7778dp
+ 143.3333dp
+ 143.8889dp
+ 144.4444dp
+ 145.0000dp
+ 145.5556dp
+ 146.1111dp
+ 146.6667dp
+ 147.2222dp
+ 147.7778dp
+ 148.3333dp
+ 148.8889dp
+ 149.4444dp
+ 150.0000dp
+ 150.5556dp
+ 151.1111dp
+ 151.6667dp
+ 152.2222dp
+ 152.7778dp
+ 153.3333dp
+ 153.8889dp
+ 154.4444dp
+ 155.0000dp
+ 155.5556dp
+ 156.1111dp
+ 156.6667dp
+ 157.2222dp
+ 157.7778dp
+ 158.3333dp
+ 158.8889dp
+ 159.4444dp
+ 160.0000dp
+ 160.5556dp
+ 161.1111dp
+ 161.6667dp
+ 162.2222dp
+ 162.7778dp
+ 163.3333dp
+ 163.8889dp
+ 164.4444dp
+ 165.0000dp
+ 165.5556dp
+ 166.1111dp
+ 166.6667dp
+ 167.2222dp
+ 167.7778dp
+ 168.3333dp
+ 168.8889dp
+ 169.4444dp
+ 170.0000dp
+ 170.5556dp
+ 171.1111dp
+ 171.6667dp
+ 172.2222dp
+ 172.7778dp
+ 173.3333dp
+ 173.8889dp
+ 174.4444dp
+ 175.0000dp
+ 175.5556dp
+ 176.1111dp
+ 176.6667dp
+ 177.2222dp
+ 177.7778dp
+ 178.3333dp
+ 178.8889dp
+ 179.4444dp
+ 180.0000dp
+ 180.5556dp
+ 181.1111dp
+ 181.6667dp
+ 182.2222dp
+ 182.7778dp
+ 183.3333dp
+ 183.8889dp
+ 184.4444dp
+ 185.0000dp
+ 185.5556dp
+ 186.1111dp
+ 186.6667dp
+ 187.2222dp
+ 187.7778dp
+ 188.3333dp
+ 188.8889dp
+ 189.4444dp
+ 190.0000dp
+ 190.5556dp
+ 191.1111dp
+ 191.6667dp
+ 192.2222dp
+ 192.7778dp
+ 193.3333dp
+ 193.8889dp
+ 194.4444dp
+ 195.0000dp
+ 195.5556dp
+ 196.1111dp
+ 196.6667dp
+ 197.2222dp
+ 197.7778dp
+ 198.3333dp
+ 198.8889dp
+ 199.4444dp
+ 200.0000dp
+ 200.5556dp
+ 201.1111dp
+ 201.6667dp
+ 202.2222dp
+ 202.7778dp
+ 203.3333dp
+ 203.8889dp
+ 204.4444dp
+ 205.0000dp
+ 205.5556dp
+ 206.1111dp
+ 206.6667dp
+ 207.2222dp
+ 207.7778dp
+ 208.3333dp
+ 208.8889dp
+ 209.4444dp
+ 210.0000dp
+ 210.5556dp
+ 211.1111dp
+ 211.6667dp
+ 212.2222dp
+ 212.7778dp
+ 213.3333dp
+ 213.8889dp
+ 214.4444dp
+ 215.0000dp
+ 215.5556dp
+ 216.1111dp
+ 216.6667dp
+ 217.2222dp
+ 217.7778dp
+ 218.3333dp
+ 218.8889dp
+ 219.4444dp
+ 220.0000dp
+ 220.5556dp
+ 221.1111dp
+ 221.6667dp
+ 222.2222dp
+ 222.7778dp
+ 223.3333dp
+ 223.8889dp
+ 224.4444dp
+ 225.0000dp
+ 225.5556dp
+ 226.1111dp
+ 226.6667dp
+ 227.2222dp
+ 227.7778dp
+ 228.3333dp
+ 228.8889dp
+ 229.4444dp
+ 230.0000dp
+ 230.5556dp
+ 231.1111dp
+ 231.6667dp
+ 232.2222dp
+ 232.7778dp
+ 233.3333dp
+ 233.8889dp
+ 234.4444dp
+ 235.0000dp
+ 235.5556dp
+ 236.1111dp
+ 236.6667dp
+ 237.2222dp
+ 237.7778dp
+ 238.3333dp
+ 238.8889dp
+ 239.4444dp
+ 240.0000dp
+ 240.5556dp
+ 241.1111dp
+ 241.6667dp
+ 242.2222dp
+ 242.7778dp
+ 243.3333dp
+ 243.8889dp
+ 244.4444dp
+ 245.0000dp
+ 245.5556dp
+ 246.1111dp
+ 246.6667dp
+ 247.2222dp
+ 247.7778dp
+ 248.3333dp
+ 248.8889dp
+ 249.4444dp
+ 250.0000dp
+ 250.5556dp
+ 251.1111dp
+ 251.6667dp
+ 252.2222dp
+ 252.7778dp
+ 253.3333dp
+ 253.8889dp
+ 254.4444dp
+ 255.0000dp
+ 255.5556dp
+ 256.1111dp
+ 256.6667dp
+ 257.2222dp
+ 257.7778dp
+ 258.3333dp
+ 258.8889dp
+ 259.4444dp
+ 260.0000dp
+ 260.5556dp
+ 261.1111dp
+ 261.6667dp
+ 262.2222dp
+ 262.7778dp
+ 263.3333dp
+ 263.8889dp
+ 264.4444dp
+ 265.0000dp
+ 265.5556dp
+ 266.1111dp
+ 266.6667dp
+ 267.2222dp
+ 267.7778dp
+ 268.3333dp
+ 268.8889dp
+ 269.4444dp
+ 270.0000dp
+ 270.5556dp
+ 271.1111dp
+ 271.6667dp
+ 272.2222dp
+ 272.7778dp
+ 273.3333dp
+ 273.8889dp
+ 274.4444dp
+ 275.0000dp
+ 275.5556dp
+ 276.1111dp
+ 276.6667dp
+ 277.2222dp
+ 277.7778dp
+ 278.3333dp
+ 278.8889dp
+ 279.4444dp
+ 280.0000dp
+ 280.5556dp
+ 281.1111dp
+ 281.6667dp
+ 282.2222dp
+ 282.7778dp
+ 283.3333dp
+ 283.8889dp
+ 284.4444dp
+ 285.0000dp
+ 285.5556dp
+ 286.1111dp
+ 286.6667dp
+ 287.2222dp
+ 287.7778dp
+ 288.3333dp
+ 288.8889dp
+ 289.4444dp
+ 290.0000dp
+ 290.5556dp
+ 291.1111dp
+ 291.6667dp
+ 292.2222dp
+ 292.7778dp
+ 293.3333dp
+ 293.8889dp
+ 294.4444dp
+ 295.0000dp
+ 295.5556dp
+ 296.1111dp
+ 296.6667dp
+ 297.2222dp
+ 297.7778dp
+ 298.3333dp
+ 298.8889dp
+ 299.4444dp
+ 300.0000dp
+ 300.5556dp
+ 301.1111dp
+ 301.6667dp
+ 302.2222dp
+ 302.7778dp
+ 303.3333dp
+ 303.8889dp
+ 304.4444dp
+ 305.0000dp
+ 305.5556dp
+ 306.1111dp
+ 306.6667dp
+ 307.2222dp
+ 307.7778dp
+ 308.3333dp
+ 308.8889dp
+ 309.4444dp
+ 310.0000dp
+ 310.5556dp
+ 311.1111dp
+ 311.6667dp
+ 312.2222dp
+ 312.7778dp
+ 313.3333dp
+ 313.8889dp
+ 314.4444dp
+ 315.0000dp
+ 315.5556dp
+ 316.1111dp
+ 316.6667dp
+ 317.2222dp
+ 317.7778dp
+ 318.3333dp
+ 318.8889dp
+ 319.4444dp
+ 320.0000dp
+ 320.5556dp
+ 321.1111dp
+ 321.6667dp
+ 322.2222dp
+ 322.7778dp
+ 323.3333dp
+ 323.8889dp
+ 324.4444dp
+ 325.0000dp
+ 325.5556dp
+ 326.1111dp
+ 326.6667dp
+ 327.2222dp
+ 327.7778dp
+ 328.3333dp
+ 328.8889dp
+ 329.4444dp
+ 330.0000dp
+ 330.5556dp
+ 331.1111dp
+ 331.6667dp
+ 332.2222dp
+ 332.7778dp
+ 333.3333dp
+ 333.8889dp
+ 334.4444dp
+ 335.0000dp
+ 335.5556dp
+ 336.1111dp
+ 336.6667dp
+ 337.2222dp
+ 337.7778dp
+ 338.3333dp
+ 338.8889dp
+ 339.4444dp
+ 340.0000dp
+ 340.5556dp
+ 341.1111dp
+ 341.6667dp
+ 342.2222dp
+ 342.7778dp
+ 343.3333dp
+ 343.8889dp
+ 344.4444dp
+ 345.0000dp
+ 345.5556dp
+ 346.1111dp
+ 346.6667dp
+ 347.2222dp
+ 347.7778dp
+ 348.3333dp
+ 348.8889dp
+ 349.4444dp
+ 350.0000dp
+ 350.5556dp
+ 351.1111dp
+ 351.6667dp
+ 352.2222dp
+ 352.7778dp
+ 353.3333dp
+ 353.8889dp
+ 354.4444dp
+ 355.0000dp
+ 355.5556dp
+ 356.1111dp
+ 356.6667dp
+ 357.2222dp
+ 357.7778dp
+ 358.3333dp
+ 358.8889dp
+ 359.4444dp
+ 360.0000dp
+ 360.5556dp
+ 361.1111dp
+ 361.6667dp
+ 362.2222dp
+ 362.7778dp
+ 363.3333dp
+ 363.8889dp
+ 364.4444dp
+ 365.0000dp
+ 365.5556dp
+ 366.1111dp
+ 366.6667dp
+ 367.2222dp
+ 367.7778dp
+ 368.3333dp
+ 368.8889dp
+ 369.4444dp
+ 370.0000dp
+ 370.5556dp
+ 371.1111dp
+ 371.6667dp
+ 372.2222dp
+ 372.7778dp
+ 373.3333dp
+ 373.8889dp
+ 374.4444dp
+ 375.0000dp
+ 375.5556dp
+ 376.1111dp
+ 376.6667dp
+ 377.2222dp
+ 377.7778dp
+ 378.3333dp
+ 378.8889dp
+ 379.4444dp
+ 380.0000dp
+ 380.5556dp
+ 381.1111dp
+ 381.6667dp
+ 382.2222dp
+ 382.7778dp
+ 383.3333dp
+ 383.8889dp
+ 384.4444dp
+ 385.0000dp
+ 385.5556dp
+ 386.1111dp
+ 386.6667dp
+ 387.2222dp
+ 387.7778dp
+ 388.3333dp
+ 388.8889dp
+ 389.4444dp
+ 390.0000dp
+ 390.5556dp
+ 391.1111dp
+ 391.6667dp
+ 392.2222dp
+ 392.7778dp
+ 393.3333dp
+ 393.8889dp
+ 394.4444dp
+ 395.0000dp
+ 395.5556dp
+ 396.1111dp
+ 396.6667dp
+ 397.2222dp
+ 397.7778dp
+ 398.3333dp
+ 398.8889dp
+ 399.4444dp
+ 400.0000dp
+ 1.1111sp
+ 2.2222sp
+ 3.3333sp
+ 4.4444sp
+ 5.5556sp
+ 6.6667sp
+ 7.7778sp
+ 8.8889sp
+ 10.0000sp
+ 11.1111sp
+ 12.2222sp
+ 13.3333sp
+ 14.4444sp
+ 15.5556sp
+ 16.6667sp
+ 17.7778sp
+ 18.8889sp
+ 20.0000sp
+ 21.1111sp
+ 22.2222sp
+ 23.3333sp
+ 24.4444sp
+ 25.5556sp
+ 26.6667sp
+ 27.7778sp
+ 28.8889sp
+ 30.0000sp
+ 31.1111sp
+ 32.2222sp
+ 33.3333sp
+ 34.4444sp
+ 35.5556sp
+ 36.6667sp
+ 37.7778sp
+ 38.8889sp
+ 40.0000sp
+ 41.1111sp
+ 42.2222sp
+ 43.3333sp
+ 44.4444sp
+
diff --git a/BaseAndroidKt/src/main/res/values-sw410dp/dimens.xml b/BaseAndroidKt/src/main/res/values-sw410dp/dimens.xml
new file mode 100644
index 0000000..63bb2f1
--- /dev/null
+++ b/BaseAndroidKt/src/main/res/values-sw410dp/dimens.xml
@@ -0,0 +1,764 @@
+
+
+ 410.0000dp
+ 0.5694dp
+ 1.1389dp
+ 1.7083dp
+ 2.2778dp
+ 2.8472dp
+ 3.4167dp
+ 3.9861dp
+ 4.5556dp
+ 5.1250dp
+ 5.6944dp
+ 6.2639dp
+ 6.8333dp
+ 7.4028dp
+ 7.9722dp
+ 8.5417dp
+ 9.1111dp
+ 9.6806dp
+ 10.2500dp
+ 10.8194dp
+ 11.3889dp
+ 11.9583dp
+ 12.5278dp
+ 13.0972dp
+ 13.6667dp
+ 14.2361dp
+ 14.8056dp
+ 15.3750dp
+ 15.9444dp
+ 16.5139dp
+ 17.0833dp
+ 17.6528dp
+ 18.2222dp
+ 18.7917dp
+ 19.3611dp
+ 19.9306dp
+ 20.5000dp
+ 21.0694dp
+ 21.6389dp
+ 22.2083dp
+ 22.7778dp
+ 23.3472dp
+ 23.9167dp
+ 24.4861dp
+ 25.0556dp
+ 25.6250dp
+ 26.1944dp
+ 26.7639dp
+ 27.3333dp
+ 27.9028dp
+ 28.4722dp
+ 29.0417dp
+ 29.6111dp
+ 30.1806dp
+ 30.7500dp
+ 31.3194dp
+ 31.8889dp
+ 32.4583dp
+ 33.0278dp
+ 33.5972dp
+ 34.1667dp
+ 34.7361dp
+ 35.3056dp
+ 35.8750dp
+ 36.4444dp
+ 37.0139dp
+ 37.5833dp
+ 38.1528dp
+ 38.7222dp
+ 39.2917dp
+ 39.8611dp
+ 40.4306dp
+ 41.0000dp
+ 41.5694dp
+ 42.1389dp
+ 42.7083dp
+ 43.2778dp
+ 43.8472dp
+ 44.4167dp
+ 44.9861dp
+ 45.5556dp
+ 46.1250dp
+ 46.6944dp
+ 47.2639dp
+ 47.8333dp
+ 48.4028dp
+ 48.9722dp
+ 49.5417dp
+ 50.1111dp
+ 50.6806dp
+ 51.2500dp
+ 51.8194dp
+ 52.3889dp
+ 52.9583dp
+ 53.5278dp
+ 54.0972dp
+ 54.6667dp
+ 55.2361dp
+ 55.8056dp
+ 56.3750dp
+ 56.9444dp
+ 57.5139dp
+ 58.0833dp
+ 58.6528dp
+ 59.2222dp
+ 59.7917dp
+ 60.3611dp
+ 60.9306dp
+ 61.5000dp
+ 62.0694dp
+ 62.6389dp
+ 63.2083dp
+ 63.7778dp
+ 64.3472dp
+ 64.9167dp
+ 65.4861dp
+ 66.0556dp
+ 66.6250dp
+ 67.1944dp
+ 67.7639dp
+ 68.3333dp
+ 68.9028dp
+ 69.4722dp
+ 70.0417dp
+ 70.6111dp
+ 71.1806dp
+ 71.7500dp
+ 72.3194dp
+ 72.8889dp
+ 73.4583dp
+ 74.0278dp
+ 74.5972dp
+ 75.1667dp
+ 75.7361dp
+ 76.3056dp
+ 76.8750dp
+ 77.4444dp
+ 78.0139dp
+ 78.5833dp
+ 79.1528dp
+ 79.7222dp
+ 80.2917dp
+ 80.8611dp
+ 81.4306dp
+ 82.0000dp
+ 82.5694dp
+ 83.1389dp
+ 83.7083dp
+ 84.2778dp
+ 84.8472dp
+ 85.4167dp
+ 85.9861dp
+ 86.5556dp
+ 87.1250dp
+ 87.6944dp
+ 88.2639dp
+ 88.8333dp
+ 89.4028dp
+ 89.9722dp
+ 90.5417dp
+ 91.1111dp
+ 91.6806dp
+ 92.2500dp
+ 92.8194dp
+ 93.3889dp
+ 93.9583dp
+ 94.5278dp
+ 95.0972dp
+ 95.6667dp
+ 96.2361dp
+ 96.8056dp
+ 97.3750dp
+ 97.9444dp
+ 98.5139dp
+ 99.0833dp
+ 99.6528dp
+ 100.2222dp
+ 100.7917dp
+ 101.3611dp
+ 101.9306dp
+ 102.5000dp
+ 103.0694dp
+ 103.6389dp
+ 104.2083dp
+ 104.7778dp
+ 105.3472dp
+ 105.9167dp
+ 106.4861dp
+ 107.0556dp
+ 107.6250dp
+ 108.1944dp
+ 108.7639dp
+ 109.3333dp
+ 109.9028dp
+ 110.4722dp
+ 111.0417dp
+ 111.6111dp
+ 112.1806dp
+ 112.7500dp
+ 113.3194dp
+ 113.8889dp
+ 114.4583dp
+ 115.0278dp
+ 115.5972dp
+ 116.1667dp
+ 116.7361dp
+ 117.3056dp
+ 117.8750dp
+ 118.4444dp
+ 119.0139dp
+ 119.5833dp
+ 120.1528dp
+ 120.7222dp
+ 121.2917dp
+ 121.8611dp
+ 122.4306dp
+ 123.0000dp
+ 123.5694dp
+ 124.1389dp
+ 124.7083dp
+ 125.2778dp
+ 125.8472dp
+ 126.4167dp
+ 126.9861dp
+ 127.5556dp
+ 128.1250dp
+ 128.6944dp
+ 129.2639dp
+ 129.8333dp
+ 130.4028dp
+ 130.9722dp
+ 131.5417dp
+ 132.1111dp
+ 132.6806dp
+ 133.2500dp
+ 133.8194dp
+ 134.3889dp
+ 134.9583dp
+ 135.5278dp
+ 136.0972dp
+ 136.6667dp
+ 137.2361dp
+ 137.8056dp
+ 138.3750dp
+ 138.9444dp
+ 139.5139dp
+ 140.0833dp
+ 140.6528dp
+ 141.2222dp
+ 141.7917dp
+ 142.3611dp
+ 142.9306dp
+ 143.5000dp
+ 144.0694dp
+ 144.6389dp
+ 145.2083dp
+ 145.7778dp
+ 146.3472dp
+ 146.9167dp
+ 147.4861dp
+ 148.0556dp
+ 148.6250dp
+ 149.1944dp
+ 149.7639dp
+ 150.3333dp
+ 150.9028dp
+ 151.4722dp
+ 152.0417dp
+ 152.6111dp
+ 153.1806dp
+ 153.7500dp
+ 154.3194dp
+ 154.8889dp
+ 155.4583dp
+ 156.0278dp
+ 156.5972dp
+ 157.1667dp
+ 157.7361dp
+ 158.3056dp
+ 158.8750dp
+ 159.4444dp
+ 160.0139dp
+ 160.5833dp
+ 161.1528dp
+ 161.7222dp
+ 162.2917dp
+ 162.8611dp
+ 163.4306dp
+ 164.0000dp
+ 164.5694dp
+ 165.1389dp
+ 165.7083dp
+ 166.2778dp
+ 166.8472dp
+ 167.4167dp
+ 167.9861dp
+ 168.5556dp
+ 169.1250dp
+ 169.6944dp
+ 170.2639dp
+ 170.8333dp
+ 171.4028dp
+ 171.9722dp
+ 172.5417dp
+ 173.1111dp
+ 173.6806dp
+ 174.2500dp
+ 174.8194dp
+ 175.3889dp
+ 175.9583dp
+ 176.5278dp
+ 177.0972dp
+ 177.6667dp
+ 178.2361dp
+ 178.8056dp
+ 179.3750dp
+ 179.9444dp
+ 180.5139dp
+ 181.0833dp
+ 181.6528dp
+ 182.2222dp
+ 182.7917dp
+ 183.3611dp
+ 183.9306dp
+ 184.5000dp
+ 185.0694dp
+ 185.6389dp
+ 186.2083dp
+ 186.7778dp
+ 187.3472dp
+ 187.9167dp
+ 188.4861dp
+ 189.0556dp
+ 189.6250dp
+ 190.1944dp
+ 190.7639dp
+ 191.3333dp
+ 191.9028dp
+ 192.4722dp
+ 193.0417dp
+ 193.6111dp
+ 194.1806dp
+ 194.7500dp
+ 195.3194dp
+ 195.8889dp
+ 196.4583dp
+ 197.0278dp
+ 197.5972dp
+ 198.1667dp
+ 198.7361dp
+ 199.3056dp
+ 199.8750dp
+ 200.4444dp
+ 201.0139dp
+ 201.5833dp
+ 202.1528dp
+ 202.7222dp
+ 203.2917dp
+ 203.8611dp
+ 204.4306dp
+ 205.0000dp
+ 205.5694dp
+ 206.1389dp
+ 206.7083dp
+ 207.2778dp
+ 207.8472dp
+ 208.4167dp
+ 208.9861dp
+ 209.5556dp
+ 210.1250dp
+ 210.6944dp
+ 211.2639dp
+ 211.8333dp
+ 212.4028dp
+ 212.9722dp
+ 213.5417dp
+ 214.1111dp
+ 214.6806dp
+ 215.2500dp
+ 215.8194dp
+ 216.3889dp
+ 216.9583dp
+ 217.5278dp
+ 218.0972dp
+ 218.6667dp
+ 219.2361dp
+ 219.8056dp
+ 220.3750dp
+ 220.9444dp
+ 221.5139dp
+ 222.0833dp
+ 222.6528dp
+ 223.2222dp
+ 223.7917dp
+ 224.3611dp
+ 224.9306dp
+ 225.5000dp
+ 226.0694dp
+ 226.6389dp
+ 227.2083dp
+ 227.7778dp
+ 228.3472dp
+ 228.9167dp
+ 229.4861dp
+ 230.0556dp
+ 230.6250dp
+ 231.1944dp
+ 231.7639dp
+ 232.3333dp
+ 232.9028dp
+ 233.4722dp
+ 234.0417dp
+ 234.6111dp
+ 235.1806dp
+ 235.7500dp
+ 236.3194dp
+ 236.8889dp
+ 237.4583dp
+ 238.0278dp
+ 238.5972dp
+ 239.1667dp
+ 239.7361dp
+ 240.3056dp
+ 240.8750dp
+ 241.4444dp
+ 242.0139dp
+ 242.5833dp
+ 243.1528dp
+ 243.7222dp
+ 244.2917dp
+ 244.8611dp
+ 245.4306dp
+ 246.0000dp
+ 246.5694dp
+ 247.1389dp
+ 247.7083dp
+ 248.2778dp
+ 248.8472dp
+ 249.4167dp
+ 249.9861dp
+ 250.5556dp
+ 251.1250dp
+ 251.6944dp
+ 252.2639dp
+ 252.8333dp
+ 253.4028dp
+ 253.9722dp
+ 254.5417dp
+ 255.1111dp
+ 255.6806dp
+ 256.2500dp
+ 256.8194dp
+ 257.3889dp
+ 257.9583dp
+ 258.5278dp
+ 259.0972dp
+ 259.6667dp
+ 260.2361dp
+ 260.8056dp
+ 261.3750dp
+ 261.9444dp
+ 262.5139dp
+ 263.0833dp
+ 263.6528dp
+ 264.2222dp
+ 264.7917dp
+ 265.3611dp
+ 265.9306dp
+ 266.5000dp
+ 267.0694dp
+ 267.6389dp
+ 268.2083dp
+ 268.7778dp
+ 269.3472dp
+ 269.9167dp
+ 270.4861dp
+ 271.0556dp
+ 271.6250dp
+ 272.1944dp
+ 272.7639dp
+ 273.3333dp
+ 273.9028dp
+ 274.4722dp
+ 275.0417dp
+ 275.6111dp
+ 276.1806dp
+ 276.7500dp
+ 277.3194dp
+ 277.8889dp
+ 278.4583dp
+ 279.0278dp
+ 279.5972dp
+ 280.1667dp
+ 280.7361dp
+ 281.3056dp
+ 281.8750dp
+ 282.4444dp
+ 283.0139dp
+ 283.5833dp
+ 284.1528dp
+ 284.7222dp
+ 285.2917dp
+ 285.8611dp
+ 286.4306dp
+ 287.0000dp
+ 287.5694dp
+ 288.1389dp
+ 288.7083dp
+ 289.2778dp
+ 289.8472dp
+ 290.4167dp
+ 290.9861dp
+ 291.5556dp
+ 292.1250dp
+ 292.6944dp
+ 293.2639dp
+ 293.8333dp
+ 294.4028dp
+ 294.9722dp
+ 295.5417dp
+ 296.1111dp
+ 296.6806dp
+ 297.2500dp
+ 297.8194dp
+ 298.3889dp
+ 298.9583dp
+ 299.5278dp
+ 300.0972dp
+ 300.6667dp
+ 301.2361dp
+ 301.8056dp
+ 302.3750dp
+ 302.9444dp
+ 303.5139dp
+ 304.0833dp
+ 304.6528dp
+ 305.2222dp
+ 305.7917dp
+ 306.3611dp
+ 306.9306dp
+ 307.5000dp
+ 308.0694dp
+ 308.6389dp
+ 309.2083dp
+ 309.7778dp
+ 310.3472dp
+ 310.9167dp
+ 311.4861dp
+ 312.0556dp
+ 312.6250dp
+ 313.1944dp
+ 313.7639dp
+ 314.3333dp
+ 314.9028dp
+ 315.4722dp
+ 316.0417dp
+ 316.6111dp
+ 317.1806dp
+ 317.7500dp
+ 318.3194dp
+ 318.8889dp
+ 319.4583dp
+ 320.0278dp
+ 320.5972dp
+ 321.1667dp
+ 321.7361dp
+ 322.3056dp
+ 322.8750dp
+ 323.4444dp
+ 324.0139dp
+ 324.5833dp
+ 325.1528dp
+ 325.7222dp
+ 326.2917dp
+ 326.8611dp
+ 327.4306dp
+ 328.0000dp
+ 328.5694dp
+ 329.1389dp
+ 329.7083dp
+ 330.2778dp
+ 330.8472dp
+ 331.4167dp
+ 331.9861dp
+ 332.5556dp
+ 333.1250dp
+ 333.6944dp
+ 334.2639dp
+ 334.8333dp
+ 335.4028dp
+ 335.9722dp
+ 336.5417dp
+ 337.1111dp
+ 337.6806dp
+ 338.2500dp
+ 338.8194dp
+ 339.3889dp
+ 339.9583dp
+ 340.5278dp
+ 341.0972dp
+ 341.6667dp
+ 342.2361dp
+ 342.8056dp
+ 343.3750dp
+ 343.9444dp
+ 344.5139dp
+ 345.0833dp
+ 345.6528dp
+ 346.2222dp
+ 346.7917dp
+ 347.3611dp
+ 347.9306dp
+ 348.5000dp
+ 349.0694dp
+ 349.6389dp
+ 350.2083dp
+ 350.7778dp
+ 351.3472dp
+ 351.9167dp
+ 352.4861dp
+ 353.0556dp
+ 353.6250dp
+ 354.1944dp
+ 354.7639dp
+ 355.3333dp
+ 355.9028dp
+ 356.4722dp
+ 357.0417dp
+ 357.6111dp
+ 358.1806dp
+ 358.7500dp
+ 359.3194dp
+ 359.8889dp
+ 360.4583dp
+ 361.0278dp
+ 361.5972dp
+ 362.1667dp
+ 362.7361dp
+ 363.3056dp
+ 363.8750dp
+ 364.4444dp
+ 365.0139dp
+ 365.5833dp
+ 366.1528dp
+ 366.7222dp
+ 367.2917dp
+ 367.8611dp
+ 368.4306dp
+ 369.0000dp
+ 369.5694dp
+ 370.1389dp
+ 370.7083dp
+ 371.2778dp
+ 371.8472dp
+ 372.4167dp
+ 372.9861dp
+ 373.5556dp
+ 374.1250dp
+ 374.6944dp
+ 375.2639dp
+ 375.8333dp
+ 376.4028dp
+ 376.9722dp
+ 377.5417dp
+ 378.1111dp
+ 378.6806dp
+ 379.2500dp
+ 379.8194dp
+ 380.3889dp
+ 380.9583dp
+ 381.5278dp
+ 382.0972dp
+ 382.6667dp
+ 383.2361dp
+ 383.8056dp
+ 384.3750dp
+ 384.9444dp
+ 385.5139dp
+ 386.0833dp
+ 386.6528dp
+ 387.2222dp
+ 387.7917dp
+ 388.3611dp
+ 388.9306dp
+ 389.5000dp
+ 390.0694dp
+ 390.6389dp
+ 391.2083dp
+ 391.7778dp
+ 392.3472dp
+ 392.9167dp
+ 393.4861dp
+ 394.0556dp
+ 394.6250dp
+ 395.1944dp
+ 395.7639dp
+ 396.3333dp
+ 396.9028dp
+ 397.4722dp
+ 398.0417dp
+ 398.6111dp
+ 399.1806dp
+ 399.7500dp
+ 400.3194dp
+ 400.8889dp
+ 401.4583dp
+ 402.0278dp
+ 402.5972dp
+ 403.1667dp
+ 403.7361dp
+ 404.3056dp
+ 404.8750dp
+ 405.4444dp
+ 406.0139dp
+ 406.5833dp
+ 407.1528dp
+ 407.7222dp
+ 408.2917dp
+ 408.8611dp
+ 409.4306dp
+ 410.0000dp
+ 1.1389sp
+ 2.2778sp
+ 3.4167sp
+ 4.5556sp
+ 5.6944sp
+ 6.8333sp
+ 7.9722sp
+ 9.1111sp
+ 10.2500sp
+ 11.3889sp
+ 12.5278sp
+ 13.6667sp
+ 14.8056sp
+ 15.9444sp
+ 17.0833sp
+ 18.2222sp
+ 19.3611sp
+ 20.5000sp
+ 21.6389sp
+ 22.7778sp
+ 23.9167sp
+ 25.0556sp
+ 26.1944sp
+ 27.3333sp
+ 28.4722sp
+ 29.6111sp
+ 30.7500sp
+ 31.8889sp
+ 33.0278sp
+ 34.1667sp
+ 35.3056sp
+ 36.4444sp
+ 37.5833sp
+ 38.7222sp
+ 39.8611sp
+ 41.0000sp
+ 42.1389sp
+ 43.2778sp
+ 44.4167sp
+ 45.5556sp
+
diff --git a/BaseAndroidKt/src/main/res/values-sw411dp/dimens.xml b/BaseAndroidKt/src/main/res/values-sw411dp/dimens.xml
new file mode 100644
index 0000000..36d2d4f
--- /dev/null
+++ b/BaseAndroidKt/src/main/res/values-sw411dp/dimens.xml
@@ -0,0 +1,764 @@
+
+
+ 411.0000dp
+ 0.5708dp
+ 1.1417dp
+ 1.7125dp
+ 2.2833dp
+ 2.8542dp
+ 3.4250dp
+ 3.9958dp
+ 4.5667dp
+ 5.1375dp
+ 5.7083dp
+ 6.2792dp
+ 6.8500dp
+ 7.4208dp
+ 7.9917dp
+ 8.5625dp
+ 9.1333dp
+ 9.7042dp
+ 10.2750dp
+ 10.8458dp
+ 11.4167dp
+ 11.9875dp
+ 12.5583dp
+ 13.1292dp
+ 13.7000dp
+ 14.2708dp
+ 14.8417dp
+ 15.4125dp
+ 15.9833dp
+ 16.5542dp
+ 17.1250dp
+ 17.6958dp
+ 18.2667dp
+ 18.8375dp
+ 19.4083dp
+ 19.9792dp
+ 20.5500dp
+ 21.1208dp
+ 21.6917dp
+ 22.2625dp
+ 22.8333dp
+ 23.4042dp
+ 23.9750dp
+ 24.5458dp
+ 25.1167dp
+ 25.6875dp
+ 26.2583dp
+ 26.8292dp
+ 27.4000dp
+ 27.9708dp
+ 28.5417dp
+ 29.1125dp
+ 29.6833dp
+ 30.2542dp
+ 30.8250dp
+ 31.3958dp
+ 31.9667dp
+ 32.5375dp
+ 33.1083dp
+ 33.6792dp
+ 34.2500dp
+ 34.8208dp
+ 35.3917dp
+ 35.9625dp
+ 36.5333dp
+ 37.1042dp
+ 37.6750dp
+ 38.2458dp
+ 38.8167dp
+ 39.3875dp
+ 39.9583dp
+ 40.5292dp
+ 41.1000dp
+ 41.6708dp
+ 42.2417dp
+ 42.8125dp
+ 43.3833dp
+ 43.9542dp
+ 44.5250dp
+ 45.0958dp
+ 45.6667dp
+ 46.2375dp
+ 46.8083dp
+ 47.3792dp
+ 47.9500dp
+ 48.5208dp
+ 49.0917dp
+ 49.6625dp
+ 50.2333dp
+ 50.8042dp
+ 51.3750dp
+ 51.9458dp
+ 52.5167dp
+ 53.0875dp
+ 53.6583dp
+ 54.2292dp
+ 54.8000dp
+ 55.3708dp
+ 55.9417dp
+ 56.5125dp
+ 57.0833dp
+ 57.6542dp
+ 58.2250dp
+ 58.7958dp
+ 59.3667dp
+ 59.9375dp
+ 60.5083dp
+ 61.0792dp
+ 61.6500dp
+ 62.2208dp
+ 62.7917dp
+ 63.3625dp
+ 63.9333dp
+ 64.5042dp
+ 65.0750dp
+ 65.6458dp
+ 66.2167dp
+ 66.7875dp
+ 67.3583dp
+ 67.9292dp
+ 68.5000dp
+ 69.0708dp
+ 69.6417dp
+ 70.2125dp
+ 70.7833dp
+ 71.3542dp
+ 71.9250dp
+ 72.4958dp
+ 73.0667dp
+ 73.6375dp
+ 74.2083dp
+ 74.7792dp
+ 75.3500dp
+ 75.9208dp
+ 76.4917dp
+ 77.0625dp
+ 77.6333dp
+ 78.2042dp
+ 78.7750dp
+ 79.3458dp
+ 79.9167dp
+ 80.4875dp
+ 81.0583dp
+ 81.6292dp
+ 82.2000dp
+ 82.7708dp
+ 83.3417dp
+ 83.9125dp
+ 84.4833dp
+ 85.0542dp
+ 85.6250dp
+ 86.1958dp
+ 86.7667dp
+ 87.3375dp
+ 87.9083dp
+ 88.4792dp
+ 89.0500dp
+ 89.6208dp
+ 90.1917dp
+ 90.7625dp
+ 91.3333dp
+ 91.9042dp
+ 92.4750dp
+ 93.0458dp
+ 93.6167dp
+ 94.1875dp
+ 94.7583dp
+ 95.3292dp
+ 95.9000dp
+ 96.4708dp
+ 97.0417dp
+ 97.6125dp
+ 98.1833dp
+ 98.7542dp
+ 99.3250dp
+ 99.8958dp
+ 100.4667dp
+ 101.0375dp
+ 101.6083dp
+ 102.1792dp
+ 102.7500dp
+ 103.3208dp
+ 103.8917dp
+ 104.4625dp
+ 105.0333dp
+ 105.6042dp
+ 106.1750dp
+ 106.7458dp
+ 107.3167dp
+ 107.8875dp
+ 108.4583dp
+ 109.0292dp
+ 109.6000dp
+ 110.1708dp
+ 110.7417dp
+ 111.3125dp
+ 111.8833dp
+ 112.4542dp
+ 113.0250dp
+ 113.5958dp
+ 114.1667dp
+ 114.7375dp
+ 115.3083dp
+ 115.8792dp
+ 116.4500dp
+ 117.0208dp
+ 117.5917dp
+ 118.1625dp
+ 118.7333dp
+ 119.3042dp
+ 119.8750dp
+ 120.4458dp
+ 121.0167dp
+ 121.5875dp
+ 122.1583dp
+ 122.7292dp
+ 123.3000dp
+ 123.8708dp
+ 124.4417dp
+ 125.0125dp
+ 125.5833dp
+ 126.1542dp
+ 126.7250dp
+ 127.2958dp
+ 127.8667dp
+ 128.4375dp
+ 129.0083dp
+ 129.5792dp
+ 130.1500dp
+ 130.7208dp
+ 131.2917dp
+ 131.8625dp
+ 132.4333dp
+ 133.0042dp
+ 133.5750dp
+ 134.1458dp
+ 134.7167dp
+ 135.2875dp
+ 135.8583dp
+ 136.4292dp
+ 137.0000dp
+ 137.5708dp
+ 138.1417dp
+ 138.7125dp
+ 139.2833dp
+ 139.8542dp
+ 140.4250dp
+ 140.9958dp
+ 141.5667dp
+ 142.1375dp
+ 142.7083dp
+ 143.2792dp
+ 143.8500dp
+ 144.4208dp
+ 144.9917dp
+ 145.5625dp
+ 146.1333dp
+ 146.7042dp
+ 147.2750dp
+ 147.8458dp
+ 148.4167dp
+ 148.9875dp
+ 149.5583dp
+ 150.1292dp
+ 150.7000dp
+ 151.2708dp
+ 151.8417dp
+ 152.4125dp
+ 152.9833dp
+ 153.5542dp
+ 154.1250dp
+ 154.6958dp
+ 155.2667dp
+ 155.8375dp
+ 156.4083dp
+ 156.9792dp
+ 157.5500dp
+ 158.1208dp
+ 158.6917dp
+ 159.2625dp
+ 159.8333dp
+ 160.4042dp
+ 160.9750dp
+ 161.5458dp
+ 162.1167dp
+ 162.6875dp
+ 163.2583dp
+ 163.8292dp
+ 164.4000dp
+ 164.9708dp
+ 165.5417dp
+ 166.1125dp
+ 166.6833dp
+ 167.2542dp
+ 167.8250dp
+ 168.3958dp
+ 168.9667dp
+ 169.5375dp
+ 170.1083dp
+ 170.6792dp
+ 171.2500dp
+ 171.8208dp
+ 172.3917dp
+ 172.9625dp
+ 173.5333dp
+ 174.1042dp
+ 174.6750dp
+ 175.2458dp
+ 175.8167dp
+ 176.3875dp
+ 176.9583dp
+ 177.5292dp
+ 178.1000dp
+ 178.6708dp
+ 179.2417dp
+ 179.8125dp
+ 180.3833dp
+ 180.9542dp
+ 181.5250dp
+ 182.0958dp
+ 182.6667dp
+ 183.2375dp
+ 183.8083dp
+ 184.3792dp
+ 184.9500dp
+ 185.5208dp
+ 186.0917dp
+ 186.6625dp
+ 187.2333dp
+ 187.8042dp
+ 188.3750dp
+ 188.9458dp
+ 189.5167dp
+ 190.0875dp
+ 190.6583dp
+ 191.2292dp
+ 191.8000dp
+ 192.3708dp
+ 192.9417dp
+ 193.5125dp
+ 194.0833dp
+ 194.6542dp
+ 195.2250dp
+ 195.7958dp
+ 196.3667dp
+ 196.9375dp
+ 197.5083dp
+ 198.0792dp
+ 198.6500dp
+ 199.2208dp
+ 199.7917dp
+ 200.3625dp
+ 200.9333dp
+ 201.5042dp
+ 202.0750dp
+ 202.6458dp
+ 203.2167dp
+ 203.7875dp
+ 204.3583dp
+ 204.9292dp
+ 205.5000dp
+ 206.0708dp
+ 206.6417dp
+ 207.2125dp
+ 207.7833dp
+ 208.3542dp
+ 208.9250dp
+ 209.4958dp
+ 210.0667dp
+ 210.6375dp
+ 211.2083dp
+ 211.7792dp
+ 212.3500dp
+ 212.9208dp
+ 213.4917dp
+ 214.0625dp
+ 214.6333dp
+ 215.2042dp
+ 215.7750dp
+ 216.3458dp
+ 216.9167dp
+ 217.4875dp
+ 218.0583dp
+ 218.6292dp
+ 219.2000dp
+ 219.7708dp
+ 220.3417dp
+ 220.9125dp
+ 221.4833dp
+ 222.0542dp
+ 222.6250dp
+ 223.1958dp
+ 223.7667dp
+ 224.3375dp
+ 224.9083dp
+ 225.4792dp
+ 226.0500dp
+ 226.6208dp
+ 227.1917dp
+ 227.7625dp
+ 228.3333dp
+ 228.9042dp
+ 229.4750dp
+ 230.0458dp
+ 230.6167dp
+ 231.1875dp
+ 231.7583dp
+ 232.3292dp
+ 232.9000dp
+ 233.4708dp
+ 234.0417dp
+ 234.6125dp
+ 235.1833dp
+ 235.7542dp
+ 236.3250dp
+ 236.8958dp
+ 237.4667dp
+ 238.0375dp
+ 238.6083dp
+ 239.1792dp
+ 239.7500dp
+ 240.3208dp
+ 240.8917dp
+ 241.4625dp
+ 242.0333dp
+ 242.6042dp
+ 243.1750dp
+ 243.7458dp
+ 244.3167dp
+ 244.8875dp
+ 245.4583dp
+ 246.0292dp
+ 246.6000dp
+ 247.1708dp
+ 247.7417dp
+ 248.3125dp
+ 248.8833dp
+ 249.4542dp
+ 250.0250dp
+ 250.5958dp
+ 251.1667dp
+ 251.7375dp
+ 252.3083dp
+ 252.8792dp
+ 253.4500dp
+ 254.0208dp
+ 254.5917dp
+ 255.1625dp
+ 255.7333dp
+ 256.3042dp
+ 256.8750dp
+ 257.4458dp
+ 258.0167dp
+ 258.5875dp
+ 259.1583dp
+ 259.7292dp
+ 260.3000dp
+ 260.8708dp
+ 261.4417dp
+ 262.0125dp
+ 262.5833dp
+ 263.1542dp
+ 263.7250dp
+ 264.2958dp
+ 264.8667dp
+ 265.4375dp
+ 266.0083dp
+ 266.5792dp
+ 267.1500dp
+ 267.7208dp
+ 268.2917dp
+ 268.8625dp
+ 269.4333dp
+ 270.0042dp
+ 270.5750dp
+ 271.1458dp
+ 271.7167dp
+ 272.2875dp
+ 272.8583dp
+ 273.4292dp
+ 274.0000dp
+ 274.5708dp
+ 275.1417dp
+ 275.7125dp
+ 276.2833dp
+ 276.8542dp
+ 277.4250dp
+ 277.9958dp
+ 278.5667dp
+ 279.1375dp
+ 279.7083dp
+ 280.2792dp
+ 280.8500dp
+ 281.4208dp
+ 281.9917dp
+ 282.5625dp
+ 283.1333dp
+ 283.7042dp
+ 284.2750dp
+ 284.8458dp
+ 285.4167dp
+ 285.9875dp
+ 286.5583dp
+ 287.1292dp
+ 287.7000dp
+ 288.2708dp
+ 288.8417dp
+ 289.4125dp
+ 289.9833dp
+ 290.5542dp
+ 291.1250dp
+ 291.6958dp
+ 292.2667dp
+ 292.8375dp
+ 293.4083dp
+ 293.9792dp
+ 294.5500dp
+ 295.1208dp
+ 295.6917dp
+ 296.2625dp
+ 296.8333dp
+ 297.4042dp
+ 297.9750dp
+ 298.5458dp
+ 299.1167dp
+ 299.6875dp
+ 300.2583dp
+ 300.8292dp
+ 301.4000dp
+ 301.9708dp
+ 302.5417dp
+ 303.1125dp
+ 303.6833dp
+ 304.2542dp
+ 304.8250dp
+ 305.3958dp
+ 305.9667dp
+ 306.5375dp
+ 307.1083dp
+ 307.6792dp
+ 308.2500dp
+ 308.8208dp
+ 309.3917dp
+ 309.9625dp
+ 310.5333dp
+ 311.1042dp
+ 311.6750dp
+ 312.2458dp
+ 312.8167dp
+ 313.3875dp
+ 313.9583dp
+ 314.5292dp
+ 315.1000dp
+ 315.6708dp
+ 316.2417dp
+ 316.8125dp
+ 317.3833dp
+ 317.9542dp
+ 318.5250dp
+ 319.0958dp
+ 319.6667dp
+ 320.2375dp
+ 320.8083dp
+ 321.3792dp
+ 321.9500dp
+ 322.5208dp
+ 323.0917dp
+ 323.6625dp
+ 324.2333dp
+ 324.8042dp
+ 325.3750dp
+ 325.9458dp
+ 326.5167dp
+ 327.0875dp
+ 327.6583dp
+ 328.2292dp
+ 328.8000dp
+ 329.3708dp
+ 329.9417dp
+ 330.5125dp
+ 331.0833dp
+ 331.6542dp
+ 332.2250dp
+ 332.7958dp
+ 333.3667dp
+ 333.9375dp
+ 334.5083dp
+ 335.0792dp
+ 335.6500dp
+ 336.2208dp
+ 336.7917dp
+ 337.3625dp
+ 337.9333dp
+ 338.5042dp
+ 339.0750dp
+ 339.6458dp
+ 340.2167dp
+ 340.7875dp
+ 341.3583dp
+ 341.9292dp
+ 342.5000dp
+ 343.0708dp
+ 343.6417dp
+ 344.2125dp
+ 344.7833dp
+ 345.3542dp
+ 345.9250dp
+ 346.4958dp
+ 347.0667dp
+ 347.6375dp
+ 348.2083dp
+ 348.7792dp
+ 349.3500dp
+ 349.9208dp
+ 350.4917dp
+ 351.0625dp
+ 351.6333dp
+ 352.2042dp
+ 352.7750dp
+ 353.3458dp
+ 353.9167dp
+ 354.4875dp
+ 355.0583dp
+ 355.6292dp
+ 356.2000dp
+ 356.7708dp
+ 357.3417dp
+ 357.9125dp
+ 358.4833dp
+ 359.0542dp
+ 359.6250dp
+ 360.1958dp
+ 360.7667dp
+ 361.3375dp
+ 361.9083dp
+ 362.4792dp
+ 363.0500dp
+ 363.6208dp
+ 364.1917dp
+ 364.7625dp
+ 365.3333dp
+ 365.9042dp
+ 366.4750dp
+ 367.0458dp
+ 367.6167dp
+ 368.1875dp
+ 368.7583dp
+ 369.3292dp
+ 369.9000dp
+ 370.4708dp
+ 371.0417dp
+ 371.6125dp
+ 372.1833dp
+ 372.7542dp
+ 373.3250dp
+ 373.8958dp
+ 374.4667dp
+ 375.0375dp
+ 375.6083dp
+ 376.1792dp
+ 376.7500dp
+ 377.3208dp
+ 377.8917dp
+ 378.4625dp
+ 379.0333dp
+ 379.6042dp
+ 380.1750dp
+ 380.7458dp
+ 381.3167dp
+ 381.8875dp
+ 382.4583dp
+ 383.0292dp
+ 383.6000dp
+ 384.1708dp
+ 384.7417dp
+ 385.3125dp
+ 385.8833dp
+ 386.4542dp
+ 387.0250dp
+ 387.5958dp
+ 388.1667dp
+ 388.7375dp
+ 389.3083dp
+ 389.8792dp
+ 390.4500dp
+ 391.0208dp
+ 391.5917dp
+ 392.1625dp
+ 392.7333dp
+ 393.3042dp
+ 393.8750dp
+ 394.4458dp
+ 395.0167dp
+ 395.5875dp
+ 396.1583dp
+ 396.7292dp
+ 397.3000dp
+ 397.8708dp
+ 398.4417dp
+ 399.0125dp
+ 399.5833dp
+ 400.1542dp
+ 400.7250dp
+ 401.2958dp
+ 401.8667dp
+ 402.4375dp
+ 403.0083dp
+ 403.5792dp
+ 404.1500dp
+ 404.7208dp
+ 405.2917dp
+ 405.8625dp
+ 406.4333dp
+ 407.0042dp
+ 407.5750dp
+ 408.1458dp
+ 408.7167dp
+ 409.2875dp
+ 409.8583dp
+ 410.4292dp
+ 411.0000dp
+ 1.1417sp
+ 2.2833sp
+ 3.4250sp
+ 4.5667sp
+ 5.7083sp
+ 6.8500sp
+ 7.9917sp
+ 9.1333sp
+ 10.2750sp
+ 11.4167sp
+ 12.5583sp
+ 13.7000sp
+ 14.8417sp
+ 15.9833sp
+ 17.1250sp
+ 18.2667sp
+ 19.4083sp
+ 20.5500sp
+ 21.6917sp
+ 22.8333sp
+ 23.9750sp
+ 25.1167sp
+ 26.2583sp
+ 27.4000sp
+ 28.5417sp
+ 29.6833sp
+ 30.8250sp
+ 31.9667sp
+ 33.1083sp
+ 34.2500sp
+ 35.3917sp
+ 36.5333sp
+ 37.6750sp
+ 38.8167sp
+ 39.9583sp
+ 41.1000sp
+ 42.2417sp
+ 43.3833sp
+ 44.5250sp
+ 45.6667sp
+
diff --git a/BaseAndroidKt/src/main/res/values-sw432dp/dimens.xml b/BaseAndroidKt/src/main/res/values-sw432dp/dimens.xml
new file mode 100644
index 0000000..fefc228
--- /dev/null
+++ b/BaseAndroidKt/src/main/res/values-sw432dp/dimens.xml
@@ -0,0 +1,764 @@
+
+
+ 432.0000dp
+ 0.6000dp
+ 1.2000dp
+ 1.8000dp
+ 2.4000dp
+ 3.0000dp
+ 3.6000dp
+ 4.2000dp
+ 4.8000dp
+ 5.4000dp
+ 6.0000dp
+ 6.6000dp
+ 7.2000dp
+ 7.8000dp
+ 8.4000dp
+ 9.0000dp
+ 9.6000dp
+ 10.2000dp
+ 10.8000dp
+ 11.4000dp
+ 12.0000dp
+ 12.6000dp
+ 13.2000dp
+ 13.8000dp
+ 14.4000dp
+ 15.0000dp
+ 15.6000dp
+ 16.2000dp
+ 16.8000dp
+ 17.4000dp
+ 18.0000dp
+ 18.6000dp
+ 19.2000dp
+ 19.8000dp
+ 20.4000dp
+ 21.0000dp
+ 21.6000dp
+ 22.2000dp
+ 22.8000dp
+ 23.4000dp
+ 24.0000dp
+ 24.6000dp
+ 25.2000dp
+ 25.8000dp
+ 26.4000dp
+ 27.0000dp
+ 27.6000dp
+ 28.2000dp
+ 28.8000dp
+ 29.4000dp
+ 30.0000dp
+ 30.6000dp
+ 31.2000dp
+ 31.8000dp
+ 32.4000dp
+ 33.0000dp
+ 33.6000dp
+ 34.2000dp
+ 34.8000dp
+ 35.4000dp
+ 36.0000dp
+ 36.6000dp
+ 37.2000dp
+ 37.8000dp
+ 38.4000dp
+ 39.0000dp
+ 39.6000dp
+ 40.2000dp
+ 40.8000dp
+ 41.4000dp
+ 42.0000dp
+ 42.6000dp
+ 43.2000dp
+ 43.8000dp
+ 44.4000dp
+ 45.0000dp
+ 45.6000dp
+ 46.2000dp
+ 46.8000dp
+ 47.4000dp
+ 48.0000dp
+ 48.6000dp
+ 49.2000dp
+ 49.8000dp
+ 50.4000dp
+ 51.0000dp
+ 51.6000dp
+ 52.2000dp
+ 52.8000dp
+ 53.4000dp
+ 54.0000dp
+ 54.6000dp
+ 55.2000dp
+ 55.8000dp
+ 56.4000dp
+ 57.0000dp
+ 57.6000dp
+ 58.2000dp
+ 58.8000dp
+ 59.4000dp
+ 60.0000dp
+ 60.6000dp
+ 61.2000dp
+ 61.8000dp
+ 62.4000dp
+ 63.0000dp
+ 63.6000dp
+ 64.2000dp
+ 64.8000dp
+ 65.4000dp
+ 66.0000dp
+ 66.6000dp
+ 67.2000dp
+ 67.8000dp
+ 68.4000dp
+ 69.0000dp
+ 69.6000dp
+ 70.2000dp
+ 70.8000dp
+ 71.4000dp
+ 72.0000dp
+ 72.6000dp
+ 73.2000dp
+ 73.8000dp
+ 74.4000dp
+ 75.0000dp
+ 75.6000dp
+ 76.2000dp
+ 76.8000dp
+ 77.4000dp
+ 78.0000dp
+ 78.6000dp
+ 79.2000dp
+ 79.8000dp
+ 80.4000dp
+ 81.0000dp
+ 81.6000dp
+ 82.2000dp
+ 82.8000dp
+ 83.4000dp
+ 84.0000dp
+ 84.6000dp
+ 85.2000dp
+ 85.8000dp
+ 86.4000dp
+ 87.0000dp
+ 87.6000dp
+ 88.2000dp
+ 88.8000dp
+ 89.4000dp
+ 90.0000dp
+ 90.6000dp
+ 91.2000dp
+ 91.8000dp
+ 92.4000dp
+ 93.0000dp
+ 93.6000dp
+ 94.2000dp
+ 94.8000dp
+ 95.4000dp
+ 96.0000dp
+ 96.6000dp
+ 97.2000dp
+ 97.8000dp
+ 98.4000dp
+ 99.0000dp
+ 99.6000dp
+ 100.2000dp
+ 100.8000dp
+ 101.4000dp
+ 102.0000dp
+ 102.6000dp
+ 103.2000dp
+ 103.8000dp
+ 104.4000dp
+ 105.0000dp
+ 105.6000dp
+ 106.2000dp
+ 106.8000dp
+ 107.4000dp
+ 108.0000dp
+ 108.6000dp
+ 109.2000dp
+ 109.8000dp
+ 110.4000dp
+ 111.0000dp
+ 111.6000dp
+ 112.2000dp
+ 112.8000dp
+ 113.4000dp
+ 114.0000dp
+ 114.6000dp
+ 115.2000dp
+ 115.8000dp
+ 116.4000dp
+ 117.0000dp
+ 117.6000dp
+ 118.2000dp
+ 118.8000dp
+ 119.4000dp
+ 120.0000dp
+ 120.6000dp
+ 121.2000dp
+ 121.8000dp
+ 122.4000dp
+ 123.0000dp
+ 123.6000dp
+ 124.2000dp
+ 124.8000dp
+ 125.4000dp
+ 126.0000dp
+ 126.6000dp
+ 127.2000dp
+ 127.8000dp
+ 128.4000dp
+ 129.0000dp
+ 129.6000dp
+ 130.2000dp
+ 130.8000dp
+ 131.4000dp
+ 132.0000dp
+ 132.6000dp
+ 133.2000dp
+ 133.8000dp
+ 134.4000dp
+ 135.0000dp
+ 135.6000dp
+ 136.2000dp
+ 136.8000dp
+ 137.4000dp
+ 138.0000dp
+ 138.6000dp
+ 139.2000dp
+ 139.8000dp
+ 140.4000dp
+ 141.0000dp
+ 141.6000dp
+ 142.2000dp
+ 142.8000dp
+ 143.4000dp
+ 144.0000dp
+ 144.6000dp
+ 145.2000dp
+ 145.8000dp
+ 146.4000dp
+ 147.0000dp
+ 147.6000dp
+ 148.2000dp
+ 148.8000dp
+ 149.4000dp
+ 150.0000dp
+ 150.6000dp
+ 151.2000dp
+ 151.8000dp
+ 152.4000dp
+ 153.0000dp
+ 153.6000dp
+ 154.2000dp
+ 154.8000dp
+ 155.4000dp
+ 156.0000dp
+ 156.6000dp
+ 157.2000dp
+ 157.8000dp
+ 158.4000dp
+ 159.0000dp
+ 159.6000dp
+ 160.2000dp
+ 160.8000dp
+ 161.4000dp
+ 162.0000dp
+ 162.6000dp
+ 163.2000dp
+ 163.8000dp
+ 164.4000dp
+ 165.0000dp
+ 165.6000dp
+ 166.2000dp
+ 166.8000dp
+ 167.4000dp
+ 168.0000dp
+ 168.6000dp
+ 169.2000dp
+ 169.8000dp
+ 170.4000dp
+ 171.0000dp
+ 171.6000dp
+ 172.2000dp
+ 172.8000dp
+ 173.4000dp
+ 174.0000dp
+ 174.6000dp
+ 175.2000dp
+ 175.8000dp
+ 176.4000dp
+ 177.0000dp
+ 177.6000dp
+ 178.2000dp
+ 178.8000dp
+ 179.4000dp
+ 180.0000dp
+ 180.6000dp
+ 181.2000dp
+ 181.8000dp
+ 182.4000dp
+ 183.0000dp
+ 183.6000dp
+ 184.2000dp
+ 184.8000dp
+ 185.4000dp
+ 186.0000dp
+ 186.6000dp
+ 187.2000dp
+ 187.8000dp
+ 188.4000dp
+ 189.0000dp
+ 189.6000dp
+ 190.2000dp
+ 190.8000dp
+ 191.4000dp
+ 192.0000dp
+ 192.6000dp
+ 193.2000dp
+ 193.8000dp
+ 194.4000dp
+ 195.0000dp
+ 195.6000dp
+ 196.2000dp
+ 196.8000dp
+ 197.4000dp
+ 198.0000dp
+ 198.6000dp
+ 199.2000dp
+ 199.8000dp
+ 200.4000dp
+ 201.0000dp
+ 201.6000dp
+ 202.2000dp
+ 202.8000dp
+ 203.4000dp
+ 204.0000dp
+ 204.6000dp
+ 205.2000dp
+ 205.8000dp
+ 206.4000dp
+ 207.0000dp
+ 207.6000dp
+ 208.2000dp
+ 208.8000dp
+ 209.4000dp
+ 210.0000dp
+ 210.6000dp
+ 211.2000dp
+ 211.8000dp
+ 212.4000dp
+ 213.0000dp
+ 213.6000dp
+ 214.2000dp
+ 214.8000dp
+ 215.4000dp
+ 216.0000dp
+ 216.6000dp
+ 217.2000dp
+ 217.8000dp
+ 218.4000dp
+ 219.0000dp
+ 219.6000dp
+ 220.2000dp
+ 220.8000dp
+ 221.4000dp
+ 222.0000dp
+ 222.6000dp
+ 223.2000dp
+ 223.8000dp
+ 224.4000dp
+ 225.0000dp
+ 225.6000dp
+ 226.2000dp
+ 226.8000dp
+ 227.4000dp
+ 228.0000dp
+ 228.6000dp
+ 229.2000dp
+ 229.8000dp
+ 230.4000dp
+ 231.0000dp
+ 231.6000dp
+ 232.2000dp
+ 232.8000dp
+ 233.4000dp
+ 234.0000dp
+ 234.6000dp
+ 235.2000dp
+ 235.8000dp
+ 236.4000dp
+ 237.0000dp
+ 237.6000dp
+ 238.2000dp
+ 238.8000dp
+ 239.4000dp
+ 240.0000dp
+ 240.6000dp
+ 241.2000dp
+ 241.8000dp
+ 242.4000dp
+ 243.0000dp
+ 243.6000dp
+ 244.2000dp
+ 244.8000dp
+ 245.4000dp
+ 246.0000dp
+ 246.6000dp
+ 247.2000dp
+ 247.8000dp
+ 248.4000dp
+ 249.0000dp
+ 249.6000dp
+ 250.2000dp
+ 250.8000dp
+ 251.4000dp
+ 252.0000dp
+ 252.6000dp
+ 253.2000dp
+ 253.8000dp
+ 254.4000dp
+ 255.0000dp
+ 255.6000dp
+ 256.2000dp
+ 256.8000dp
+ 257.4000dp
+ 258.0000dp
+ 258.6000dp
+ 259.2000dp
+ 259.8000dp
+ 260.4000dp
+ 261.0000dp
+ 261.6000dp
+ 262.2000dp
+ 262.8000dp
+ 263.4000dp
+ 264.0000dp
+ 264.6000dp
+ 265.2000dp
+ 265.8000dp
+ 266.4000dp
+ 267.0000dp
+ 267.6000dp
+ 268.2000dp
+ 268.8000dp
+ 269.4000dp
+ 270.0000dp
+ 270.6000dp
+ 271.2000dp
+ 271.8000dp
+ 272.4000dp
+ 273.0000dp
+ 273.6000dp
+ 274.2000dp
+ 274.8000dp
+ 275.4000dp
+ 276.0000dp
+ 276.6000dp
+ 277.2000dp
+ 277.8000dp
+ 278.4000dp
+ 279.0000dp
+ 279.6000dp
+ 280.2000dp
+ 280.8000dp
+ 281.4000dp
+ 282.0000dp
+ 282.6000dp
+ 283.2000dp
+ 283.8000dp
+ 284.4000dp
+ 285.0000dp
+ 285.6000dp
+ 286.2000dp
+ 286.8000dp
+ 287.4000dp
+ 288.0000dp
+ 288.6000dp
+ 289.2000dp
+ 289.8000dp
+ 290.4000dp
+ 291.0000dp
+ 291.6000dp
+ 292.2000dp
+ 292.8000dp
+ 293.4000dp
+ 294.0000dp
+ 294.6000dp
+ 295.2000dp
+ 295.8000dp
+ 296.4000dp
+ 297.0000dp
+ 297.6000dp
+ 298.2000dp
+ 298.8000dp
+ 299.4000dp
+ 300.0000dp
+ 300.6000dp
+ 301.2000dp
+ 301.8000dp
+ 302.4000dp
+ 303.0000dp
+ 303.6000dp
+ 304.2000dp
+ 304.8000dp
+ 305.4000dp
+ 306.0000dp
+ 306.6000dp
+ 307.2000dp
+ 307.8000dp
+ 308.4000dp
+ 309.0000dp
+ 309.6000dp
+ 310.2000dp
+ 310.8000dp
+ 311.4000dp
+ 312.0000dp
+ 312.6000dp
+ 313.2000dp
+ 313.8000dp
+ 314.4000dp
+ 315.0000dp
+ 315.6000dp
+ 316.2000dp
+ 316.8000dp
+ 317.4000dp
+ 318.0000dp
+ 318.6000dp
+ 319.2000dp
+ 319.8000dp
+ 320.4000dp
+ 321.0000dp
+ 321.6000dp
+ 322.2000dp
+ 322.8000dp
+ 323.4000dp
+ 324.0000dp
+ 324.6000dp
+ 325.2000dp
+ 325.8000dp
+ 326.4000dp
+ 327.0000dp
+ 327.6000dp
+ 328.2000dp
+ 328.8000dp
+ 329.4000dp
+ 330.0000dp
+ 330.6000dp
+ 331.2000dp
+ 331.8000dp
+ 332.4000dp
+ 333.0000dp
+ 333.6000dp
+ 334.2000dp
+ 334.8000dp
+ 335.4000dp
+ 336.0000dp
+ 336.6000dp
+ 337.2000dp
+ 337.8000dp
+ 338.4000dp
+ 339.0000dp
+ 339.6000dp
+ 340.2000dp
+ 340.8000dp
+ 341.4000dp
+ 342.0000dp
+ 342.6000dp
+ 343.2000dp
+ 343.8000dp
+ 344.4000dp
+ 345.0000dp
+ 345.6000dp
+ 346.2000dp
+ 346.8000dp
+ 347.4000dp
+ 348.0000dp
+ 348.6000dp
+ 349.2000dp
+ 349.8000dp
+ 350.4000dp
+ 351.0000dp
+ 351.6000dp
+ 352.2000dp
+ 352.8000dp
+ 353.4000dp
+ 354.0000dp
+ 354.6000dp
+ 355.2000dp
+ 355.8000dp
+ 356.4000dp
+ 357.0000dp
+ 357.6000dp
+ 358.2000dp
+ 358.8000dp
+ 359.4000dp
+ 360.0000dp
+ 360.6000dp
+ 361.2000dp
+ 361.8000dp
+ 362.4000dp
+ 363.0000dp
+ 363.6000dp
+ 364.2000dp
+ 364.8000dp
+ 365.4000dp
+ 366.0000dp
+ 366.6000dp
+ 367.2000dp
+ 367.8000dp
+ 368.4000dp
+ 369.0000dp
+ 369.6000dp
+ 370.2000dp
+ 370.8000dp
+ 371.4000dp
+ 372.0000dp
+ 372.6000dp
+ 373.2000dp
+ 373.8000dp
+ 374.4000dp
+ 375.0000dp
+ 375.6000dp
+ 376.2000dp
+ 376.8000dp
+ 377.4000dp
+ 378.0000dp
+ 378.6000dp
+ 379.2000dp
+ 379.8000dp
+ 380.4000dp
+ 381.0000dp
+ 381.6000dp
+ 382.2000dp
+ 382.8000dp
+ 383.4000dp
+ 384.0000dp
+ 384.6000dp
+ 385.2000dp
+ 385.8000dp
+ 386.4000dp
+ 387.0000dp
+ 387.6000dp
+ 388.2000dp
+ 388.8000dp
+ 389.4000dp
+ 390.0000dp
+ 390.6000dp
+ 391.2000dp
+ 391.8000dp
+ 392.4000dp
+ 393.0000dp
+ 393.6000dp
+ 394.2000dp
+ 394.8000dp
+ 395.4000dp
+ 396.0000dp
+ 396.6000dp
+ 397.2000dp
+ 397.8000dp
+ 398.4000dp
+ 399.0000dp
+ 399.6000dp
+ 400.2000dp
+ 400.8000dp
+ 401.4000dp
+ 402.0000dp
+ 402.6000dp
+ 403.2000dp
+ 403.8000dp
+ 404.4000dp
+ 405.0000dp
+ 405.6000dp
+ 406.2000dp
+ 406.8000dp
+ 407.4000dp
+ 408.0000dp
+ 408.6000dp
+ 409.2000dp
+ 409.8000dp
+ 410.4000dp
+ 411.0000dp
+ 411.6000dp
+ 412.2000dp
+ 412.8000dp
+ 413.4000dp
+ 414.0000dp
+ 414.6000dp
+ 415.2000dp
+ 415.8000dp
+ 416.4000dp
+ 417.0000dp
+ 417.6000dp
+ 418.2000dp
+ 418.8000dp
+ 419.4000dp
+ 420.0000dp
+ 420.6000dp
+ 421.2000dp
+ 421.8000dp
+ 422.4000dp
+ 423.0000dp
+ 423.6000dp
+ 424.2000dp
+ 424.8000dp
+ 425.4000dp
+ 426.0000dp
+ 426.6000dp
+ 427.2000dp
+ 427.8000dp
+ 428.4000dp
+ 429.0000dp
+ 429.6000dp
+ 430.2000dp
+ 430.8000dp
+ 431.4000dp
+ 432.0000dp
+ 1.2000sp
+ 2.4000sp
+ 3.6000sp
+ 4.8000sp
+ 6.0000sp
+ 7.2000sp
+ 8.4000sp
+ 9.6000sp
+ 10.8000sp
+ 12.0000sp
+ 13.2000sp
+ 14.4000sp
+ 15.6000sp
+ 16.8000sp
+ 18.0000sp
+ 19.2000sp
+ 20.4000sp
+ 21.6000sp
+ 22.8000sp
+ 24.0000sp
+ 25.2000sp
+ 26.4000sp
+ 27.6000sp
+ 28.8000sp
+ 30.0000sp
+ 31.2000sp
+ 32.4000sp
+ 33.6000sp
+ 34.8000sp
+ 36.0000sp
+ 37.2000sp
+ 38.4000sp
+ 39.6000sp
+ 40.8000sp
+ 42.0000sp
+ 43.2000sp
+ 44.4000sp
+ 45.6000sp
+ 46.8000sp
+ 48.0000sp
+
diff --git a/BaseAndroidKt/src/main/res/values-sw480dp/dimens.xml b/BaseAndroidKt/src/main/res/values-sw480dp/dimens.xml
new file mode 100644
index 0000000..c31215e
--- /dev/null
+++ b/BaseAndroidKt/src/main/res/values-sw480dp/dimens.xml
@@ -0,0 +1,764 @@
+
+
+ 480.0000dp
+ 0.6667dp
+ 1.3333dp
+ 2.0000dp
+ 2.6667dp
+ 3.3333dp
+ 4.0000dp
+ 4.6667dp
+ 5.3333dp
+ 6.0000dp
+ 6.6667dp
+ 7.3333dp
+ 8.0000dp
+ 8.6667dp
+ 9.3333dp
+ 10.0000dp
+ 10.6667dp
+ 11.3333dp
+ 12.0000dp
+ 12.6667dp
+ 13.3333dp
+ 14.0000dp
+ 14.6667dp
+ 15.3333dp
+ 16.0000dp
+ 16.6667dp
+ 17.3333dp
+ 18.0000dp
+ 18.6667dp
+ 19.3333dp
+ 20.0000dp
+ 20.6667dp
+ 21.3333dp
+ 22.0000dp
+ 22.6667dp
+ 23.3333dp
+ 24.0000dp
+ 24.6667dp
+ 25.3333dp
+ 26.0000dp
+ 26.6667dp
+ 27.3333dp
+ 28.0000dp
+ 28.6667dp
+ 29.3333dp
+ 30.0000dp
+ 30.6667dp
+ 31.3333dp
+ 32.0000dp
+ 32.6667dp
+ 33.3333dp
+ 34.0000dp
+ 34.6667dp
+ 35.3333dp
+ 36.0000dp
+ 36.6667dp
+ 37.3333dp
+ 38.0000dp
+ 38.6667dp
+ 39.3333dp
+ 40.0000dp
+ 40.6667dp
+ 41.3333dp
+ 42.0000dp
+ 42.6667dp
+ 43.3333dp
+ 44.0000dp
+ 44.6667dp
+ 45.3333dp
+ 46.0000dp
+ 46.6667dp
+ 47.3333dp
+ 48.0000dp
+ 48.6667dp
+ 49.3333dp
+ 50.0000dp
+ 50.6667dp
+ 51.3333dp
+ 52.0000dp
+ 52.6667dp
+ 53.3333dp
+ 54.0000dp
+ 54.6667dp
+ 55.3333dp
+ 56.0000dp
+ 56.6667dp
+ 57.3333dp
+ 58.0000dp
+ 58.6667dp
+ 59.3333dp
+ 60.0000dp
+ 60.6667dp
+ 61.3333dp
+ 62.0000dp
+ 62.6667dp
+ 63.3333dp
+ 64.0000dp
+ 64.6667dp
+ 65.3333dp
+ 66.0000dp
+ 66.6667dp
+ 67.3333dp
+ 68.0000dp
+ 68.6667dp
+ 69.3333dp
+ 70.0000dp
+ 70.6667dp
+ 71.3333dp
+ 72.0000dp
+ 72.6667dp
+ 73.3333dp
+ 74.0000dp
+ 74.6667dp
+ 75.3333dp
+ 76.0000dp
+ 76.6667dp
+ 77.3333dp
+ 78.0000dp
+ 78.6667dp
+ 79.3333dp
+ 80.0000dp
+ 80.6667dp
+ 81.3333dp
+ 82.0000dp
+ 82.6667dp
+ 83.3333dp
+ 84.0000dp
+ 84.6667dp
+ 85.3333dp
+ 86.0000dp
+ 86.6667dp
+ 87.3333dp
+ 88.0000dp
+ 88.6667dp
+ 89.3333dp
+ 90.0000dp
+ 90.6667dp
+ 91.3333dp
+ 92.0000dp
+ 92.6667dp
+ 93.3333dp
+ 94.0000dp
+ 94.6667dp
+ 95.3333dp
+ 96.0000dp
+ 96.6667dp
+ 97.3333dp
+ 98.0000dp
+ 98.6667dp
+ 99.3333dp
+ 100.0000dp
+ 100.6667dp
+ 101.3333dp
+ 102.0000dp
+ 102.6667dp
+ 103.3333dp
+ 104.0000dp
+ 104.6667dp
+ 105.3333dp
+ 106.0000dp
+ 106.6667dp
+ 107.3333dp
+ 108.0000dp
+ 108.6667dp
+ 109.3333dp
+ 110.0000dp
+ 110.6667dp
+ 111.3333dp
+ 112.0000dp
+ 112.6667dp
+ 113.3333dp
+ 114.0000dp
+ 114.6667dp
+ 115.3333dp
+ 116.0000dp
+ 116.6667dp
+ 117.3333dp
+ 118.0000dp
+ 118.6667dp
+ 119.3333dp
+ 120.0000dp
+ 120.6667dp
+ 121.3333dp
+ 122.0000dp
+ 122.6667dp
+ 123.3333dp
+ 124.0000dp
+ 124.6667dp
+ 125.3333dp
+ 126.0000dp
+ 126.6667dp
+ 127.3333dp
+ 128.0000dp
+ 128.6667dp
+ 129.3333dp
+ 130.0000dp
+ 130.6667dp
+ 131.3333dp
+ 132.0000dp
+ 132.6667dp
+ 133.3333dp
+ 134.0000dp
+ 134.6667dp
+ 135.3333dp
+ 136.0000dp
+ 136.6667dp
+ 137.3333dp
+ 138.0000dp
+ 138.6667dp
+ 139.3333dp
+ 140.0000dp
+ 140.6667dp
+ 141.3333dp
+ 142.0000dp
+ 142.6667dp
+ 143.3333dp
+ 144.0000dp
+ 144.6667dp
+ 145.3333dp
+ 146.0000dp
+ 146.6667dp
+ 147.3333dp
+ 148.0000dp
+ 148.6667dp
+ 149.3333dp
+ 150.0000dp
+ 150.6667dp
+ 151.3333dp
+ 152.0000dp
+ 152.6667dp
+ 153.3333dp
+ 154.0000dp
+ 154.6667dp
+ 155.3333dp
+ 156.0000dp
+ 156.6667dp
+ 157.3333dp
+ 158.0000dp
+ 158.6667dp
+ 159.3333dp
+ 160.0000dp
+ 160.6667dp
+ 161.3333dp
+ 162.0000dp
+ 162.6667dp
+ 163.3333dp
+ 164.0000dp
+ 164.6667dp
+ 165.3333dp
+ 166.0000dp
+ 166.6667dp
+ 167.3333dp
+ 168.0000dp
+ 168.6667dp
+ 169.3333dp
+ 170.0000dp
+ 170.6667dp
+ 171.3333dp
+ 172.0000dp
+ 172.6667dp
+ 173.3333dp
+ 174.0000dp
+ 174.6667dp
+ 175.3333dp
+ 176.0000dp
+ 176.6667dp
+ 177.3333dp
+ 178.0000dp
+ 178.6667dp
+ 179.3333dp
+ 180.0000dp
+ 180.6667dp
+ 181.3333dp
+ 182.0000dp
+ 182.6667dp
+ 183.3333dp
+ 184.0000dp
+ 184.6667dp
+ 185.3333dp
+ 186.0000dp
+ 186.6667dp
+ 187.3333dp
+ 188.0000dp
+ 188.6667dp
+ 189.3333dp
+ 190.0000dp
+ 190.6667dp
+ 191.3333dp
+ 192.0000dp
+ 192.6667dp
+ 193.3333dp
+ 194.0000dp
+ 194.6667dp
+ 195.3333dp
+ 196.0000dp
+ 196.6667dp
+ 197.3333dp
+ 198.0000dp
+ 198.6667dp
+ 199.3333dp
+ 200.0000dp
+ 200.6667dp
+ 201.3333dp
+ 202.0000dp
+ 202.6667dp
+ 203.3333dp
+ 204.0000dp
+ 204.6667dp
+ 205.3333dp
+ 206.0000dp
+ 206.6667dp
+ 207.3333dp
+ 208.0000dp
+ 208.6667dp
+ 209.3333dp
+ 210.0000dp
+ 210.6667dp
+ 211.3333dp
+ 212.0000dp
+ 212.6667dp
+ 213.3333dp
+ 214.0000dp
+ 214.6667dp
+ 215.3333dp
+ 216.0000dp
+ 216.6667dp
+ 217.3333dp
+ 218.0000dp
+ 218.6667dp
+ 219.3333dp
+ 220.0000dp
+ 220.6667dp
+ 221.3333dp
+ 222.0000dp
+ 222.6667dp
+ 223.3333dp
+ 224.0000dp
+ 224.6667dp
+ 225.3333dp
+ 226.0000dp
+ 226.6667dp
+ 227.3333dp
+ 228.0000dp
+ 228.6667dp
+ 229.3333dp
+ 230.0000dp
+ 230.6667dp
+ 231.3333dp
+ 232.0000dp
+ 232.6667dp
+ 233.3333dp
+ 234.0000dp
+ 234.6667dp
+ 235.3333dp
+ 236.0000dp
+ 236.6667dp
+ 237.3333dp
+ 238.0000dp
+ 238.6667dp
+ 239.3333dp
+ 240.0000dp
+ 240.6667dp
+ 241.3333dp
+ 242.0000dp
+ 242.6667dp
+ 243.3333dp
+ 244.0000dp
+ 244.6667dp
+ 245.3333dp
+ 246.0000dp
+ 246.6667dp
+ 247.3333dp
+ 248.0000dp
+ 248.6667dp
+ 249.3333dp
+ 250.0000dp
+ 250.6667dp
+ 251.3333dp
+ 252.0000dp
+ 252.6667dp
+ 253.3333dp
+ 254.0000dp
+ 254.6667dp
+ 255.3333dp
+ 256.0000dp
+ 256.6667dp
+ 257.3333dp
+ 258.0000dp
+ 258.6667dp
+ 259.3333dp
+ 260.0000dp
+ 260.6667dp
+ 261.3333dp
+ 262.0000dp
+ 262.6667dp
+ 263.3333dp
+ 264.0000dp
+ 264.6667dp
+ 265.3333dp
+ 266.0000dp
+ 266.6667dp
+ 267.3333dp
+ 268.0000dp
+ 268.6667dp
+ 269.3333dp
+ 270.0000dp
+ 270.6667dp
+ 271.3333dp
+ 272.0000dp
+ 272.6667dp
+ 273.3333dp
+ 274.0000dp
+ 274.6667dp
+ 275.3333dp
+ 276.0000dp
+ 276.6667dp
+ 277.3333dp
+ 278.0000dp
+ 278.6667dp
+ 279.3333dp
+ 280.0000dp
+ 280.6667dp
+ 281.3333dp
+ 282.0000dp
+ 282.6667dp
+ 283.3333dp
+ 284.0000dp
+ 284.6667dp
+ 285.3333dp
+ 286.0000dp
+ 286.6667dp
+ 287.3333dp
+ 288.0000dp
+ 288.6667dp
+ 289.3333dp
+ 290.0000dp
+ 290.6667dp
+ 291.3333dp
+ 292.0000dp
+ 292.6667dp
+ 293.3333dp
+ 294.0000dp
+ 294.6667dp
+ 295.3333dp
+ 296.0000dp
+ 296.6667dp
+ 297.3333dp
+ 298.0000dp
+ 298.6667dp
+ 299.3333dp
+ 300.0000dp
+ 300.6667dp
+ 301.3333dp
+ 302.0000dp
+ 302.6667dp
+ 303.3333dp
+ 304.0000dp
+ 304.6667dp
+ 305.3333dp
+ 306.0000dp
+ 306.6667dp
+ 307.3333dp
+ 308.0000dp
+ 308.6667dp
+ 309.3333dp
+ 310.0000dp
+ 310.6667dp
+ 311.3333dp
+ 312.0000dp
+ 312.6667dp
+ 313.3333dp
+ 314.0000dp
+ 314.6667dp
+ 315.3333dp
+ 316.0000dp
+ 316.6667dp
+ 317.3333dp
+ 318.0000dp
+ 318.6667dp
+ 319.3333dp
+ 320.0000dp
+ 320.6667dp
+ 321.3333dp
+ 322.0000dp
+ 322.6667dp
+ 323.3333dp
+ 324.0000dp
+ 324.6667dp
+ 325.3333dp
+ 326.0000dp
+ 326.6667dp
+ 327.3333dp
+ 328.0000dp
+ 328.6667dp
+ 329.3333dp
+ 330.0000dp
+ 330.6667dp
+ 331.3333dp
+ 332.0000dp
+ 332.6667dp
+ 333.3333dp
+ 334.0000dp
+ 334.6667dp
+ 335.3333dp
+ 336.0000dp
+ 336.6667dp
+ 337.3333dp
+ 338.0000dp
+ 338.6667dp
+ 339.3333dp
+ 340.0000dp
+ 340.6667dp
+ 341.3333dp
+ 342.0000dp
+ 342.6667dp
+ 343.3333dp
+ 344.0000dp
+ 344.6667dp
+ 345.3333dp
+ 346.0000dp
+ 346.6667dp
+ 347.3333dp
+ 348.0000dp
+ 348.6667dp
+ 349.3333dp
+ 350.0000dp
+ 350.6667dp
+ 351.3333dp
+ 352.0000dp
+ 352.6667dp
+ 353.3333dp
+ 354.0000dp
+ 354.6667dp
+ 355.3333dp
+ 356.0000dp
+ 356.6667dp
+ 357.3333dp
+ 358.0000dp
+ 358.6667dp
+ 359.3333dp
+ 360.0000dp
+ 360.6667dp
+ 361.3333dp
+ 362.0000dp
+ 362.6667dp
+ 363.3333dp
+ 364.0000dp
+ 364.6667dp
+ 365.3333dp
+ 366.0000dp
+ 366.6667dp
+ 367.3333dp
+ 368.0000dp
+ 368.6667dp
+ 369.3333dp
+ 370.0000dp
+ 370.6667dp
+ 371.3333dp
+ 372.0000dp
+ 372.6667dp
+ 373.3333dp
+ 374.0000dp
+ 374.6667dp
+ 375.3333dp
+ 376.0000dp
+ 376.6667dp
+ 377.3333dp
+ 378.0000dp
+ 378.6667dp
+ 379.3333dp
+ 380.0000dp
+ 380.6667dp
+ 381.3333dp
+ 382.0000dp
+ 382.6667dp
+ 383.3333dp
+ 384.0000dp
+ 384.6667dp
+ 385.3333dp
+ 386.0000dp
+ 386.6667dp
+ 387.3333dp
+ 388.0000dp
+ 388.6667dp
+ 389.3333dp
+ 390.0000dp
+ 390.6667dp
+ 391.3333dp
+ 392.0000dp
+ 392.6667dp
+ 393.3333dp
+ 394.0000dp
+ 394.6667dp
+ 395.3333dp
+ 396.0000dp
+ 396.6667dp
+ 397.3333dp
+ 398.0000dp
+ 398.6667dp
+ 399.3333dp
+ 400.0000dp
+ 400.6667dp
+ 401.3333dp
+ 402.0000dp
+ 402.6667dp
+ 403.3333dp
+ 404.0000dp
+ 404.6667dp
+ 405.3333dp
+ 406.0000dp
+ 406.6667dp
+ 407.3333dp
+ 408.0000dp
+ 408.6667dp
+ 409.3333dp
+ 410.0000dp
+ 410.6667dp
+ 411.3333dp
+ 412.0000dp
+ 412.6667dp
+ 413.3333dp
+ 414.0000dp
+ 414.6667dp
+ 415.3333dp
+ 416.0000dp
+ 416.6667dp
+ 417.3333dp
+ 418.0000dp
+ 418.6667dp
+ 419.3333dp
+ 420.0000dp
+ 420.6667dp
+ 421.3333dp
+ 422.0000dp
+ 422.6667dp
+ 423.3333dp
+ 424.0000dp
+ 424.6667dp
+ 425.3333dp
+ 426.0000dp
+ 426.6667dp
+ 427.3333dp
+ 428.0000dp
+ 428.6667dp
+ 429.3333dp
+ 430.0000dp
+ 430.6667dp
+ 431.3333dp
+ 432.0000dp
+ 432.6667dp
+ 433.3333dp
+ 434.0000dp
+ 434.6667dp
+ 435.3333dp
+ 436.0000dp
+ 436.6667dp
+ 437.3333dp
+ 438.0000dp
+ 438.6667dp
+ 439.3333dp
+ 440.0000dp
+ 440.6667dp
+ 441.3333dp
+ 442.0000dp
+ 442.6667dp
+ 443.3333dp
+ 444.0000dp
+ 444.6667dp
+ 445.3333dp
+ 446.0000dp
+ 446.6667dp
+ 447.3333dp
+ 448.0000dp
+ 448.6667dp
+ 449.3333dp
+ 450.0000dp
+ 450.6667dp
+ 451.3333dp
+ 452.0000dp
+ 452.6667dp
+ 453.3333dp
+ 454.0000dp
+ 454.6667dp
+ 455.3333dp
+ 456.0000dp
+ 456.6667dp
+ 457.3333dp
+ 458.0000dp
+ 458.6667dp
+ 459.3333dp
+ 460.0000dp
+ 460.6667dp
+ 461.3333dp
+ 462.0000dp
+ 462.6667dp
+ 463.3333dp
+ 464.0000dp
+ 464.6667dp
+ 465.3333dp
+ 466.0000dp
+ 466.6667dp
+ 467.3333dp
+ 468.0000dp
+ 468.6667dp
+ 469.3333dp
+ 470.0000dp
+ 470.6667dp
+ 471.3333dp
+ 472.0000dp
+ 472.6667dp
+ 473.3333dp
+ 474.0000dp
+ 474.6667dp
+ 475.3333dp
+ 476.0000dp
+ 476.6667dp
+ 477.3333dp
+ 478.0000dp
+ 478.6667dp
+ 479.3333dp
+ 480.0000dp
+ 1.3333sp
+ 2.6667sp
+ 4.0000sp
+ 5.3333sp
+ 6.6667sp
+ 8.0000sp
+ 9.3333sp
+ 10.6667sp
+ 12.0000sp
+ 13.3333sp
+ 14.6667sp
+ 16.0000sp
+ 17.3333sp
+ 18.6667sp
+ 20.0000sp
+ 21.3333sp
+ 22.6667sp
+ 24.0000sp
+ 25.3333sp
+ 26.6667sp
+ 28.0000sp
+ 29.3333sp
+ 30.6667sp
+ 32.0000sp
+ 33.3333sp
+ 34.6667sp
+ 36.0000sp
+ 37.3333sp
+ 38.6667sp
+ 40.0000sp
+ 41.3333sp
+ 42.6667sp
+ 44.0000sp
+ 45.3333sp
+ 46.6667sp
+ 48.0000sp
+ 49.3333sp
+ 50.6667sp
+ 52.0000sp
+ 53.3333sp
+
diff --git a/BaseAndroidKt/src/main/res/values-sw533dp/dimens.xml b/BaseAndroidKt/src/main/res/values-sw533dp/dimens.xml
new file mode 100644
index 0000000..944ce3d
--- /dev/null
+++ b/BaseAndroidKt/src/main/res/values-sw533dp/dimens.xml
@@ -0,0 +1,764 @@
+
+
+ 533.0000dp
+ 0.7403dp
+ 1.4806dp
+ 2.2208dp
+ 2.9611dp
+ 3.7014dp
+ 4.4417dp
+ 5.1819dp
+ 5.9222dp
+ 6.6625dp
+ 7.4028dp
+ 8.1431dp
+ 8.8833dp
+ 9.6236dp
+ 10.3639dp
+ 11.1042dp
+ 11.8444dp
+ 12.5847dp
+ 13.3250dp
+ 14.0653dp
+ 14.8056dp
+ 15.5458dp
+ 16.2861dp
+ 17.0264dp
+ 17.7667dp
+ 18.5069dp
+ 19.2472dp
+ 19.9875dp
+ 20.7278dp
+ 21.4681dp
+ 22.2083dp
+ 22.9486dp
+ 23.6889dp
+ 24.4292dp
+ 25.1694dp
+ 25.9097dp
+ 26.6500dp
+ 27.3903dp
+ 28.1306dp
+ 28.8708dp
+ 29.6111dp
+ 30.3514dp
+ 31.0917dp
+ 31.8319dp
+ 32.5722dp
+ 33.3125dp
+ 34.0528dp
+ 34.7931dp
+ 35.5333dp
+ 36.2736dp
+ 37.0139dp
+ 37.7542dp
+ 38.4944dp
+ 39.2347dp
+ 39.9750dp
+ 40.7153dp
+ 41.4556dp
+ 42.1958dp
+ 42.9361dp
+ 43.6764dp
+ 44.4167dp
+ 45.1569dp
+ 45.8972dp
+ 46.6375dp
+ 47.3778dp
+ 48.1181dp
+ 48.8583dp
+ 49.5986dp
+ 50.3389dp
+ 51.0792dp
+ 51.8194dp
+ 52.5597dp
+ 53.3000dp
+ 54.0403dp
+ 54.7806dp
+ 55.5208dp
+ 56.2611dp
+ 57.0014dp
+ 57.7417dp
+ 58.4819dp
+ 59.2222dp
+ 59.9625dp
+ 60.7028dp
+ 61.4431dp
+ 62.1833dp
+ 62.9236dp
+ 63.6639dp
+ 64.4042dp
+ 65.1444dp
+ 65.8847dp
+ 66.6250dp
+ 67.3653dp
+ 68.1056dp
+ 68.8458dp
+ 69.5861dp
+ 70.3264dp
+ 71.0667dp
+ 71.8069dp
+ 72.5472dp
+ 73.2875dp
+ 74.0278dp
+ 74.7681dp
+ 75.5083dp
+ 76.2486dp
+ 76.9889dp
+ 77.7292dp
+ 78.4694dp
+ 79.2097dp
+ 79.9500dp
+ 80.6903dp
+ 81.4306dp
+ 82.1708dp
+ 82.9111dp
+ 83.6514dp
+ 84.3917dp
+ 85.1319dp
+ 85.8722dp
+ 86.6125dp
+ 87.3528dp
+ 88.0931dp
+ 88.8333dp
+ 89.5736dp
+ 90.3139dp
+ 91.0542dp
+ 91.7944dp
+ 92.5347dp
+ 93.2750dp
+ 94.0153dp
+ 94.7556dp
+ 95.4958dp
+ 96.2361dp
+ 96.9764dp
+ 97.7167dp
+ 98.4569dp
+ 99.1972dp
+ 99.9375dp
+ 100.6778dp
+ 101.4181dp
+ 102.1583dp
+ 102.8986dp
+ 103.6389dp
+ 104.3792dp
+ 105.1194dp
+ 105.8597dp
+ 106.6000dp
+ 107.3403dp
+ 108.0806dp
+ 108.8208dp
+ 109.5611dp
+ 110.3014dp
+ 111.0417dp
+ 111.7819dp
+ 112.5222dp
+ 113.2625dp
+ 114.0028dp
+ 114.7431dp
+ 115.4833dp
+ 116.2236dp
+ 116.9639dp
+ 117.7042dp
+ 118.4444dp
+ 119.1847dp
+ 119.9250dp
+ 120.6653dp
+ 121.4056dp
+ 122.1458dp
+ 122.8861dp
+ 123.6264dp
+ 124.3667dp
+ 125.1069dp
+ 125.8472dp
+ 126.5875dp
+ 127.3278dp
+ 128.0681dp
+ 128.8083dp
+ 129.5486dp
+ 130.2889dp
+ 131.0292dp
+ 131.7694dp
+ 132.5097dp
+ 133.2500dp
+ 133.9903dp
+ 134.7306dp
+ 135.4708dp
+ 136.2111dp
+ 136.9514dp
+ 137.6917dp
+ 138.4319dp
+ 139.1722dp
+ 139.9125dp
+ 140.6528dp
+ 141.3931dp
+ 142.1333dp
+ 142.8736dp
+ 143.6139dp
+ 144.3542dp
+ 145.0944dp
+ 145.8347dp
+ 146.5750dp
+ 147.3153dp
+ 148.0556dp
+ 148.7958dp
+ 149.5361dp
+ 150.2764dp
+ 151.0167dp
+ 151.7569dp
+ 152.4972dp
+ 153.2375dp
+ 153.9778dp
+ 154.7181dp
+ 155.4583dp
+ 156.1986dp
+ 156.9389dp
+ 157.6792dp
+ 158.4194dp
+ 159.1597dp
+ 159.9000dp
+ 160.6403dp
+ 161.3806dp
+ 162.1208dp
+ 162.8611dp
+ 163.6014dp
+ 164.3417dp
+ 165.0819dp
+ 165.8222dp
+ 166.5625dp
+ 167.3028dp
+ 168.0431dp
+ 168.7833dp
+ 169.5236dp
+ 170.2639dp
+ 171.0042dp
+ 171.7444dp
+ 172.4847dp
+ 173.2250dp
+ 173.9653dp
+ 174.7056dp
+ 175.4458dp
+ 176.1861dp
+ 176.9264dp
+ 177.6667dp
+ 178.4069dp
+ 179.1472dp
+ 179.8875dp
+ 180.6278dp
+ 181.3681dp
+ 182.1083dp
+ 182.8486dp
+ 183.5889dp
+ 184.3292dp
+ 185.0694dp
+ 185.8097dp
+ 186.5500dp
+ 187.2903dp
+ 188.0306dp
+ 188.7708dp
+ 189.5111dp
+ 190.2514dp
+ 190.9917dp
+ 191.7319dp
+ 192.4722dp
+ 193.2125dp
+ 193.9528dp
+ 194.6931dp
+ 195.4333dp
+ 196.1736dp
+ 196.9139dp
+ 197.6542dp
+ 198.3944dp
+ 199.1347dp
+ 199.8750dp
+ 200.6153dp
+ 201.3556dp
+ 202.0958dp
+ 202.8361dp
+ 203.5764dp
+ 204.3167dp
+ 205.0569dp
+ 205.7972dp
+ 206.5375dp
+ 207.2778dp
+ 208.0181dp
+ 208.7583dp
+ 209.4986dp
+ 210.2389dp
+ 210.9792dp
+ 211.7194dp
+ 212.4597dp
+ 213.2000dp
+ 213.9403dp
+ 214.6806dp
+ 215.4208dp
+ 216.1611dp
+ 216.9014dp
+ 217.6417dp
+ 218.3819dp
+ 219.1222dp
+ 219.8625dp
+ 220.6028dp
+ 221.3431dp
+ 222.0833dp
+ 222.8236dp
+ 223.5639dp
+ 224.3042dp
+ 225.0444dp
+ 225.7847dp
+ 226.5250dp
+ 227.2653dp
+ 228.0056dp
+ 228.7458dp
+ 229.4861dp
+ 230.2264dp
+ 230.9667dp
+ 231.7069dp
+ 232.4472dp
+ 233.1875dp
+ 233.9278dp
+ 234.6681dp
+ 235.4083dp
+ 236.1486dp
+ 236.8889dp
+ 237.6292dp
+ 238.3694dp
+ 239.1097dp
+ 239.8500dp
+ 240.5903dp
+ 241.3306dp
+ 242.0708dp
+ 242.8111dp
+ 243.5514dp
+ 244.2917dp
+ 245.0319dp
+ 245.7722dp
+ 246.5125dp
+ 247.2528dp
+ 247.9931dp
+ 248.7333dp
+ 249.4736dp
+ 250.2139dp
+ 250.9542dp
+ 251.6944dp
+ 252.4347dp
+ 253.1750dp
+ 253.9153dp
+ 254.6556dp
+ 255.3958dp
+ 256.1361dp
+ 256.8764dp
+ 257.6167dp
+ 258.3569dp
+ 259.0972dp
+ 259.8375dp
+ 260.5778dp
+ 261.3181dp
+ 262.0583dp
+ 262.7986dp
+ 263.5389dp
+ 264.2792dp
+ 265.0194dp
+ 265.7597dp
+ 266.5000dp
+ 267.2403dp
+ 267.9806dp
+ 268.7208dp
+ 269.4611dp
+ 270.2014dp
+ 270.9417dp
+ 271.6819dp
+ 272.4222dp
+ 273.1625dp
+ 273.9028dp
+ 274.6431dp
+ 275.3833dp
+ 276.1236dp
+ 276.8639dp
+ 277.6042dp
+ 278.3444dp
+ 279.0847dp
+ 279.8250dp
+ 280.5653dp
+ 281.3056dp
+ 282.0458dp
+ 282.7861dp
+ 283.5264dp
+ 284.2667dp
+ 285.0069dp
+ 285.7472dp
+ 286.4875dp
+ 287.2278dp
+ 287.9681dp
+ 288.7083dp
+ 289.4486dp
+ 290.1889dp
+ 290.9292dp
+ 291.6694dp
+ 292.4097dp
+ 293.1500dp
+ 293.8903dp
+ 294.6306dp
+ 295.3708dp
+ 296.1111dp
+ 296.8514dp
+ 297.5917dp
+ 298.3319dp
+ 299.0722dp
+ 299.8125dp
+ 300.5528dp
+ 301.2931dp
+ 302.0333dp
+ 302.7736dp
+ 303.5139dp
+ 304.2542dp
+ 304.9944dp
+ 305.7347dp
+ 306.4750dp
+ 307.2153dp
+ 307.9556dp
+ 308.6958dp
+ 309.4361dp
+ 310.1764dp
+ 310.9167dp
+ 311.6569dp
+ 312.3972dp
+ 313.1375dp
+ 313.8778dp
+ 314.6181dp
+ 315.3583dp
+ 316.0986dp
+ 316.8389dp
+ 317.5792dp
+ 318.3194dp
+ 319.0597dp
+ 319.8000dp
+ 320.5403dp
+ 321.2806dp
+ 322.0208dp
+ 322.7611dp
+ 323.5014dp
+ 324.2417dp
+ 324.9819dp
+ 325.7222dp
+ 326.4625dp
+ 327.2028dp
+ 327.9431dp
+ 328.6833dp
+ 329.4236dp
+ 330.1639dp
+ 330.9042dp
+ 331.6444dp
+ 332.3847dp
+ 333.1250dp
+ 333.8653dp
+ 334.6056dp
+ 335.3458dp
+ 336.0861dp
+ 336.8264dp
+ 337.5667dp
+ 338.3069dp
+ 339.0472dp
+ 339.7875dp
+ 340.5278dp
+ 341.2681dp
+ 342.0083dp
+ 342.7486dp
+ 343.4889dp
+ 344.2292dp
+ 344.9694dp
+ 345.7097dp
+ 346.4500dp
+ 347.1903dp
+ 347.9306dp
+ 348.6708dp
+ 349.4111dp
+ 350.1514dp
+ 350.8917dp
+ 351.6319dp
+ 352.3722dp
+ 353.1125dp
+ 353.8528dp
+ 354.5931dp
+ 355.3333dp
+ 356.0736dp
+ 356.8139dp
+ 357.5542dp
+ 358.2944dp
+ 359.0347dp
+ 359.7750dp
+ 360.5153dp
+ 361.2556dp
+ 361.9958dp
+ 362.7361dp
+ 363.4764dp
+ 364.2167dp
+ 364.9569dp
+ 365.6972dp
+ 366.4375dp
+ 367.1778dp
+ 367.9181dp
+ 368.6583dp
+ 369.3986dp
+ 370.1389dp
+ 370.8792dp
+ 371.6194dp
+ 372.3597dp
+ 373.1000dp
+ 373.8403dp
+ 374.5806dp
+ 375.3208dp
+ 376.0611dp
+ 376.8014dp
+ 377.5417dp
+ 378.2819dp
+ 379.0222dp
+ 379.7625dp
+ 380.5028dp
+ 381.2431dp
+ 381.9833dp
+ 382.7236dp
+ 383.4639dp
+ 384.2042dp
+ 384.9444dp
+ 385.6847dp
+ 386.4250dp
+ 387.1653dp
+ 387.9056dp
+ 388.6458dp
+ 389.3861dp
+ 390.1264dp
+ 390.8667dp
+ 391.6069dp
+ 392.3472dp
+ 393.0875dp
+ 393.8278dp
+ 394.5681dp
+ 395.3083dp
+ 396.0486dp
+ 396.7889dp
+ 397.5292dp
+ 398.2694dp
+ 399.0097dp
+ 399.7500dp
+ 400.4903dp
+ 401.2306dp
+ 401.9708dp
+ 402.7111dp
+ 403.4514dp
+ 404.1917dp
+ 404.9319dp
+ 405.6722dp
+ 406.4125dp
+ 407.1528dp
+ 407.8931dp
+ 408.6333dp
+ 409.3736dp
+ 410.1139dp
+ 410.8542dp
+ 411.5944dp
+ 412.3347dp
+ 413.0750dp
+ 413.8153dp
+ 414.5556dp
+ 415.2958dp
+ 416.0361dp
+ 416.7764dp
+ 417.5167dp
+ 418.2569dp
+ 418.9972dp
+ 419.7375dp
+ 420.4778dp
+ 421.2181dp
+ 421.9583dp
+ 422.6986dp
+ 423.4389dp
+ 424.1792dp
+ 424.9194dp
+ 425.6597dp
+ 426.4000dp
+ 427.1403dp
+ 427.8806dp
+ 428.6208dp
+ 429.3611dp
+ 430.1014dp
+ 430.8417dp
+ 431.5819dp
+ 432.3222dp
+ 433.0625dp
+ 433.8028dp
+ 434.5431dp
+ 435.2833dp
+ 436.0236dp
+ 436.7639dp
+ 437.5042dp
+ 438.2444dp
+ 438.9847dp
+ 439.7250dp
+ 440.4653dp
+ 441.2056dp
+ 441.9458dp
+ 442.6861dp
+ 443.4264dp
+ 444.1667dp
+ 444.9069dp
+ 445.6472dp
+ 446.3875dp
+ 447.1278dp
+ 447.8681dp
+ 448.6083dp
+ 449.3486dp
+ 450.0889dp
+ 450.8292dp
+ 451.5694dp
+ 452.3097dp
+ 453.0500dp
+ 453.7903dp
+ 454.5306dp
+ 455.2708dp
+ 456.0111dp
+ 456.7514dp
+ 457.4917dp
+ 458.2319dp
+ 458.9722dp
+ 459.7125dp
+ 460.4528dp
+ 461.1931dp
+ 461.9333dp
+ 462.6736dp
+ 463.4139dp
+ 464.1542dp
+ 464.8944dp
+ 465.6347dp
+ 466.3750dp
+ 467.1153dp
+ 467.8556dp
+ 468.5958dp
+ 469.3361dp
+ 470.0764dp
+ 470.8167dp
+ 471.5569dp
+ 472.2972dp
+ 473.0375dp
+ 473.7778dp
+ 474.5181dp
+ 475.2583dp
+ 475.9986dp
+ 476.7389dp
+ 477.4792dp
+ 478.2194dp
+ 478.9597dp
+ 479.7000dp
+ 480.4403dp
+ 481.1806dp
+ 481.9208dp
+ 482.6611dp
+ 483.4014dp
+ 484.1417dp
+ 484.8819dp
+ 485.6222dp
+ 486.3625dp
+ 487.1028dp
+ 487.8431dp
+ 488.5833dp
+ 489.3236dp
+ 490.0639dp
+ 490.8042dp
+ 491.5444dp
+ 492.2847dp
+ 493.0250dp
+ 493.7653dp
+ 494.5056dp
+ 495.2458dp
+ 495.9861dp
+ 496.7264dp
+ 497.4667dp
+ 498.2069dp
+ 498.9472dp
+ 499.6875dp
+ 500.4278dp
+ 501.1681dp
+ 501.9083dp
+ 502.6486dp
+ 503.3889dp
+ 504.1292dp
+ 504.8694dp
+ 505.6097dp
+ 506.3500dp
+ 507.0903dp
+ 507.8306dp
+ 508.5708dp
+ 509.3111dp
+ 510.0514dp
+ 510.7917dp
+ 511.5319dp
+ 512.2722dp
+ 513.0125dp
+ 513.7528dp
+ 514.4931dp
+ 515.2333dp
+ 515.9736dp
+ 516.7139dp
+ 517.4542dp
+ 518.1944dp
+ 518.9347dp
+ 519.6750dp
+ 520.4153dp
+ 521.1556dp
+ 521.8958dp
+ 522.6361dp
+ 523.3764dp
+ 524.1167dp
+ 524.8569dp
+ 525.5972dp
+ 526.3375dp
+ 527.0778dp
+ 527.8181dp
+ 528.5583dp
+ 529.2986dp
+ 530.0389dp
+ 530.7792dp
+ 531.5194dp
+ 532.2597dp
+ 533.0000dp
+ 1.4806sp
+ 2.9611sp
+ 4.4417sp
+ 5.9222sp
+ 7.4028sp
+ 8.8833sp
+ 10.3639sp
+ 11.8444sp
+ 13.3250sp
+ 14.8056sp
+ 16.2861sp
+ 17.7667sp
+ 19.2472sp
+ 20.7278sp
+ 22.2083sp
+ 23.6889sp
+ 25.1694sp
+ 26.6500sp
+ 28.1306sp
+ 29.6111sp
+ 31.0917sp
+ 32.5722sp
+ 34.0528sp
+ 35.5333sp
+ 37.0139sp
+ 38.4944sp
+ 39.9750sp
+ 41.4556sp
+ 42.9361sp
+ 44.4167sp
+ 45.8972sp
+ 47.3778sp
+ 48.8583sp
+ 50.3389sp
+ 51.8194sp
+ 53.3000sp
+ 54.7806sp
+ 56.2611sp
+ 57.7417sp
+ 59.2222sp
+
diff --git a/BaseAndroidKt/src/main/res/values-sw592dp/dimens.xml b/BaseAndroidKt/src/main/res/values-sw592dp/dimens.xml
new file mode 100644
index 0000000..57fb463
--- /dev/null
+++ b/BaseAndroidKt/src/main/res/values-sw592dp/dimens.xml
@@ -0,0 +1,764 @@
+
+
+ 592.0000dp
+ 0.8222dp
+ 1.6444dp
+ 2.4667dp
+ 3.2889dp
+ 4.1111dp
+ 4.9333dp
+ 5.7556dp
+ 6.5778dp
+ 7.4000dp
+ 8.2222dp
+ 9.0444dp
+ 9.8667dp
+ 10.6889dp
+ 11.5111dp
+ 12.3333dp
+ 13.1556dp
+ 13.9778dp
+ 14.8000dp
+ 15.6222dp
+ 16.4444dp
+ 17.2667dp
+ 18.0889dp
+ 18.9111dp
+ 19.7333dp
+ 20.5556dp
+ 21.3778dp
+ 22.2000dp
+ 23.0222dp
+ 23.8444dp
+ 24.6667dp
+ 25.4889dp
+ 26.3111dp
+ 27.1333dp
+ 27.9556dp
+ 28.7778dp
+ 29.6000dp
+ 30.4222dp
+ 31.2444dp
+ 32.0667dp
+ 32.8889dp
+ 33.7111dp
+ 34.5333dp
+ 35.3556dp
+ 36.1778dp
+ 37.0000dp
+ 37.8222dp
+ 38.6444dp
+ 39.4667dp
+ 40.2889dp
+ 41.1111dp
+ 41.9333dp
+ 42.7556dp
+ 43.5778dp
+ 44.4000dp
+ 45.2222dp
+ 46.0444dp
+ 46.8667dp
+ 47.6889dp
+ 48.5111dp
+ 49.3333dp
+ 50.1556dp
+ 50.9778dp
+ 51.8000dp
+ 52.6222dp
+ 53.4444dp
+ 54.2667dp
+ 55.0889dp
+ 55.9111dp
+ 56.7333dp
+ 57.5556dp
+ 58.3778dp
+ 59.2000dp
+ 60.0222dp
+ 60.8444dp
+ 61.6667dp
+ 62.4889dp
+ 63.3111dp
+ 64.1333dp
+ 64.9556dp
+ 65.7778dp
+ 66.6000dp
+ 67.4222dp
+ 68.2444dp
+ 69.0667dp
+ 69.8889dp
+ 70.7111dp
+ 71.5333dp
+ 72.3556dp
+ 73.1778dp
+ 74.0000dp
+ 74.8222dp
+ 75.6444dp
+ 76.4667dp
+ 77.2889dp
+ 78.1111dp
+ 78.9333dp
+ 79.7556dp
+ 80.5778dp
+ 81.4000dp
+ 82.2222dp
+ 83.0444dp
+ 83.8667dp
+ 84.6889dp
+ 85.5111dp
+ 86.3333dp
+ 87.1556dp
+ 87.9778dp
+ 88.8000dp
+ 89.6222dp
+ 90.4444dp
+ 91.2667dp
+ 92.0889dp
+ 92.9111dp
+ 93.7333dp
+ 94.5556dp
+ 95.3778dp
+ 96.2000dp
+ 97.0222dp
+ 97.8444dp
+ 98.6667dp
+ 99.4889dp
+ 100.3111dp
+ 101.1333dp
+ 101.9556dp
+ 102.7778dp
+ 103.6000dp
+ 104.4222dp
+ 105.2444dp
+ 106.0667dp
+ 106.8889dp
+ 107.7111dp
+ 108.5333dp
+ 109.3556dp
+ 110.1778dp
+ 111.0000dp
+ 111.8222dp
+ 112.6444dp
+ 113.4667dp
+ 114.2889dp
+ 115.1111dp
+ 115.9333dp
+ 116.7556dp
+ 117.5778dp
+ 118.4000dp
+ 119.2222dp
+ 120.0444dp
+ 120.8667dp
+ 121.6889dp
+ 122.5111dp
+ 123.3333dp
+ 124.1556dp
+ 124.9778dp
+ 125.8000dp
+ 126.6222dp
+ 127.4444dp
+ 128.2667dp
+ 129.0889dp
+ 129.9111dp
+ 130.7333dp
+ 131.5556dp
+ 132.3778dp
+ 133.2000dp
+ 134.0222dp
+ 134.8444dp
+ 135.6667dp
+ 136.4889dp
+ 137.3111dp
+ 138.1333dp
+ 138.9556dp
+ 139.7778dp
+ 140.6000dp
+ 141.4222dp
+ 142.2444dp
+ 143.0667dp
+ 143.8889dp
+ 144.7111dp
+ 145.5333dp
+ 146.3556dp
+ 147.1778dp
+ 148.0000dp
+ 148.8222dp
+ 149.6444dp
+ 150.4667dp
+ 151.2889dp
+ 152.1111dp
+ 152.9333dp
+ 153.7556dp
+ 154.5778dp
+ 155.4000dp
+ 156.2222dp
+ 157.0444dp
+ 157.8667dp
+ 158.6889dp
+ 159.5111dp
+ 160.3333dp
+ 161.1556dp
+ 161.9778dp
+ 162.8000dp
+ 163.6222dp
+ 164.4444dp
+ 165.2667dp
+ 166.0889dp
+ 166.9111dp
+ 167.7333dp
+ 168.5556dp
+ 169.3778dp
+ 170.2000dp
+ 171.0222dp
+ 171.8444dp
+ 172.6667dp
+ 173.4889dp
+ 174.3111dp
+ 175.1333dp
+ 175.9556dp
+ 176.7778dp
+ 177.6000dp
+ 178.4222dp
+ 179.2444dp
+ 180.0667dp
+ 180.8889dp
+ 181.7111dp
+ 182.5333dp
+ 183.3556dp
+ 184.1778dp
+ 185.0000dp
+ 185.8222dp
+ 186.6444dp
+ 187.4667dp
+ 188.2889dp
+ 189.1111dp
+ 189.9333dp
+ 190.7556dp
+ 191.5778dp
+ 192.4000dp
+ 193.2222dp
+ 194.0444dp
+ 194.8667dp
+ 195.6889dp
+ 196.5111dp
+ 197.3333dp
+ 198.1556dp
+ 198.9778dp
+ 199.8000dp
+ 200.6222dp
+ 201.4444dp
+ 202.2667dp
+ 203.0889dp
+ 203.9111dp
+ 204.7333dp
+ 205.5556dp
+ 206.3778dp
+ 207.2000dp
+ 208.0222dp
+ 208.8444dp
+ 209.6667dp
+ 210.4889dp
+ 211.3111dp
+ 212.1333dp
+ 212.9556dp
+ 213.7778dp
+ 214.6000dp
+ 215.4222dp
+ 216.2444dp
+ 217.0667dp
+ 217.8889dp
+ 218.7111dp
+ 219.5333dp
+ 220.3556dp
+ 221.1778dp
+ 222.0000dp
+ 222.8222dp
+ 223.6444dp
+ 224.4667dp
+ 225.2889dp
+ 226.1111dp
+ 226.9333dp
+ 227.7556dp
+ 228.5778dp
+ 229.4000dp
+ 230.2222dp
+ 231.0444dp
+ 231.8667dp
+ 232.6889dp
+ 233.5111dp
+ 234.3333dp
+ 235.1556dp
+ 235.9778dp
+ 236.8000dp
+ 237.6222dp
+ 238.4444dp
+ 239.2667dp
+ 240.0889dp
+ 240.9111dp
+ 241.7333dp
+ 242.5556dp
+ 243.3778dp
+ 244.2000dp
+ 245.0222dp
+ 245.8444dp
+ 246.6667dp
+ 247.4889dp
+ 248.3111dp
+ 249.1333dp
+ 249.9556dp
+ 250.7778dp
+ 251.6000dp
+ 252.4222dp
+ 253.2444dp
+ 254.0667dp
+ 254.8889dp
+ 255.7111dp
+ 256.5333dp
+ 257.3556dp
+ 258.1778dp
+ 259.0000dp
+ 259.8222dp
+ 260.6444dp
+ 261.4667dp
+ 262.2889dp
+ 263.1111dp
+ 263.9333dp
+ 264.7556dp
+ 265.5778dp
+ 266.4000dp
+ 267.2222dp
+ 268.0444dp
+ 268.8667dp
+ 269.6889dp
+ 270.5111dp
+ 271.3333dp
+ 272.1556dp
+ 272.9778dp
+ 273.8000dp
+ 274.6222dp
+ 275.4444dp
+ 276.2667dp
+ 277.0889dp
+ 277.9111dp
+ 278.7333dp
+ 279.5556dp
+ 280.3778dp
+ 281.2000dp
+ 282.0222dp
+ 282.8444dp
+ 283.6667dp
+ 284.4889dp
+ 285.3111dp
+ 286.1333dp
+ 286.9556dp
+ 287.7778dp
+ 288.6000dp
+ 289.4222dp
+ 290.2444dp
+ 291.0667dp
+ 291.8889dp
+ 292.7111dp
+ 293.5333dp
+ 294.3556dp
+ 295.1778dp
+ 296.0000dp
+ 296.8222dp
+ 297.6444dp
+ 298.4667dp
+ 299.2889dp
+ 300.1111dp
+ 300.9333dp
+ 301.7556dp
+ 302.5778dp
+ 303.4000dp
+ 304.2222dp
+ 305.0444dp
+ 305.8667dp
+ 306.6889dp
+ 307.5111dp
+ 308.3333dp
+ 309.1556dp
+ 309.9778dp
+ 310.8000dp
+ 311.6222dp
+ 312.4444dp
+ 313.2667dp
+ 314.0889dp
+ 314.9111dp
+ 315.7333dp
+ 316.5556dp
+ 317.3778dp
+ 318.2000dp
+ 319.0222dp
+ 319.8444dp
+ 320.6667dp
+ 321.4889dp
+ 322.3111dp
+ 323.1333dp
+ 323.9556dp
+ 324.7778dp
+ 325.6000dp
+ 326.4222dp
+ 327.2444dp
+ 328.0667dp
+ 328.8889dp
+ 329.7111dp
+ 330.5333dp
+ 331.3556dp
+ 332.1778dp
+ 333.0000dp
+ 333.8222dp
+ 334.6444dp
+ 335.4667dp
+ 336.2889dp
+ 337.1111dp
+ 337.9333dp
+ 338.7556dp
+ 339.5778dp
+ 340.4000dp
+ 341.2222dp
+ 342.0444dp
+ 342.8667dp
+ 343.6889dp
+ 344.5111dp
+ 345.3333dp
+ 346.1556dp
+ 346.9778dp
+ 347.8000dp
+ 348.6222dp
+ 349.4444dp
+ 350.2667dp
+ 351.0889dp
+ 351.9111dp
+ 352.7333dp
+ 353.5556dp
+ 354.3778dp
+ 355.2000dp
+ 356.0222dp
+ 356.8444dp
+ 357.6667dp
+ 358.4889dp
+ 359.3111dp
+ 360.1333dp
+ 360.9556dp
+ 361.7778dp
+ 362.6000dp
+ 363.4222dp
+ 364.2444dp
+ 365.0667dp
+ 365.8889dp
+ 366.7111dp
+ 367.5333dp
+ 368.3556dp
+ 369.1778dp
+ 370.0000dp
+ 370.8222dp
+ 371.6444dp
+ 372.4667dp
+ 373.2889dp
+ 374.1111dp
+ 374.9333dp
+ 375.7556dp
+ 376.5778dp
+ 377.4000dp
+ 378.2222dp
+ 379.0444dp
+ 379.8667dp
+ 380.6889dp
+ 381.5111dp
+ 382.3333dp
+ 383.1556dp
+ 383.9778dp
+ 384.8000dp
+ 385.6222dp
+ 386.4444dp
+ 387.2667dp
+ 388.0889dp
+ 388.9111dp
+ 389.7333dp
+ 390.5556dp
+ 391.3778dp
+ 392.2000dp
+ 393.0222dp
+ 393.8444dp
+ 394.6667dp
+ 395.4889dp
+ 396.3111dp
+ 397.1333dp
+ 397.9556dp
+ 398.7778dp
+ 399.6000dp
+ 400.4222dp
+ 401.2444dp
+ 402.0667dp
+ 402.8889dp
+ 403.7111dp
+ 404.5333dp
+ 405.3556dp
+ 406.1778dp
+ 407.0000dp
+ 407.8222dp
+ 408.6444dp
+ 409.4667dp
+ 410.2889dp
+ 411.1111dp
+ 411.9333dp
+ 412.7556dp
+ 413.5778dp
+ 414.4000dp
+ 415.2222dp
+ 416.0444dp
+ 416.8667dp
+ 417.6889dp
+ 418.5111dp
+ 419.3333dp
+ 420.1556dp
+ 420.9778dp
+ 421.8000dp
+ 422.6222dp
+ 423.4444dp
+ 424.2667dp
+ 425.0889dp
+ 425.9111dp
+ 426.7333dp
+ 427.5556dp
+ 428.3778dp
+ 429.2000dp
+ 430.0222dp
+ 430.8444dp
+ 431.6667dp
+ 432.4889dp
+ 433.3111dp
+ 434.1333dp
+ 434.9556dp
+ 435.7778dp
+ 436.6000dp
+ 437.4222dp
+ 438.2444dp
+ 439.0667dp
+ 439.8889dp
+ 440.7111dp
+ 441.5333dp
+ 442.3556dp
+ 443.1778dp
+ 444.0000dp
+ 444.8222dp
+ 445.6444dp
+ 446.4667dp
+ 447.2889dp
+ 448.1111dp
+ 448.9333dp
+ 449.7556dp
+ 450.5778dp
+ 451.4000dp
+ 452.2222dp
+ 453.0444dp
+ 453.8667dp
+ 454.6889dp
+ 455.5111dp
+ 456.3333dp
+ 457.1556dp
+ 457.9778dp
+ 458.8000dp
+ 459.6222dp
+ 460.4444dp
+ 461.2667dp
+ 462.0889dp
+ 462.9111dp
+ 463.7333dp
+ 464.5556dp
+ 465.3778dp
+ 466.2000dp
+ 467.0222dp
+ 467.8444dp
+ 468.6667dp
+ 469.4889dp
+ 470.3111dp
+ 471.1333dp
+ 471.9556dp
+ 472.7778dp
+ 473.6000dp
+ 474.4222dp
+ 475.2444dp
+ 476.0667dp
+ 476.8889dp
+ 477.7111dp
+ 478.5333dp
+ 479.3556dp
+ 480.1778dp
+ 481.0000dp
+ 481.8222dp
+ 482.6444dp
+ 483.4667dp
+ 484.2889dp
+ 485.1111dp
+ 485.9333dp
+ 486.7556dp
+ 487.5778dp
+ 488.4000dp
+ 489.2222dp
+ 490.0444dp
+ 490.8667dp
+ 491.6889dp
+ 492.5111dp
+ 493.3333dp
+ 494.1556dp
+ 494.9778dp
+ 495.8000dp
+ 496.6222dp
+ 497.4444dp
+ 498.2667dp
+ 499.0889dp
+ 499.9111dp
+ 500.7333dp
+ 501.5556dp
+ 502.3778dp
+ 503.2000dp
+ 504.0222dp
+ 504.8444dp
+ 505.6667dp
+ 506.4889dp
+ 507.3111dp
+ 508.1333dp
+ 508.9556dp
+ 509.7778dp
+ 510.6000dp
+ 511.4222dp
+ 512.2444dp
+ 513.0667dp
+ 513.8889dp
+ 514.7111dp
+ 515.5333dp
+ 516.3556dp
+ 517.1778dp
+ 518.0000dp
+ 518.8222dp
+ 519.6444dp
+ 520.4667dp
+ 521.2889dp
+ 522.1111dp
+ 522.9333dp
+ 523.7556dp
+ 524.5778dp
+ 525.4000dp
+ 526.2222dp
+ 527.0444dp
+ 527.8667dp
+ 528.6889dp
+ 529.5111dp
+ 530.3333dp
+ 531.1556dp
+ 531.9778dp
+ 532.8000dp
+ 533.6222dp
+ 534.4444dp
+ 535.2667dp
+ 536.0889dp
+ 536.9111dp
+ 537.7333dp
+ 538.5556dp
+ 539.3778dp
+ 540.2000dp
+ 541.0222dp
+ 541.8444dp
+ 542.6667dp
+ 543.4889dp
+ 544.3111dp
+ 545.1333dp
+ 545.9556dp
+ 546.7778dp
+ 547.6000dp
+ 548.4222dp
+ 549.2444dp
+ 550.0667dp
+ 550.8889dp
+ 551.7111dp
+ 552.5333dp
+ 553.3556dp
+ 554.1778dp
+ 555.0000dp
+ 555.8222dp
+ 556.6444dp
+ 557.4667dp
+ 558.2889dp
+ 559.1111dp
+ 559.9333dp
+ 560.7556dp
+ 561.5778dp
+ 562.4000dp
+ 563.2222dp
+ 564.0444dp
+ 564.8667dp
+ 565.6889dp
+ 566.5111dp
+ 567.3333dp
+ 568.1556dp
+ 568.9778dp
+ 569.8000dp
+ 570.6222dp
+ 571.4444dp
+ 572.2667dp
+ 573.0889dp
+ 573.9111dp
+ 574.7333dp
+ 575.5556dp
+ 576.3778dp
+ 577.2000dp
+ 578.0222dp
+ 578.8444dp
+ 579.6667dp
+ 580.4889dp
+ 581.3111dp
+ 582.1333dp
+ 582.9556dp
+ 583.7778dp
+ 584.6000dp
+ 585.4222dp
+ 586.2444dp
+ 587.0667dp
+ 587.8889dp
+ 588.7111dp
+ 589.5333dp
+ 590.3556dp
+ 591.1778dp
+ 592.0000dp
+ 1.6444sp
+ 3.2889sp
+ 4.9333sp
+ 6.5778sp
+ 8.2222sp
+ 9.8667sp
+ 11.5111sp
+ 13.1556sp
+ 14.8000sp
+ 16.4444sp
+ 18.0889sp
+ 19.7333sp
+ 21.3778sp
+ 23.0222sp
+ 24.6667sp
+ 26.3111sp
+ 27.9556sp
+ 29.6000sp
+ 31.2444sp
+ 32.8889sp
+ 34.5333sp
+ 36.1778sp
+ 37.8222sp
+ 39.4667sp
+ 41.1111sp
+ 42.7556sp
+ 44.4000sp
+ 46.0444sp
+ 47.6889sp
+ 49.3333sp
+ 50.9778sp
+ 52.6222sp
+ 54.2667sp
+ 55.9111sp
+ 57.5556sp
+ 59.2000sp
+ 60.8444sp
+ 62.4889sp
+ 64.1333sp
+ 65.7778sp
+
diff --git a/BaseAndroidKt/src/main/res/values-sw600dp/dimens.xml b/BaseAndroidKt/src/main/res/values-sw600dp/dimens.xml
new file mode 100644
index 0000000..2990112
--- /dev/null
+++ b/BaseAndroidKt/src/main/res/values-sw600dp/dimens.xml
@@ -0,0 +1,764 @@
+
+
+ 600.0000dp
+ 0.8333dp
+ 1.6667dp
+ 2.5000dp
+ 3.3333dp
+ 4.1667dp
+ 5.0000dp
+ 5.8333dp
+ 6.6667dp
+ 7.5000dp
+ 8.3333dp
+ 9.1667dp
+ 10.0000dp
+ 10.8333dp
+ 11.6667dp
+ 12.5000dp
+ 13.3333dp
+ 14.1667dp
+ 15.0000dp
+ 15.8333dp
+ 16.6667dp
+ 17.5000dp
+ 18.3333dp
+ 19.1667dp
+ 20.0000dp
+ 20.8333dp
+ 21.6667dp
+ 22.5000dp
+ 23.3333dp
+ 24.1667dp
+ 25.0000dp
+ 25.8333dp
+ 26.6667dp
+ 27.5000dp
+ 28.3333dp
+ 29.1667dp
+ 30.0000dp
+ 30.8333dp
+ 31.6667dp
+ 32.5000dp
+ 33.3333dp
+ 34.1667dp
+ 35.0000dp
+ 35.8333dp
+ 36.6667dp
+ 37.5000dp
+ 38.3333dp
+ 39.1667dp
+ 40.0000dp
+ 40.8333dp
+ 41.6667dp
+ 42.5000dp
+ 43.3333dp
+ 44.1667dp
+ 45.0000dp
+ 45.8333dp
+ 46.6667dp
+ 47.5000dp
+ 48.3333dp
+ 49.1667dp
+ 50.0000dp
+ 50.8333dp
+ 51.6667dp
+ 52.5000dp
+ 53.3333dp
+ 54.1667dp
+ 55.0000dp
+ 55.8333dp
+ 56.6667dp
+ 57.5000dp
+ 58.3333dp
+ 59.1667dp
+ 60.0000dp
+ 60.8333dp
+ 61.6667dp
+ 62.5000dp
+ 63.3333dp
+ 64.1667dp
+ 65.0000dp
+ 65.8333dp
+ 66.6667dp
+ 67.5000dp
+ 68.3333dp
+ 69.1667dp
+ 70.0000dp
+ 70.8333dp
+ 71.6667dp
+ 72.5000dp
+ 73.3333dp
+ 74.1667dp
+ 75.0000dp
+ 75.8333dp
+ 76.6667dp
+ 77.5000dp
+ 78.3333dp
+ 79.1667dp
+ 80.0000dp
+ 80.8333dp
+ 81.6667dp
+ 82.5000dp
+ 83.3333dp
+ 84.1667dp
+ 85.0000dp
+ 85.8333dp
+ 86.6667dp
+ 87.5000dp
+ 88.3333dp
+ 89.1667dp
+ 90.0000dp
+ 90.8333dp
+ 91.6667dp
+ 92.5000dp
+ 93.3333dp
+ 94.1667dp
+ 95.0000dp
+ 95.8333dp
+ 96.6667dp
+ 97.5000dp
+ 98.3333dp
+ 99.1667dp
+ 100.0000dp
+ 100.8333dp
+ 101.6667dp
+ 102.5000dp
+ 103.3333dp
+ 104.1667dp
+ 105.0000dp
+ 105.8333dp
+ 106.6667dp
+ 107.5000dp
+ 108.3333dp
+ 109.1667dp
+ 110.0000dp
+ 110.8333dp
+ 111.6667dp
+ 112.5000dp
+ 113.3333dp
+ 114.1667dp
+ 115.0000dp
+ 115.8333dp
+ 116.6667dp
+ 117.5000dp
+ 118.3333dp
+ 119.1667dp
+ 120.0000dp
+ 120.8333dp
+ 121.6667dp
+ 122.5000dp
+ 123.3333dp
+ 124.1667dp
+ 125.0000dp
+ 125.8333dp
+ 126.6667dp
+ 127.5000dp
+ 128.3333dp
+ 129.1667dp
+ 130.0000dp
+ 130.8333dp
+ 131.6667dp
+ 132.5000dp
+ 133.3333dp
+ 134.1667dp
+ 135.0000dp
+ 135.8333dp
+ 136.6667dp
+ 137.5000dp
+ 138.3333dp
+ 139.1667dp
+ 140.0000dp
+ 140.8333dp
+ 141.6667dp
+ 142.5000dp
+ 143.3333dp
+ 144.1667dp
+ 145.0000dp
+ 145.8333dp
+ 146.6667dp
+ 147.5000dp
+ 148.3333dp
+ 149.1667dp
+ 150.0000dp
+ 150.8333dp
+ 151.6667dp
+ 152.5000dp
+ 153.3333dp
+ 154.1667dp
+ 155.0000dp
+ 155.8333dp
+ 156.6667dp
+ 157.5000dp
+ 158.3333dp
+ 159.1667dp
+ 160.0000dp
+ 160.8333dp
+ 161.6667dp
+ 162.5000dp
+ 163.3333dp
+ 164.1667dp
+ 165.0000dp
+ 165.8333dp
+ 166.6667dp
+ 167.5000dp
+ 168.3333dp
+ 169.1667dp
+ 170.0000dp
+ 170.8333dp
+ 171.6667dp
+ 172.5000dp
+ 173.3333dp
+ 174.1667dp
+ 175.0000dp
+ 175.8333dp
+ 176.6667dp
+ 177.5000dp
+ 178.3333dp
+ 179.1667dp
+ 180.0000dp
+ 180.8333dp
+ 181.6667dp
+ 182.5000dp
+ 183.3333dp
+ 184.1667dp
+ 185.0000dp
+ 185.8333dp
+ 186.6667dp
+ 187.5000dp
+ 188.3333dp
+ 189.1667dp
+ 190.0000dp
+ 190.8333dp
+ 191.6667dp
+ 192.5000dp
+ 193.3333dp
+ 194.1667dp
+ 195.0000dp
+ 195.8333dp
+ 196.6667dp
+ 197.5000dp
+ 198.3333dp
+ 199.1667dp
+ 200.0000dp
+ 200.8333dp
+ 201.6667dp
+ 202.5000dp
+ 203.3333dp
+ 204.1667dp
+ 205.0000dp
+ 205.8333dp
+ 206.6667dp
+ 207.5000dp
+ 208.3333dp
+ 209.1667dp
+ 210.0000dp
+ 210.8333dp
+ 211.6667dp
+ 212.5000dp
+ 213.3333dp
+ 214.1667dp
+ 215.0000dp
+ 215.8333dp
+ 216.6667dp
+ 217.5000dp
+ 218.3333dp
+ 219.1667dp
+ 220.0000dp
+ 220.8333dp
+ 221.6667dp
+ 222.5000dp
+ 223.3333dp
+ 224.1667dp
+ 225.0000dp
+ 225.8333dp
+ 226.6667dp
+ 227.5000dp
+ 228.3333dp
+ 229.1667dp
+ 230.0000dp
+ 230.8333dp
+ 231.6667dp
+ 232.5000dp
+ 233.3333dp
+ 234.1667dp
+ 235.0000dp
+ 235.8333dp
+ 236.6667dp
+ 237.5000dp
+ 238.3333dp
+ 239.1667dp
+ 240.0000dp
+ 240.8333dp
+ 241.6667dp
+ 242.5000dp
+ 243.3333dp
+ 244.1667dp
+ 245.0000dp
+ 245.8333dp
+ 246.6667dp
+ 247.5000dp
+ 248.3333dp
+ 249.1667dp
+ 250.0000dp
+ 250.8333dp
+ 251.6667dp
+ 252.5000dp
+ 253.3333dp
+ 254.1667dp
+ 255.0000dp
+ 255.8333dp
+ 256.6667dp
+ 257.5000dp
+ 258.3333dp
+ 259.1667dp
+ 260.0000dp
+ 260.8333dp
+ 261.6667dp
+ 262.5000dp
+ 263.3333dp
+ 264.1667dp
+ 265.0000dp
+ 265.8333dp
+ 266.6667dp
+ 267.5000dp
+ 268.3333dp
+ 269.1667dp
+ 270.0000dp
+ 270.8333dp
+ 271.6667dp
+ 272.5000dp
+ 273.3333dp
+ 274.1667dp
+ 275.0000dp
+ 275.8333dp
+ 276.6667dp
+ 277.5000dp
+ 278.3333dp
+ 279.1667dp
+ 280.0000dp
+ 280.8333dp
+ 281.6667dp
+ 282.5000dp
+ 283.3333dp
+ 284.1667dp
+ 285.0000dp
+ 285.8333dp
+ 286.6667dp
+ 287.5000dp
+ 288.3333dp
+ 289.1667dp
+ 290.0000dp
+ 290.8333dp
+ 291.6667dp
+ 292.5000dp
+ 293.3333dp
+ 294.1667dp
+ 295.0000dp
+ 295.8333dp
+ 296.6667dp
+ 297.5000dp
+ 298.3333dp
+ 299.1667dp
+ 300.0000dp
+ 300.8333dp
+ 301.6667dp
+ 302.5000dp
+ 303.3333dp
+ 304.1667dp
+ 305.0000dp
+ 305.8333dp
+ 306.6667dp
+ 307.5000dp
+ 308.3333dp
+ 309.1667dp
+ 310.0000dp
+ 310.8333dp
+ 311.6667dp
+ 312.5000dp
+ 313.3333dp
+ 314.1667dp
+ 315.0000dp
+ 315.8333dp
+ 316.6667dp
+ 317.5000dp
+ 318.3333dp
+ 319.1667dp
+ 320.0000dp
+ 320.8333dp
+ 321.6667dp
+ 322.5000dp
+ 323.3333dp
+ 324.1667dp
+ 325.0000dp
+ 325.8333dp
+ 326.6667dp
+ 327.5000dp
+ 328.3333dp
+ 329.1667dp
+ 330.0000dp
+ 330.8333dp
+ 331.6667dp
+ 332.5000dp
+ 333.3333dp
+ 334.1667dp
+ 335.0000dp
+ 335.8333dp
+ 336.6667dp
+ 337.5000dp
+ 338.3333dp
+ 339.1667dp
+ 340.0000dp
+ 340.8333dp
+ 341.6667dp
+ 342.5000dp
+ 343.3333dp
+ 344.1667dp
+ 345.0000dp
+ 345.8333dp
+ 346.6667dp
+ 347.5000dp
+ 348.3333dp
+ 349.1667dp
+ 350.0000dp
+ 350.8333dp
+ 351.6667dp
+ 352.5000dp
+ 353.3333dp
+ 354.1667dp
+ 355.0000dp
+ 355.8333dp
+ 356.6667dp
+ 357.5000dp
+ 358.3333dp
+ 359.1667dp
+ 360.0000dp
+ 360.8333dp
+ 361.6667dp
+ 362.5000dp
+ 363.3333dp
+ 364.1667dp
+ 365.0000dp
+ 365.8333dp
+ 366.6667dp
+ 367.5000dp
+ 368.3333dp
+ 369.1667dp
+ 370.0000dp
+ 370.8333dp
+ 371.6667dp
+ 372.5000dp
+ 373.3333dp
+ 374.1667dp
+ 375.0000dp
+ 375.8333dp
+ 376.6667dp
+ 377.5000dp
+ 378.3333dp
+ 379.1667dp
+ 380.0000dp
+ 380.8333dp
+ 381.6667dp
+ 382.5000dp
+ 383.3333dp
+ 384.1667dp
+ 385.0000dp
+ 385.8333dp
+ 386.6667dp
+ 387.5000dp
+ 388.3333dp
+ 389.1667dp
+ 390.0000dp
+ 390.8333dp
+ 391.6667dp
+ 392.5000dp
+ 393.3333dp
+ 394.1667dp
+ 395.0000dp
+ 395.8333dp
+ 396.6667dp
+ 397.5000dp
+ 398.3333dp
+ 399.1667dp
+ 400.0000dp
+ 400.8333dp
+ 401.6667dp
+ 402.5000dp
+ 403.3333dp
+ 404.1667dp
+ 405.0000dp
+ 405.8333dp
+ 406.6667dp
+ 407.5000dp
+ 408.3333dp
+ 409.1667dp
+ 410.0000dp
+ 410.8333dp
+ 411.6667dp
+ 412.5000dp
+ 413.3333dp
+ 414.1667dp
+ 415.0000dp
+ 415.8333dp
+ 416.6667dp
+ 417.5000dp
+ 418.3333dp
+ 419.1667dp
+ 420.0000dp
+ 420.8333dp
+ 421.6667dp
+ 422.5000dp
+ 423.3333dp
+ 424.1667dp
+ 425.0000dp
+ 425.8333dp
+ 426.6667dp
+ 427.5000dp
+ 428.3333dp
+ 429.1667dp
+ 430.0000dp
+ 430.8333dp
+ 431.6667dp
+ 432.5000dp
+ 433.3333dp
+ 434.1667dp
+ 435.0000dp
+ 435.8333dp
+ 436.6667dp
+ 437.5000dp
+ 438.3333dp
+ 439.1667dp
+ 440.0000dp
+ 440.8333dp
+ 441.6667dp
+ 442.5000dp
+ 443.3333dp
+ 444.1667dp
+ 445.0000dp
+ 445.8333dp
+ 446.6667dp
+ 447.5000dp
+ 448.3333dp
+ 449.1667dp
+ 450.0000dp
+ 450.8333dp
+ 451.6667dp
+ 452.5000dp
+ 453.3333dp
+ 454.1667dp
+ 455.0000dp
+ 455.8333dp
+ 456.6667dp
+ 457.5000dp
+ 458.3333dp
+ 459.1667dp
+ 460.0000dp
+ 460.8333dp
+ 461.6667dp
+ 462.5000dp
+ 463.3333dp
+ 464.1667dp
+ 465.0000dp
+ 465.8333dp
+ 466.6667dp
+ 467.5000dp
+ 468.3333dp
+ 469.1667dp
+ 470.0000dp
+ 470.8333dp
+ 471.6667dp
+ 472.5000dp
+ 473.3333dp
+ 474.1667dp
+ 475.0000dp
+ 475.8333dp
+ 476.6667dp
+ 477.5000dp
+ 478.3333dp
+ 479.1667dp
+ 480.0000dp
+ 480.8333dp
+ 481.6667dp
+ 482.5000dp
+ 483.3333dp
+ 484.1667dp
+ 485.0000dp
+ 485.8333dp
+ 486.6667dp
+ 487.5000dp
+ 488.3333dp
+ 489.1667dp
+ 490.0000dp
+ 490.8333dp
+ 491.6667dp
+ 492.5000dp
+ 493.3333dp
+ 494.1667dp
+ 495.0000dp
+ 495.8333dp
+ 496.6667dp
+ 497.5000dp
+ 498.3333dp
+ 499.1667dp
+ 500.0000dp
+ 500.8333dp
+ 501.6667dp
+ 502.5000dp
+ 503.3333dp
+ 504.1667dp
+ 505.0000dp
+ 505.8333dp
+ 506.6667dp
+ 507.5000dp
+ 508.3333dp
+ 509.1667dp
+ 510.0000dp
+ 510.8333dp
+ 511.6667dp
+ 512.5000dp
+ 513.3333dp
+ 514.1667dp
+ 515.0000dp
+ 515.8333dp
+ 516.6667dp
+ 517.5000dp
+ 518.3333dp
+ 519.1667dp
+ 520.0000dp
+ 520.8333dp
+ 521.6667dp
+ 522.5000dp
+ 523.3333dp
+ 524.1667dp
+ 525.0000dp
+ 525.8333dp
+ 526.6667dp
+ 527.5000dp
+ 528.3333dp
+ 529.1667dp
+ 530.0000dp
+ 530.8333dp
+ 531.6667dp
+ 532.5000dp
+ 533.3333dp
+ 534.1667dp
+ 535.0000dp
+ 535.8333dp
+ 536.6667dp
+ 537.5000dp
+ 538.3333dp
+ 539.1667dp
+ 540.0000dp
+ 540.8333dp
+ 541.6667dp
+ 542.5000dp
+ 543.3333dp
+ 544.1667dp
+ 545.0000dp
+ 545.8333dp
+ 546.6667dp
+ 547.5000dp
+ 548.3333dp
+ 549.1667dp
+ 550.0000dp
+ 550.8333dp
+ 551.6667dp
+ 552.5000dp
+ 553.3333dp
+ 554.1667dp
+ 555.0000dp
+ 555.8333dp
+ 556.6667dp
+ 557.5000dp
+ 558.3333dp
+ 559.1667dp
+ 560.0000dp
+ 560.8333dp
+ 561.6667dp
+ 562.5000dp
+ 563.3333dp
+ 564.1667dp
+ 565.0000dp
+ 565.8333dp
+ 566.6667dp
+ 567.5000dp
+ 568.3333dp
+ 569.1667dp
+ 570.0000dp
+ 570.8333dp
+ 571.6667dp
+ 572.5000dp
+ 573.3333dp
+ 574.1667dp
+ 575.0000dp
+ 575.8333dp
+ 576.6667dp
+ 577.5000dp
+ 578.3333dp
+ 579.1667dp
+ 580.0000dp
+ 580.8333dp
+ 581.6667dp
+ 582.5000dp
+ 583.3333dp
+ 584.1667dp
+ 585.0000dp
+ 585.8333dp
+ 586.6667dp
+ 587.5000dp
+ 588.3333dp
+ 589.1667dp
+ 590.0000dp
+ 590.8333dp
+ 591.6667dp
+ 592.5000dp
+ 593.3333dp
+ 594.1667dp
+ 595.0000dp
+ 595.8333dp
+ 596.6667dp
+ 597.5000dp
+ 598.3333dp
+ 599.1667dp
+ 600.0000dp
+ 1.6667sp
+ 3.3333sp
+ 5.0000sp
+ 6.6667sp
+ 8.3333sp
+ 10.0000sp
+ 11.6667sp
+ 13.3333sp
+ 15.0000sp
+ 16.6667sp
+ 18.3333sp
+ 20.0000sp
+ 21.6667sp
+ 23.3333sp
+ 25.0000sp
+ 26.6667sp
+ 28.3333sp
+ 30.0000sp
+ 31.6667sp
+ 33.3333sp
+ 35.0000sp
+ 36.6667sp
+ 38.3333sp
+ 40.0000sp
+ 41.6667sp
+ 43.3333sp
+ 45.0000sp
+ 46.6667sp
+ 48.3333sp
+ 50.0000sp
+ 51.6667sp
+ 53.3333sp
+ 55.0000sp
+ 56.6667sp
+ 58.3333sp
+ 60.0000sp
+ 61.6667sp
+ 63.3333sp
+ 65.0000sp
+ 66.6667sp
+
diff --git a/BaseAndroidKt/src/main/res/values-sw640dp/dimens.xml b/BaseAndroidKt/src/main/res/values-sw640dp/dimens.xml
new file mode 100644
index 0000000..58f4eec
--- /dev/null
+++ b/BaseAndroidKt/src/main/res/values-sw640dp/dimens.xml
@@ -0,0 +1,764 @@
+
+
+ 640.0000dp
+ 0.8889dp
+ 1.7778dp
+ 2.6667dp
+ 3.5556dp
+ 4.4444dp
+ 5.3333dp
+ 6.2222dp
+ 7.1111dp
+ 8.0000dp
+ 8.8889dp
+ 9.7778dp
+ 10.6667dp
+ 11.5556dp
+ 12.4444dp
+ 13.3333dp
+ 14.2222dp
+ 15.1111dp
+ 16.0000dp
+ 16.8889dp
+ 17.7778dp
+ 18.6667dp
+ 19.5556dp
+ 20.4444dp
+ 21.3333dp
+ 22.2222dp
+ 23.1111dp
+ 24.0000dp
+ 24.8889dp
+ 25.7778dp
+ 26.6667dp
+ 27.5556dp
+ 28.4444dp
+ 29.3333dp
+ 30.2222dp
+ 31.1111dp
+ 32.0000dp
+ 32.8889dp
+ 33.7778dp
+ 34.6667dp
+ 35.5556dp
+ 36.4444dp
+ 37.3333dp
+ 38.2222dp
+ 39.1111dp
+ 40.0000dp
+ 40.8889dp
+ 41.7778dp
+ 42.6667dp
+ 43.5556dp
+ 44.4444dp
+ 45.3333dp
+ 46.2222dp
+ 47.1111dp
+ 48.0000dp
+ 48.8889dp
+ 49.7778dp
+ 50.6667dp
+ 51.5556dp
+ 52.4444dp
+ 53.3333dp
+ 54.2222dp
+ 55.1111dp
+ 56.0000dp
+ 56.8889dp
+ 57.7778dp
+ 58.6667dp
+ 59.5556dp
+ 60.4444dp
+ 61.3333dp
+ 62.2222dp
+ 63.1111dp
+ 64.0000dp
+ 64.8889dp
+ 65.7778dp
+ 66.6667dp
+ 67.5556dp
+ 68.4444dp
+ 69.3333dp
+ 70.2222dp
+ 71.1111dp
+ 72.0000dp
+ 72.8889dp
+ 73.7778dp
+ 74.6667dp
+ 75.5556dp
+ 76.4444dp
+ 77.3333dp
+ 78.2222dp
+ 79.1111dp
+ 80.0000dp
+ 80.8889dp
+ 81.7778dp
+ 82.6667dp
+ 83.5556dp
+ 84.4444dp
+ 85.3333dp
+ 86.2222dp
+ 87.1111dp
+ 88.0000dp
+ 88.8889dp
+ 89.7778dp
+ 90.6667dp
+ 91.5556dp
+ 92.4444dp
+ 93.3333dp
+ 94.2222dp
+ 95.1111dp
+ 96.0000dp
+ 96.8889dp
+ 97.7778dp
+ 98.6667dp
+ 99.5556dp
+ 100.4444dp
+ 101.3333dp
+ 102.2222dp
+ 103.1111dp
+ 104.0000dp
+ 104.8889dp
+ 105.7778dp
+ 106.6667dp
+ 107.5556dp
+ 108.4444dp
+ 109.3333dp
+ 110.2222dp
+ 111.1111dp
+ 112.0000dp
+ 112.8889dp
+ 113.7778dp
+ 114.6667dp
+ 115.5556dp
+ 116.4444dp
+ 117.3333dp
+ 118.2222dp
+ 119.1111dp
+ 120.0000dp
+ 120.8889dp
+ 121.7778dp
+ 122.6667dp
+ 123.5556dp
+ 124.4444dp
+ 125.3333dp
+ 126.2222dp
+ 127.1111dp
+ 128.0000dp
+ 128.8889dp
+ 129.7778dp
+ 130.6667dp
+ 131.5556dp
+ 132.4444dp
+ 133.3333dp
+ 134.2222dp
+ 135.1111dp
+ 136.0000dp
+ 136.8889dp
+ 137.7778dp
+ 138.6667dp
+ 139.5556dp
+ 140.4444dp
+ 141.3333dp
+ 142.2222dp
+ 143.1111dp
+ 144.0000dp
+ 144.8889dp
+ 145.7778dp
+ 146.6667dp
+ 147.5556dp
+ 148.4444dp
+ 149.3333dp
+ 150.2222dp
+ 151.1111dp
+ 152.0000dp
+ 152.8889dp
+ 153.7778dp
+ 154.6667dp
+ 155.5556dp
+ 156.4444dp
+ 157.3333dp
+ 158.2222dp
+ 159.1111dp
+ 160.0000dp
+ 160.8889dp
+ 161.7778dp
+ 162.6667dp
+ 163.5556dp
+ 164.4444dp
+ 165.3333dp
+ 166.2222dp
+ 167.1111dp
+ 168.0000dp
+ 168.8889dp
+ 169.7778dp
+ 170.6667dp
+ 171.5556dp
+ 172.4444dp
+ 173.3333dp
+ 174.2222dp
+ 175.1111dp
+ 176.0000dp
+ 176.8889dp
+ 177.7778dp
+ 178.6667dp
+ 179.5556dp
+ 180.4444dp
+ 181.3333dp
+ 182.2222dp
+ 183.1111dp
+ 184.0000dp
+ 184.8889dp
+ 185.7778dp
+ 186.6667dp
+ 187.5556dp
+ 188.4444dp
+ 189.3333dp
+ 190.2222dp
+ 191.1111dp
+ 192.0000dp
+ 192.8889dp
+ 193.7778dp
+ 194.6667dp
+ 195.5556dp
+ 196.4444dp
+ 197.3333dp
+ 198.2222dp
+ 199.1111dp
+ 200.0000dp
+ 200.8889dp
+ 201.7778dp
+ 202.6667dp
+ 203.5556dp
+ 204.4444dp
+ 205.3333dp
+ 206.2222dp
+ 207.1111dp
+ 208.0000dp
+ 208.8889dp
+ 209.7778dp
+ 210.6667dp
+ 211.5556dp
+ 212.4444dp
+ 213.3333dp
+ 214.2222dp
+ 215.1111dp
+ 216.0000dp
+ 216.8889dp
+ 217.7778dp
+ 218.6667dp
+ 219.5556dp
+ 220.4444dp
+ 221.3333dp
+ 222.2222dp
+ 223.1111dp
+ 224.0000dp
+ 224.8889dp
+ 225.7778dp
+ 226.6667dp
+ 227.5556dp
+ 228.4444dp
+ 229.3333dp
+ 230.2222dp
+ 231.1111dp
+ 232.0000dp
+ 232.8889dp
+ 233.7778dp
+ 234.6667dp
+ 235.5556dp
+ 236.4444dp
+ 237.3333dp
+ 238.2222dp
+ 239.1111dp
+ 240.0000dp
+ 240.8889dp
+ 241.7778dp
+ 242.6667dp
+ 243.5556dp
+ 244.4444dp
+ 245.3333dp
+ 246.2222dp
+ 247.1111dp
+ 248.0000dp
+ 248.8889dp
+ 249.7778dp
+ 250.6667dp
+ 251.5556dp
+ 252.4444dp
+ 253.3333dp
+ 254.2222dp
+ 255.1111dp
+ 256.0000dp
+ 256.8889dp
+ 257.7778dp
+ 258.6667dp
+ 259.5556dp
+ 260.4444dp
+ 261.3333dp
+ 262.2222dp
+ 263.1111dp
+ 264.0000dp
+ 264.8889dp
+ 265.7778dp
+ 266.6667dp
+ 267.5556dp
+ 268.4444dp
+ 269.3333dp
+ 270.2222dp
+ 271.1111dp
+ 272.0000dp
+ 272.8889dp
+ 273.7778dp
+ 274.6667dp
+ 275.5556dp
+ 276.4444dp
+ 277.3333dp
+ 278.2222dp
+ 279.1111dp
+ 280.0000dp
+ 280.8889dp
+ 281.7778dp
+ 282.6667dp
+ 283.5556dp
+ 284.4444dp
+ 285.3333dp
+ 286.2222dp
+ 287.1111dp
+ 288.0000dp
+ 288.8889dp
+ 289.7778dp
+ 290.6667dp
+ 291.5556dp
+ 292.4444dp
+ 293.3333dp
+ 294.2222dp
+ 295.1111dp
+ 296.0000dp
+ 296.8889dp
+ 297.7778dp
+ 298.6667dp
+ 299.5556dp
+ 300.4444dp
+ 301.3333dp
+ 302.2222dp
+ 303.1111dp
+ 304.0000dp
+ 304.8889dp
+ 305.7778dp
+ 306.6667dp
+ 307.5556dp
+ 308.4444dp
+ 309.3333dp
+ 310.2222dp
+ 311.1111dp
+ 312.0000dp
+ 312.8889dp
+ 313.7778dp
+ 314.6667dp
+ 315.5556dp
+ 316.4444dp
+ 317.3333dp
+ 318.2222dp
+ 319.1111dp
+ 320.0000dp
+ 320.8889dp
+ 321.7778dp
+ 322.6667dp
+ 323.5556dp
+ 324.4444dp
+ 325.3333dp
+ 326.2222dp
+ 327.1111dp
+ 328.0000dp
+ 328.8889dp
+ 329.7778dp
+ 330.6667dp
+ 331.5556dp
+ 332.4444dp
+ 333.3333dp
+ 334.2222dp
+ 335.1111dp
+ 336.0000dp
+ 336.8889dp
+ 337.7778dp
+ 338.6667dp
+ 339.5556dp
+ 340.4444dp
+ 341.3333dp
+ 342.2222dp
+ 343.1111dp
+ 344.0000dp
+ 344.8889dp
+ 345.7778dp
+ 346.6667dp
+ 347.5556dp
+ 348.4444dp
+ 349.3333dp
+ 350.2222dp
+ 351.1111dp
+ 352.0000dp
+ 352.8889dp
+ 353.7778dp
+ 354.6667dp
+ 355.5556dp
+ 356.4444dp
+ 357.3333dp
+ 358.2222dp
+ 359.1111dp
+ 360.0000dp
+ 360.8889dp
+ 361.7778dp
+ 362.6667dp
+ 363.5556dp
+ 364.4444dp
+ 365.3333dp
+ 366.2222dp
+ 367.1111dp
+ 368.0000dp
+ 368.8889dp
+ 369.7778dp
+ 370.6667dp
+ 371.5556dp
+ 372.4444dp
+ 373.3333dp
+ 374.2222dp
+ 375.1111dp
+ 376.0000dp
+ 376.8889dp
+ 377.7778dp
+ 378.6667dp
+ 379.5556dp
+ 380.4444dp
+ 381.3333dp
+ 382.2222dp
+ 383.1111dp
+ 384.0000dp
+ 384.8889dp
+ 385.7778dp
+ 386.6667dp
+ 387.5556dp
+ 388.4444dp
+ 389.3333dp
+ 390.2222dp
+ 391.1111dp
+ 392.0000dp
+ 392.8889dp
+ 393.7778dp
+ 394.6667dp
+ 395.5556dp
+ 396.4444dp
+ 397.3333dp
+ 398.2222dp
+ 399.1111dp
+ 400.0000dp
+ 400.8889dp
+ 401.7778dp
+ 402.6667dp
+ 403.5556dp
+ 404.4444dp
+ 405.3333dp
+ 406.2222dp
+ 407.1111dp
+ 408.0000dp
+ 408.8889dp
+ 409.7778dp
+ 410.6667dp
+ 411.5556dp
+ 412.4444dp
+ 413.3333dp
+ 414.2222dp
+ 415.1111dp
+ 416.0000dp
+ 416.8889dp
+ 417.7778dp
+ 418.6667dp
+ 419.5556dp
+ 420.4444dp
+ 421.3333dp
+ 422.2222dp
+ 423.1111dp
+ 424.0000dp
+ 424.8889dp
+ 425.7778dp
+ 426.6667dp
+ 427.5556dp
+ 428.4444dp
+ 429.3333dp
+ 430.2222dp
+ 431.1111dp
+ 432.0000dp
+ 432.8889dp
+ 433.7778dp
+ 434.6667dp
+ 435.5556dp
+ 436.4444dp
+ 437.3333dp
+ 438.2222dp
+ 439.1111dp
+ 440.0000dp
+ 440.8889dp
+ 441.7778dp
+ 442.6667dp
+ 443.5556dp
+ 444.4444dp
+ 445.3333dp
+ 446.2222dp
+ 447.1111dp
+ 448.0000dp
+ 448.8889dp
+ 449.7778dp
+ 450.6667dp
+ 451.5556dp
+ 452.4444dp
+ 453.3333dp
+ 454.2222dp
+ 455.1111dp
+ 456.0000dp
+ 456.8889dp
+ 457.7778dp
+ 458.6667dp
+ 459.5556dp
+ 460.4444dp
+ 461.3333dp
+ 462.2222dp
+ 463.1111dp
+ 464.0000dp
+ 464.8889dp
+ 465.7778dp
+ 466.6667dp
+ 467.5556dp
+ 468.4444dp
+ 469.3333dp
+ 470.2222dp
+ 471.1111dp
+ 472.0000dp
+ 472.8889dp
+ 473.7778dp
+ 474.6667dp
+ 475.5556dp
+ 476.4444dp
+ 477.3333dp
+ 478.2222dp
+ 479.1111dp
+ 480.0000dp
+ 480.8889dp
+ 481.7778dp
+ 482.6667dp
+ 483.5556dp
+ 484.4444dp
+ 485.3333dp
+ 486.2222dp
+ 487.1111dp
+ 488.0000dp
+ 488.8889dp
+ 489.7778dp
+ 490.6667dp
+ 491.5556dp
+ 492.4444dp
+ 493.3333dp
+ 494.2222dp
+ 495.1111dp
+ 496.0000dp
+ 496.8889dp
+ 497.7778dp
+ 498.6667dp
+ 499.5556dp
+ 500.4444dp
+ 501.3333dp
+ 502.2222dp
+ 503.1111dp
+ 504.0000dp
+ 504.8889dp
+ 505.7778dp
+ 506.6667dp
+ 507.5556dp
+ 508.4444dp
+ 509.3333dp
+ 510.2222dp
+ 511.1111dp
+ 512.0000dp
+ 512.8889dp
+ 513.7778dp
+ 514.6667dp
+ 515.5556dp
+ 516.4444dp
+ 517.3333dp
+ 518.2222dp
+ 519.1111dp
+ 520.0000dp
+ 520.8889dp
+ 521.7778dp
+ 522.6667dp
+ 523.5556dp
+ 524.4444dp
+ 525.3333dp
+ 526.2222dp
+ 527.1111dp
+ 528.0000dp
+ 528.8889dp
+ 529.7778dp
+ 530.6667dp
+ 531.5556dp
+ 532.4444dp
+ 533.3333dp
+ 534.2222dp
+ 535.1111dp
+ 536.0000dp
+ 536.8889dp
+ 537.7778dp
+ 538.6667dp
+ 539.5556dp
+ 540.4444dp
+ 541.3333dp
+ 542.2222dp
+ 543.1111dp
+ 544.0000dp
+ 544.8889dp
+ 545.7778dp
+ 546.6667dp
+ 547.5556dp
+ 548.4444dp
+ 549.3333dp
+ 550.2222dp
+ 551.1111dp
+ 552.0000dp
+ 552.8889dp
+ 553.7778dp
+ 554.6667dp
+ 555.5556dp
+ 556.4444dp
+ 557.3333dp
+ 558.2222dp
+ 559.1111dp
+ 560.0000dp
+ 560.8889dp
+ 561.7778dp
+ 562.6667dp
+ 563.5556dp
+ 564.4444dp
+ 565.3333dp
+ 566.2222dp
+ 567.1111dp
+ 568.0000dp
+ 568.8889dp
+ 569.7778dp
+ 570.6667dp
+ 571.5556dp
+ 572.4444dp
+ 573.3333dp
+ 574.2222dp
+ 575.1111dp
+ 576.0000dp
+ 576.8889dp
+ 577.7778dp
+ 578.6667dp
+ 579.5556dp
+ 580.4444dp
+ 581.3333dp
+ 582.2222dp
+ 583.1111dp
+ 584.0000dp
+ 584.8889dp
+ 585.7778dp
+ 586.6667dp
+ 587.5556dp
+ 588.4444dp
+ 589.3333dp
+ 590.2222dp
+ 591.1111dp
+ 592.0000dp
+ 592.8889dp
+ 593.7778dp
+ 594.6667dp
+ 595.5556dp
+ 596.4444dp
+ 597.3333dp
+ 598.2222dp
+ 599.1111dp
+ 600.0000dp
+ 600.8889dp
+ 601.7778dp
+ 602.6667dp
+ 603.5556dp
+ 604.4444dp
+ 605.3333dp
+ 606.2222dp
+ 607.1111dp
+ 608.0000dp
+ 608.8889dp
+ 609.7778dp
+ 610.6667dp
+ 611.5556dp
+ 612.4444dp
+ 613.3333dp
+ 614.2222dp
+ 615.1111dp
+ 616.0000dp
+ 616.8889dp
+ 617.7778dp
+ 618.6667dp
+ 619.5556dp
+ 620.4444dp
+ 621.3333dp
+ 622.2222dp
+ 623.1111dp
+ 624.0000dp
+ 624.8889dp
+ 625.7778dp
+ 626.6667dp
+ 627.5556dp
+ 628.4444dp
+ 629.3333dp
+ 630.2222dp
+ 631.1111dp
+ 632.0000dp
+ 632.8889dp
+ 633.7778dp
+ 634.6667dp
+ 635.5556dp
+ 636.4444dp
+ 637.3333dp
+ 638.2222dp
+ 639.1111dp
+ 640.0000dp
+ 1.7778sp
+ 3.5556sp
+ 5.3333sp
+ 7.1111sp
+ 8.8889sp
+ 10.6667sp
+ 12.4444sp
+ 14.2222sp
+ 16.0000sp
+ 17.7778sp
+ 19.5556sp
+ 21.3333sp
+ 23.1111sp
+ 24.8889sp
+ 26.6667sp
+ 28.4444sp
+ 30.2222sp
+ 32.0000sp
+ 33.7778sp
+ 35.5556sp
+ 37.3333sp
+ 39.1111sp
+ 40.8889sp
+ 42.6667sp
+ 44.4444sp
+ 46.2222sp
+ 48.0000sp
+ 49.7778sp
+ 51.5556sp
+ 53.3333sp
+ 55.1111sp
+ 56.8889sp
+ 58.6667sp
+ 60.4444sp
+ 62.2222sp
+ 64.0000sp
+ 65.7778sp
+ 67.5556sp
+ 69.3333sp
+ 71.1111sp
+
diff --git a/BaseAndroidKt/src/main/res/values-sw662dp/dimens.xml b/BaseAndroidKt/src/main/res/values-sw662dp/dimens.xml
new file mode 100644
index 0000000..ad8e82a
--- /dev/null
+++ b/BaseAndroidKt/src/main/res/values-sw662dp/dimens.xml
@@ -0,0 +1,764 @@
+
+
+ 662.0000dp
+ 0.9194dp
+ 1.8389dp
+ 2.7583dp
+ 3.6778dp
+ 4.5972dp
+ 5.5167dp
+ 6.4361dp
+ 7.3556dp
+ 8.2750dp
+ 9.1944dp
+ 10.1139dp
+ 11.0333dp
+ 11.9528dp
+ 12.8722dp
+ 13.7917dp
+ 14.7111dp
+ 15.6306dp
+ 16.5500dp
+ 17.4694dp
+ 18.3889dp
+ 19.3083dp
+ 20.2278dp
+ 21.1472dp
+ 22.0667dp
+ 22.9861dp
+ 23.9056dp
+ 24.8250dp
+ 25.7444dp
+ 26.6639dp
+ 27.5833dp
+ 28.5028dp
+ 29.4222dp
+ 30.3417dp
+ 31.2611dp
+ 32.1806dp
+ 33.1000dp
+ 34.0194dp
+ 34.9389dp
+ 35.8583dp
+ 36.7778dp
+ 37.6972dp
+ 38.6167dp
+ 39.5361dp
+ 40.4556dp
+ 41.3750dp
+ 42.2944dp
+ 43.2139dp
+ 44.1333dp
+ 45.0528dp
+ 45.9722dp
+ 46.8917dp
+ 47.8111dp
+ 48.7306dp
+ 49.6500dp
+ 50.5694dp
+ 51.4889dp
+ 52.4083dp
+ 53.3278dp
+ 54.2472dp
+ 55.1667dp
+ 56.0861dp
+ 57.0056dp
+ 57.9250dp
+ 58.8444dp
+ 59.7639dp
+ 60.6833dp
+ 61.6028dp
+ 62.5222dp
+ 63.4417dp
+ 64.3611dp
+ 65.2806dp
+ 66.2000dp
+ 67.1194dp
+ 68.0389dp
+ 68.9583dp
+ 69.8778dp
+ 70.7972dp
+ 71.7167dp
+ 72.6361dp
+ 73.5556dp
+ 74.4750dp
+ 75.3944dp
+ 76.3139dp
+ 77.2333dp
+ 78.1528dp
+ 79.0722dp
+ 79.9917dp
+ 80.9111dp
+ 81.8306dp
+ 82.7500dp
+ 83.6694dp
+ 84.5889dp
+ 85.5083dp
+ 86.4278dp
+ 87.3472dp
+ 88.2667dp
+ 89.1861dp
+ 90.1056dp
+ 91.0250dp
+ 91.9444dp
+ 92.8639dp
+ 93.7833dp
+ 94.7028dp
+ 95.6222dp
+ 96.5417dp
+ 97.4611dp
+ 98.3806dp
+ 99.3000dp
+ 100.2194dp
+ 101.1389dp
+ 102.0583dp
+ 102.9778dp
+ 103.8972dp
+ 104.8167dp
+ 105.7361dp
+ 106.6556dp
+ 107.5750dp
+ 108.4944dp
+ 109.4139dp
+ 110.3333dp
+ 111.2528dp
+ 112.1722dp
+ 113.0917dp
+ 114.0111dp
+ 114.9306dp
+ 115.8500dp
+ 116.7694dp
+ 117.6889dp
+ 118.6083dp
+ 119.5278dp
+ 120.4472dp
+ 121.3667dp
+ 122.2861dp
+ 123.2056dp
+ 124.1250dp
+ 125.0444dp
+ 125.9639dp
+ 126.8833dp
+ 127.8028dp
+ 128.7222dp
+ 129.6417dp
+ 130.5611dp
+ 131.4806dp
+ 132.4000dp
+ 133.3194dp
+ 134.2389dp
+ 135.1583dp
+ 136.0778dp
+ 136.9972dp
+ 137.9167dp
+ 138.8361dp
+ 139.7556dp
+ 140.6750dp
+ 141.5944dp
+ 142.5139dp
+ 143.4333dp
+ 144.3528dp
+ 145.2722dp
+ 146.1917dp
+ 147.1111dp
+ 148.0306dp
+ 148.9500dp
+ 149.8694dp
+ 150.7889dp
+ 151.7083dp
+ 152.6278dp
+ 153.5472dp
+ 154.4667dp
+ 155.3861dp
+ 156.3056dp
+ 157.2250dp
+ 158.1444dp
+ 159.0639dp
+ 159.9833dp
+ 160.9028dp
+ 161.8222dp
+ 162.7417dp
+ 163.6611dp
+ 164.5806dp
+ 165.5000dp
+ 166.4194dp
+ 167.3389dp
+ 168.2583dp
+ 169.1778dp
+ 170.0972dp
+ 171.0167dp
+ 171.9361dp
+ 172.8556dp
+ 173.7750dp
+ 174.6944dp
+ 175.6139dp
+ 176.5333dp
+ 177.4528dp
+ 178.3722dp
+ 179.2917dp
+ 180.2111dp
+ 181.1306dp
+ 182.0500dp
+ 182.9694dp
+ 183.8889dp
+ 184.8083dp
+ 185.7278dp
+ 186.6472dp
+ 187.5667dp
+ 188.4861dp
+ 189.4056dp
+ 190.3250dp
+ 191.2444dp
+ 192.1639dp
+ 193.0833dp
+ 194.0028dp
+ 194.9222dp
+ 195.8417dp
+ 196.7611dp
+ 197.6806dp
+ 198.6000dp
+ 199.5194dp
+ 200.4389dp
+ 201.3583dp
+ 202.2778dp
+ 203.1972dp
+ 204.1167dp
+ 205.0361dp
+ 205.9556dp
+ 206.8750dp
+ 207.7944dp
+ 208.7139dp
+ 209.6333dp
+ 210.5528dp
+ 211.4722dp
+ 212.3917dp
+ 213.3111dp
+ 214.2306dp
+ 215.1500dp
+ 216.0694dp
+ 216.9889dp
+ 217.9083dp
+ 218.8278dp
+ 219.7472dp
+ 220.6667dp
+ 221.5861dp
+ 222.5056dp
+ 223.4250dp
+ 224.3444dp
+ 225.2639dp
+ 226.1833dp
+ 227.1028dp
+ 228.0222dp
+ 228.9417dp
+ 229.8611dp
+ 230.7806dp
+ 231.7000dp
+ 232.6194dp
+ 233.5389dp
+ 234.4583dp
+ 235.3778dp
+ 236.2972dp
+ 237.2167dp
+ 238.1361dp
+ 239.0556dp
+ 239.9750dp
+ 240.8944dp
+ 241.8139dp
+ 242.7333dp
+ 243.6528dp
+ 244.5722dp
+ 245.4917dp
+ 246.4111dp
+ 247.3306dp
+ 248.2500dp
+ 249.1694dp
+ 250.0889dp
+ 251.0083dp
+ 251.9278dp
+ 252.8472dp
+ 253.7667dp
+ 254.6861dp
+ 255.6056dp
+ 256.5250dp
+ 257.4444dp
+ 258.3639dp
+ 259.2833dp
+ 260.2028dp
+ 261.1222dp
+ 262.0417dp
+ 262.9611dp
+ 263.8806dp
+ 264.8000dp
+ 265.7194dp
+ 266.6389dp
+ 267.5583dp
+ 268.4778dp
+ 269.3972dp
+ 270.3167dp
+ 271.2361dp
+ 272.1556dp
+ 273.0750dp
+ 273.9944dp
+ 274.9139dp
+ 275.8333dp
+ 276.7528dp
+ 277.6722dp
+ 278.5917dp
+ 279.5111dp
+ 280.4306dp
+ 281.3500dp
+ 282.2694dp
+ 283.1889dp
+ 284.1083dp
+ 285.0278dp
+ 285.9472dp
+ 286.8667dp
+ 287.7861dp
+ 288.7056dp
+ 289.6250dp
+ 290.5444dp
+ 291.4639dp
+ 292.3833dp
+ 293.3028dp
+ 294.2222dp
+ 295.1417dp
+ 296.0611dp
+ 296.9806dp
+ 297.9000dp
+ 298.8194dp
+ 299.7389dp
+ 300.6583dp
+ 301.5778dp
+ 302.4972dp
+ 303.4167dp
+ 304.3361dp
+ 305.2556dp
+ 306.1750dp
+ 307.0944dp
+ 308.0139dp
+ 308.9333dp
+ 309.8528dp
+ 310.7722dp
+ 311.6917dp
+ 312.6111dp
+ 313.5306dp
+ 314.4500dp
+ 315.3694dp
+ 316.2889dp
+ 317.2083dp
+ 318.1278dp
+ 319.0472dp
+ 319.9667dp
+ 320.8861dp
+ 321.8056dp
+ 322.7250dp
+ 323.6444dp
+ 324.5639dp
+ 325.4833dp
+ 326.4028dp
+ 327.3222dp
+ 328.2417dp
+ 329.1611dp
+ 330.0806dp
+ 331.0000dp
+ 331.9194dp
+ 332.8389dp
+ 333.7583dp
+ 334.6778dp
+ 335.5972dp
+ 336.5167dp
+ 337.4361dp
+ 338.3556dp
+ 339.2750dp
+ 340.1944dp
+ 341.1139dp
+ 342.0333dp
+ 342.9528dp
+ 343.8722dp
+ 344.7917dp
+ 345.7111dp
+ 346.6306dp
+ 347.5500dp
+ 348.4694dp
+ 349.3889dp
+ 350.3083dp
+ 351.2278dp
+ 352.1472dp
+ 353.0667dp
+ 353.9861dp
+ 354.9056dp
+ 355.8250dp
+ 356.7444dp
+ 357.6639dp
+ 358.5833dp
+ 359.5028dp
+ 360.4222dp
+ 361.3417dp
+ 362.2611dp
+ 363.1806dp
+ 364.1000dp
+ 365.0194dp
+ 365.9389dp
+ 366.8583dp
+ 367.7778dp
+ 368.6972dp
+ 369.6167dp
+ 370.5361dp
+ 371.4556dp
+ 372.3750dp
+ 373.2944dp
+ 374.2139dp
+ 375.1333dp
+ 376.0528dp
+ 376.9722dp
+ 377.8917dp
+ 378.8111dp
+ 379.7306dp
+ 380.6500dp
+ 381.5694dp
+ 382.4889dp
+ 383.4083dp
+ 384.3278dp
+ 385.2472dp
+ 386.1667dp
+ 387.0861dp
+ 388.0056dp
+ 388.9250dp
+ 389.8444dp
+ 390.7639dp
+ 391.6833dp
+ 392.6028dp
+ 393.5222dp
+ 394.4417dp
+ 395.3611dp
+ 396.2806dp
+ 397.2000dp
+ 398.1194dp
+ 399.0389dp
+ 399.9583dp
+ 400.8778dp
+ 401.7972dp
+ 402.7167dp
+ 403.6361dp
+ 404.5556dp
+ 405.4750dp
+ 406.3944dp
+ 407.3139dp
+ 408.2333dp
+ 409.1528dp
+ 410.0722dp
+ 410.9917dp
+ 411.9111dp
+ 412.8306dp
+ 413.7500dp
+ 414.6694dp
+ 415.5889dp
+ 416.5083dp
+ 417.4278dp
+ 418.3472dp
+ 419.2667dp
+ 420.1861dp
+ 421.1056dp
+ 422.0250dp
+ 422.9444dp
+ 423.8639dp
+ 424.7833dp
+ 425.7028dp
+ 426.6222dp
+ 427.5417dp
+ 428.4611dp
+ 429.3806dp
+ 430.3000dp
+ 431.2194dp
+ 432.1389dp
+ 433.0583dp
+ 433.9778dp
+ 434.8972dp
+ 435.8167dp
+ 436.7361dp
+ 437.6556dp
+ 438.5750dp
+ 439.4944dp
+ 440.4139dp
+ 441.3333dp
+ 442.2528dp
+ 443.1722dp
+ 444.0917dp
+ 445.0111dp
+ 445.9306dp
+ 446.8500dp
+ 447.7694dp
+ 448.6889dp
+ 449.6083dp
+ 450.5278dp
+ 451.4472dp
+ 452.3667dp
+ 453.2861dp
+ 454.2056dp
+ 455.1250dp
+ 456.0444dp
+ 456.9639dp
+ 457.8833dp
+ 458.8028dp
+ 459.7222dp
+ 460.6417dp
+ 461.5611dp
+ 462.4806dp
+ 463.4000dp
+ 464.3194dp
+ 465.2389dp
+ 466.1583dp
+ 467.0778dp
+ 467.9972dp
+ 468.9167dp
+ 469.8361dp
+ 470.7556dp
+ 471.6750dp
+ 472.5944dp
+ 473.5139dp
+ 474.4333dp
+ 475.3528dp
+ 476.2722dp
+ 477.1917dp
+ 478.1111dp
+ 479.0306dp
+ 479.9500dp
+ 480.8694dp
+ 481.7889dp
+ 482.7083dp
+ 483.6278dp
+ 484.5472dp
+ 485.4667dp
+ 486.3861dp
+ 487.3056dp
+ 488.2250dp
+ 489.1444dp
+ 490.0639dp
+ 490.9833dp
+ 491.9028dp
+ 492.8222dp
+ 493.7417dp
+ 494.6611dp
+ 495.5806dp
+ 496.5000dp
+ 497.4194dp
+ 498.3389dp
+ 499.2583dp
+ 500.1778dp
+ 501.0972dp
+ 502.0167dp
+ 502.9361dp
+ 503.8556dp
+ 504.7750dp
+ 505.6944dp
+ 506.6139dp
+ 507.5333dp
+ 508.4528dp
+ 509.3722dp
+ 510.2917dp
+ 511.2111dp
+ 512.1306dp
+ 513.0500dp
+ 513.9694dp
+ 514.8889dp
+ 515.8083dp
+ 516.7278dp
+ 517.6472dp
+ 518.5667dp
+ 519.4861dp
+ 520.4056dp
+ 521.3250dp
+ 522.2444dp
+ 523.1639dp
+ 524.0833dp
+ 525.0028dp
+ 525.9222dp
+ 526.8417dp
+ 527.7611dp
+ 528.6806dp
+ 529.6000dp
+ 530.5194dp
+ 531.4389dp
+ 532.3583dp
+ 533.2778dp
+ 534.1972dp
+ 535.1167dp
+ 536.0361dp
+ 536.9556dp
+ 537.8750dp
+ 538.7944dp
+ 539.7139dp
+ 540.6333dp
+ 541.5528dp
+ 542.4722dp
+ 543.3917dp
+ 544.3111dp
+ 545.2306dp
+ 546.1500dp
+ 547.0694dp
+ 547.9889dp
+ 548.9083dp
+ 549.8278dp
+ 550.7472dp
+ 551.6667dp
+ 552.5861dp
+ 553.5056dp
+ 554.4250dp
+ 555.3444dp
+ 556.2639dp
+ 557.1833dp
+ 558.1028dp
+ 559.0222dp
+ 559.9417dp
+ 560.8611dp
+ 561.7806dp
+ 562.7000dp
+ 563.6194dp
+ 564.5389dp
+ 565.4583dp
+ 566.3778dp
+ 567.2972dp
+ 568.2167dp
+ 569.1361dp
+ 570.0556dp
+ 570.9750dp
+ 571.8944dp
+ 572.8139dp
+ 573.7333dp
+ 574.6528dp
+ 575.5722dp
+ 576.4917dp
+ 577.4111dp
+ 578.3306dp
+ 579.2500dp
+ 580.1694dp
+ 581.0889dp
+ 582.0083dp
+ 582.9278dp
+ 583.8472dp
+ 584.7667dp
+ 585.6861dp
+ 586.6056dp
+ 587.5250dp
+ 588.4444dp
+ 589.3639dp
+ 590.2833dp
+ 591.2028dp
+ 592.1222dp
+ 593.0417dp
+ 593.9611dp
+ 594.8806dp
+ 595.8000dp
+ 596.7194dp
+ 597.6389dp
+ 598.5583dp
+ 599.4778dp
+ 600.3972dp
+ 601.3167dp
+ 602.2361dp
+ 603.1556dp
+ 604.0750dp
+ 604.9944dp
+ 605.9139dp
+ 606.8333dp
+ 607.7528dp
+ 608.6722dp
+ 609.5917dp
+ 610.5111dp
+ 611.4306dp
+ 612.3500dp
+ 613.2694dp
+ 614.1889dp
+ 615.1083dp
+ 616.0278dp
+ 616.9472dp
+ 617.8667dp
+ 618.7861dp
+ 619.7056dp
+ 620.6250dp
+ 621.5444dp
+ 622.4639dp
+ 623.3833dp
+ 624.3028dp
+ 625.2222dp
+ 626.1417dp
+ 627.0611dp
+ 627.9806dp
+ 628.9000dp
+ 629.8194dp
+ 630.7389dp
+ 631.6583dp
+ 632.5778dp
+ 633.4972dp
+ 634.4167dp
+ 635.3361dp
+ 636.2556dp
+ 637.1750dp
+ 638.0944dp
+ 639.0139dp
+ 639.9333dp
+ 640.8528dp
+ 641.7722dp
+ 642.6917dp
+ 643.6111dp
+ 644.5306dp
+ 645.4500dp
+ 646.3694dp
+ 647.2889dp
+ 648.2083dp
+ 649.1278dp
+ 650.0472dp
+ 650.9667dp
+ 651.8861dp
+ 652.8056dp
+ 653.7250dp
+ 654.6444dp
+ 655.5639dp
+ 656.4833dp
+ 657.4028dp
+ 658.3222dp
+ 659.2417dp
+ 660.1611dp
+ 661.0806dp
+ 662.0000dp
+ 1.8389sp
+ 3.6778sp
+ 5.5167sp
+ 7.3556sp
+ 9.1944sp
+ 11.0333sp
+ 12.8722sp
+ 14.7111sp
+ 16.5500sp
+ 18.3889sp
+ 20.2278sp
+ 22.0667sp
+ 23.9056sp
+ 25.7444sp
+ 27.5833sp
+ 29.4222sp
+ 31.2611sp
+ 33.1000sp
+ 34.9389sp
+ 36.7778sp
+ 38.6167sp
+ 40.4556sp
+ 42.2944sp
+ 44.1333sp
+ 45.9722sp
+ 47.8111sp
+ 49.6500sp
+ 51.4889sp
+ 53.3278sp
+ 55.1667sp
+ 57.0056sp
+ 58.8444sp
+ 60.6833sp
+ 62.5222sp
+ 64.3611sp
+ 66.2000sp
+ 68.0389sp
+ 69.8778sp
+ 71.7167sp
+ 73.5556sp
+
diff --git a/BaseAndroidKt/src/main/res/values-sw720dp/dimens.xml b/BaseAndroidKt/src/main/res/values-sw720dp/dimens.xml
new file mode 100644
index 0000000..ad40958
--- /dev/null
+++ b/BaseAndroidKt/src/main/res/values-sw720dp/dimens.xml
@@ -0,0 +1,764 @@
+
+
+ 720.0000dp
+ 1.0000dp
+ 2.0000dp
+ 3.0000dp
+ 4.0000dp
+ 5.0000dp
+ 6.0000dp
+ 7.0000dp
+ 8.0000dp
+ 9.0000dp
+ 10.0000dp
+ 11.0000dp
+ 12.0000dp
+ 13.0000dp
+ 14.0000dp
+ 15.0000dp
+ 16.0000dp
+ 17.0000dp
+ 18.0000dp
+ 19.0000dp
+ 20.0000dp
+ 21.0000dp
+ 22.0000dp
+ 23.0000dp
+ 24.0000dp
+ 25.0000dp
+ 26.0000dp
+ 27.0000dp
+ 28.0000dp
+ 29.0000dp
+ 30.0000dp
+ 31.0000dp
+ 32.0000dp
+ 33.0000dp
+ 34.0000dp
+ 35.0000dp
+ 36.0000dp
+ 37.0000dp
+ 38.0000dp
+ 39.0000dp
+ 40.0000dp
+ 41.0000dp
+ 42.0000dp
+ 43.0000dp
+ 44.0000dp
+ 45.0000dp
+ 46.0000dp
+ 47.0000dp
+ 48.0000dp
+ 49.0000dp
+ 50.0000dp
+ 51.0000dp
+ 52.0000dp
+ 53.0000dp
+ 54.0000dp
+ 55.0000dp
+ 56.0000dp
+ 57.0000dp
+ 58.0000dp
+ 59.0000dp
+ 60.0000dp
+ 61.0000dp
+ 62.0000dp
+ 63.0000dp
+ 64.0000dp
+ 65.0000dp
+ 66.0000dp
+ 67.0000dp
+ 68.0000dp
+ 69.0000dp
+ 70.0000dp
+ 71.0000dp
+ 72.0000dp
+ 73.0000dp
+ 74.0000dp
+ 75.0000dp
+ 76.0000dp
+ 77.0000dp
+ 78.0000dp
+ 79.0000dp
+ 80.0000dp
+ 81.0000dp
+ 82.0000dp
+ 83.0000dp
+ 84.0000dp
+ 85.0000dp
+ 86.0000dp
+ 87.0000dp
+ 88.0000dp
+ 89.0000dp
+ 90.0000dp
+ 91.0000dp
+ 92.0000dp
+ 93.0000dp
+ 94.0000dp
+ 95.0000dp
+ 96.0000dp
+ 97.0000dp
+ 98.0000dp
+ 99.0000dp
+ 100.0000dp
+ 101.0000dp
+ 102.0000dp
+ 103.0000dp
+ 104.0000dp
+ 105.0000dp
+ 106.0000dp
+ 107.0000dp
+ 108.0000dp
+ 109.0000dp
+ 110.0000dp
+ 111.0000dp
+ 112.0000dp
+ 113.0000dp
+ 114.0000dp
+ 115.0000dp
+ 116.0000dp
+ 117.0000dp
+ 118.0000dp
+ 119.0000dp
+ 120.0000dp
+ 121.0000dp
+ 122.0000dp
+ 123.0000dp
+ 124.0000dp
+ 125.0000dp
+ 126.0000dp
+ 127.0000dp
+ 128.0000dp
+ 129.0000dp
+ 130.0000dp
+ 131.0000dp
+ 132.0000dp
+ 133.0000dp
+ 134.0000dp
+ 135.0000dp
+ 136.0000dp
+ 137.0000dp
+ 138.0000dp
+ 139.0000dp
+ 140.0000dp
+ 141.0000dp
+ 142.0000dp
+ 143.0000dp
+ 144.0000dp
+ 145.0000dp
+ 146.0000dp
+ 147.0000dp
+ 148.0000dp
+ 149.0000dp
+ 150.0000dp
+ 151.0000dp
+ 152.0000dp
+ 153.0000dp
+ 154.0000dp
+ 155.0000dp
+ 156.0000dp
+ 157.0000dp
+ 158.0000dp
+ 159.0000dp
+ 160.0000dp
+ 161.0000dp
+ 162.0000dp
+ 163.0000dp
+ 164.0000dp
+ 165.0000dp
+ 166.0000dp
+ 167.0000dp
+ 168.0000dp
+ 169.0000dp
+ 170.0000dp
+ 171.0000dp
+ 172.0000dp
+ 173.0000dp
+ 174.0000dp
+ 175.0000dp
+ 176.0000dp
+ 177.0000dp
+ 178.0000dp
+ 179.0000dp
+ 180.0000dp
+ 181.0000dp
+ 182.0000dp
+ 183.0000dp
+ 184.0000dp
+ 185.0000dp
+ 186.0000dp
+ 187.0000dp
+ 188.0000dp
+ 189.0000dp
+ 190.0000dp
+ 191.0000dp
+ 192.0000dp
+ 193.0000dp
+ 194.0000dp
+ 195.0000dp
+ 196.0000dp
+ 197.0000dp
+ 198.0000dp
+ 199.0000dp
+ 200.0000dp
+ 201.0000dp
+ 202.0000dp
+ 203.0000dp
+ 204.0000dp
+ 205.0000dp
+ 206.0000dp
+ 207.0000dp
+ 208.0000dp
+ 209.0000dp
+ 210.0000dp
+ 211.0000dp
+ 212.0000dp
+ 213.0000dp
+ 214.0000dp
+ 215.0000dp
+ 216.0000dp
+ 217.0000dp
+ 218.0000dp
+ 219.0000dp
+ 220.0000dp
+ 221.0000dp
+ 222.0000dp
+ 223.0000dp
+ 224.0000dp
+ 225.0000dp
+ 226.0000dp
+ 227.0000dp
+ 228.0000dp
+ 229.0000dp
+ 230.0000dp
+ 231.0000dp
+ 232.0000dp
+ 233.0000dp
+ 234.0000dp
+ 235.0000dp
+ 236.0000dp
+ 237.0000dp
+ 238.0000dp
+ 239.0000dp
+ 240.0000dp
+ 241.0000dp
+ 242.0000dp
+ 243.0000dp
+ 244.0000dp
+ 245.0000dp
+ 246.0000dp
+ 247.0000dp
+ 248.0000dp
+ 249.0000dp
+ 250.0000dp
+ 251.0000dp
+ 252.0000dp
+ 253.0000dp
+ 254.0000dp
+ 255.0000dp
+ 256.0000dp
+ 257.0000dp
+ 258.0000dp
+ 259.0000dp
+ 260.0000dp
+ 261.0000dp
+ 262.0000dp
+ 263.0000dp
+ 264.0000dp
+ 265.0000dp
+ 266.0000dp
+ 267.0000dp
+ 268.0000dp
+ 269.0000dp
+ 270.0000dp
+ 271.0000dp
+ 272.0000dp
+ 273.0000dp
+ 274.0000dp
+ 275.0000dp
+ 276.0000dp
+ 277.0000dp
+ 278.0000dp
+ 279.0000dp
+ 280.0000dp
+ 281.0000dp
+ 282.0000dp
+ 283.0000dp
+ 284.0000dp
+ 285.0000dp
+ 286.0000dp
+ 287.0000dp
+ 288.0000dp
+ 289.0000dp
+ 290.0000dp
+ 291.0000dp
+ 292.0000dp
+ 293.0000dp
+ 294.0000dp
+ 295.0000dp
+ 296.0000dp
+ 297.0000dp
+ 298.0000dp
+ 299.0000dp
+ 300.0000dp
+ 301.0000dp
+ 302.0000dp
+ 303.0000dp
+ 304.0000dp
+ 305.0000dp
+ 306.0000dp
+ 307.0000dp
+ 308.0000dp
+ 309.0000dp
+ 310.0000dp
+ 311.0000dp
+ 312.0000dp
+ 313.0000dp
+ 314.0000dp
+ 315.0000dp
+ 316.0000dp
+ 317.0000dp
+ 318.0000dp
+ 319.0000dp
+ 320.0000dp
+ 321.0000dp
+ 322.0000dp
+ 323.0000dp
+ 324.0000dp
+ 325.0000dp
+ 326.0000dp
+ 327.0000dp
+ 328.0000dp
+ 329.0000dp
+ 330.0000dp
+ 331.0000dp
+ 332.0000dp
+ 333.0000dp
+ 334.0000dp
+ 335.0000dp
+ 336.0000dp
+ 337.0000dp
+ 338.0000dp
+ 339.0000dp
+ 340.0000dp
+ 341.0000dp
+ 342.0000dp
+ 343.0000dp
+ 344.0000dp
+ 345.0000dp
+ 346.0000dp
+ 347.0000dp
+ 348.0000dp
+ 349.0000dp
+ 350.0000dp
+ 351.0000dp
+ 352.0000dp
+ 353.0000dp
+ 354.0000dp
+ 355.0000dp
+ 356.0000dp
+ 357.0000dp
+ 358.0000dp
+ 359.0000dp
+ 360.0000dp
+ 361.0000dp
+ 362.0000dp
+ 363.0000dp
+ 364.0000dp
+ 365.0000dp
+ 366.0000dp
+ 367.0000dp
+ 368.0000dp
+ 369.0000dp
+ 370.0000dp
+ 371.0000dp
+ 372.0000dp
+ 373.0000dp
+ 374.0000dp
+ 375.0000dp
+ 376.0000dp
+ 377.0000dp
+ 378.0000dp
+ 379.0000dp
+ 380.0000dp
+ 381.0000dp
+ 382.0000dp
+ 383.0000dp
+ 384.0000dp
+ 385.0000dp
+ 386.0000dp
+ 387.0000dp
+ 388.0000dp
+ 389.0000dp
+ 390.0000dp
+ 391.0000dp
+ 392.0000dp
+ 393.0000dp
+ 394.0000dp
+ 395.0000dp
+ 396.0000dp
+ 397.0000dp
+ 398.0000dp
+ 399.0000dp
+ 400.0000dp
+ 401.0000dp
+ 402.0000dp
+ 403.0000dp
+ 404.0000dp
+ 405.0000dp
+ 406.0000dp
+ 407.0000dp
+ 408.0000dp
+ 409.0000dp
+ 410.0000dp
+ 411.0000dp
+ 412.0000dp
+ 413.0000dp
+ 414.0000dp
+ 415.0000dp
+ 416.0000dp
+ 417.0000dp
+ 418.0000dp
+ 419.0000dp
+ 420.0000dp
+ 421.0000dp
+ 422.0000dp
+ 423.0000dp
+ 424.0000dp
+ 425.0000dp
+ 426.0000dp
+ 427.0000dp
+ 428.0000dp
+ 429.0000dp
+ 430.0000dp
+ 431.0000dp
+ 432.0000dp
+ 433.0000dp
+ 434.0000dp
+ 435.0000dp
+ 436.0000dp
+ 437.0000dp
+ 438.0000dp
+ 439.0000dp
+ 440.0000dp
+ 441.0000dp
+ 442.0000dp
+ 443.0000dp
+ 444.0000dp
+ 445.0000dp
+ 446.0000dp
+ 447.0000dp
+ 448.0000dp
+ 449.0000dp
+ 450.0000dp
+ 451.0000dp
+ 452.0000dp
+ 453.0000dp
+ 454.0000dp
+ 455.0000dp
+ 456.0000dp
+ 457.0000dp
+ 458.0000dp
+ 459.0000dp
+ 460.0000dp
+ 461.0000dp
+ 462.0000dp
+ 463.0000dp
+ 464.0000dp
+ 465.0000dp
+ 466.0000dp
+ 467.0000dp
+ 468.0000dp
+ 469.0000dp
+ 470.0000dp
+ 471.0000dp
+ 472.0000dp
+ 473.0000dp
+ 474.0000dp
+ 475.0000dp
+ 476.0000dp
+ 477.0000dp
+ 478.0000dp
+ 479.0000dp
+ 480.0000dp
+ 481.0000dp
+ 482.0000dp
+ 483.0000dp
+ 484.0000dp
+ 485.0000dp
+ 486.0000dp
+ 487.0000dp
+ 488.0000dp
+ 489.0000dp
+ 490.0000dp
+ 491.0000dp
+ 492.0000dp
+ 493.0000dp
+ 494.0000dp
+ 495.0000dp
+ 496.0000dp
+ 497.0000dp
+ 498.0000dp
+ 499.0000dp
+ 500.0000dp
+ 501.0000dp
+ 502.0000dp
+ 503.0000dp
+ 504.0000dp
+ 505.0000dp
+ 506.0000dp
+ 507.0000dp
+ 508.0000dp
+ 509.0000dp
+ 510.0000dp
+ 511.0000dp
+ 512.0000dp
+ 513.0000dp
+ 514.0000dp
+ 515.0000dp
+ 516.0000dp
+ 517.0000dp
+ 518.0000dp
+ 519.0000dp
+ 520.0000dp
+ 521.0000dp
+ 522.0000dp
+ 523.0000dp
+ 524.0000dp
+ 525.0000dp
+ 526.0000dp
+ 527.0000dp
+ 528.0000dp
+ 529.0000dp
+ 530.0000dp
+ 531.0000dp
+ 532.0000dp
+ 533.0000dp
+ 534.0000dp
+ 535.0000dp
+ 536.0000dp
+ 537.0000dp
+ 538.0000dp
+ 539.0000dp
+ 540.0000dp
+ 541.0000dp
+ 542.0000dp
+ 543.0000dp
+ 544.0000dp
+ 545.0000dp
+ 546.0000dp
+ 547.0000dp
+ 548.0000dp
+ 549.0000dp
+ 550.0000dp
+ 551.0000dp
+ 552.0000dp
+ 553.0000dp
+ 554.0000dp
+ 555.0000dp
+ 556.0000dp
+ 557.0000dp
+ 558.0000dp
+ 559.0000dp
+ 560.0000dp
+ 561.0000dp
+ 562.0000dp
+ 563.0000dp
+ 564.0000dp
+ 565.0000dp
+ 566.0000dp
+ 567.0000dp
+ 568.0000dp
+ 569.0000dp
+ 570.0000dp
+ 571.0000dp
+ 572.0000dp
+ 573.0000dp
+ 574.0000dp
+ 575.0000dp
+ 576.0000dp
+ 577.0000dp
+ 578.0000dp
+ 579.0000dp
+ 580.0000dp
+ 581.0000dp
+ 582.0000dp
+ 583.0000dp
+ 584.0000dp
+ 585.0000dp
+ 586.0000dp
+ 587.0000dp
+ 588.0000dp
+ 589.0000dp
+ 590.0000dp
+ 591.0000dp
+ 592.0000dp
+ 593.0000dp
+ 594.0000dp
+ 595.0000dp
+ 596.0000dp
+ 597.0000dp
+ 598.0000dp
+ 599.0000dp
+ 600.0000dp
+ 601.0000dp
+ 602.0000dp
+ 603.0000dp
+ 604.0000dp
+ 605.0000dp
+ 606.0000dp
+ 607.0000dp
+ 608.0000dp
+ 609.0000dp
+ 610.0000dp
+ 611.0000dp
+ 612.0000dp
+ 613.0000dp
+ 614.0000dp
+ 615.0000dp
+ 616.0000dp
+ 617.0000dp
+ 618.0000dp
+ 619.0000dp
+ 620.0000dp
+ 621.0000dp
+ 622.0000dp
+ 623.0000dp
+ 624.0000dp
+ 625.0000dp
+ 626.0000dp
+ 627.0000dp
+ 628.0000dp
+ 629.0000dp
+ 630.0000dp
+ 631.0000dp
+ 632.0000dp
+ 633.0000dp
+ 634.0000dp
+ 635.0000dp
+ 636.0000dp
+ 637.0000dp
+ 638.0000dp
+ 639.0000dp
+ 640.0000dp
+ 641.0000dp
+ 642.0000dp
+ 643.0000dp
+ 644.0000dp
+ 645.0000dp
+ 646.0000dp
+ 647.0000dp
+ 648.0000dp
+ 649.0000dp
+ 650.0000dp
+ 651.0000dp
+ 652.0000dp
+ 653.0000dp
+ 654.0000dp
+ 655.0000dp
+ 656.0000dp
+ 657.0000dp
+ 658.0000dp
+ 659.0000dp
+ 660.0000dp
+ 661.0000dp
+ 662.0000dp
+ 663.0000dp
+ 664.0000dp
+ 665.0000dp
+ 666.0000dp
+ 667.0000dp
+ 668.0000dp
+ 669.0000dp
+ 670.0000dp
+ 671.0000dp
+ 672.0000dp
+ 673.0000dp
+ 674.0000dp
+ 675.0000dp
+ 676.0000dp
+ 677.0000dp
+ 678.0000dp
+ 679.0000dp
+ 680.0000dp
+ 681.0000dp
+ 682.0000dp
+ 683.0000dp
+ 684.0000dp
+ 685.0000dp
+ 686.0000dp
+ 687.0000dp
+ 688.0000dp
+ 689.0000dp
+ 690.0000dp
+ 691.0000dp
+ 692.0000dp
+ 693.0000dp
+ 694.0000dp
+ 695.0000dp
+ 696.0000dp
+ 697.0000dp
+ 698.0000dp
+ 699.0000dp
+ 700.0000dp
+ 701.0000dp
+ 702.0000dp
+ 703.0000dp
+ 704.0000dp
+ 705.0000dp
+ 706.0000dp
+ 707.0000dp
+ 708.0000dp
+ 709.0000dp
+ 710.0000dp
+ 711.0000dp
+ 712.0000dp
+ 713.0000dp
+ 714.0000dp
+ 715.0000dp
+ 716.0000dp
+ 717.0000dp
+ 718.0000dp
+ 719.0000dp
+ 720.0000dp
+ 2.0000sp
+ 4.0000sp
+ 6.0000sp
+ 8.0000sp
+ 10.0000sp
+ 12.0000sp
+ 14.0000sp
+ 16.0000sp
+ 18.0000sp
+ 20.0000sp
+ 22.0000sp
+ 24.0000sp
+ 26.0000sp
+ 28.0000sp
+ 30.0000sp
+ 32.0000sp
+ 34.0000sp
+ 36.0000sp
+ 38.0000sp
+ 40.0000sp
+ 42.0000sp
+ 44.0000sp
+ 46.0000sp
+ 48.0000sp
+ 50.0000sp
+ 52.0000sp
+ 54.0000sp
+ 56.0000sp
+ 58.0000sp
+ 60.0000sp
+ 62.0000sp
+ 64.0000sp
+ 66.0000sp
+ 68.0000sp
+ 70.0000sp
+ 72.0000sp
+ 74.0000sp
+ 76.0000sp
+ 78.0000sp
+ 80.0000sp
+
diff --git a/BaseAndroidKt/src/main/res/values-sw768dp/dimens.xml b/BaseAndroidKt/src/main/res/values-sw768dp/dimens.xml
new file mode 100644
index 0000000..1a6808c
--- /dev/null
+++ b/BaseAndroidKt/src/main/res/values-sw768dp/dimens.xml
@@ -0,0 +1,764 @@
+
+
+ 768.0000dp
+ 1.0667dp
+ 2.1333dp
+ 3.2000dp
+ 4.2667dp
+ 5.3333dp
+ 6.4000dp
+ 7.4667dp
+ 8.5333dp
+ 9.6000dp
+ 10.6667dp
+ 11.7333dp
+ 12.8000dp
+ 13.8667dp
+ 14.9333dp
+ 16.0000dp
+ 17.0667dp
+ 18.1333dp
+ 19.2000dp
+ 20.2667dp
+ 21.3333dp
+ 22.4000dp
+ 23.4667dp
+ 24.5333dp
+ 25.6000dp
+ 26.6667dp
+ 27.7333dp
+ 28.8000dp
+ 29.8667dp
+ 30.9333dp
+ 32.0000dp
+ 33.0667dp
+ 34.1333dp
+ 35.2000dp
+ 36.2667dp
+ 37.3333dp
+ 38.4000dp
+ 39.4667dp
+ 40.5333dp
+ 41.6000dp
+ 42.6667dp
+ 43.7333dp
+ 44.8000dp
+ 45.8667dp
+ 46.9333dp
+ 48.0000dp
+ 49.0667dp
+ 50.1333dp
+ 51.2000dp
+ 52.2667dp
+ 53.3333dp
+ 54.4000dp
+ 55.4667dp
+ 56.5333dp
+ 57.6000dp
+ 58.6667dp
+ 59.7333dp
+ 60.8000dp
+ 61.8667dp
+ 62.9333dp
+ 64.0000dp
+ 65.0667dp
+ 66.1333dp
+ 67.2000dp
+ 68.2667dp
+ 69.3333dp
+ 70.4000dp
+ 71.4667dp
+ 72.5333dp
+ 73.6000dp
+ 74.6667dp
+ 75.7333dp
+ 76.8000dp
+ 77.8667dp
+ 78.9333dp
+ 80.0000dp
+ 81.0667dp
+ 82.1333dp
+ 83.2000dp
+ 84.2667dp
+ 85.3333dp
+ 86.4000dp
+ 87.4667dp
+ 88.5333dp
+ 89.6000dp
+ 90.6667dp
+ 91.7333dp
+ 92.8000dp
+ 93.8667dp
+ 94.9333dp
+ 96.0000dp
+ 97.0667dp
+ 98.1333dp
+ 99.2000dp
+ 100.2667dp
+ 101.3333dp
+ 102.4000dp
+ 103.4667dp
+ 104.5333dp
+ 105.6000dp
+ 106.6667dp
+ 107.7333dp
+ 108.8000dp
+ 109.8667dp
+ 110.9333dp
+ 112.0000dp
+ 113.0667dp
+ 114.1333dp
+ 115.2000dp
+ 116.2667dp
+ 117.3333dp
+ 118.4000dp
+ 119.4667dp
+ 120.5333dp
+ 121.6000dp
+ 122.6667dp
+ 123.7333dp
+ 124.8000dp
+ 125.8667dp
+ 126.9333dp
+ 128.0000dp
+ 129.0667dp
+ 130.1333dp
+ 131.2000dp
+ 132.2667dp
+ 133.3333dp
+ 134.4000dp
+ 135.4667dp
+ 136.5333dp
+ 137.6000dp
+ 138.6667dp
+ 139.7333dp
+ 140.8000dp
+ 141.8667dp
+ 142.9333dp
+ 144.0000dp
+ 145.0667dp
+ 146.1333dp
+ 147.2000dp
+ 148.2667dp
+ 149.3333dp
+ 150.4000dp
+ 151.4667dp
+ 152.5333dp
+ 153.6000dp
+ 154.6667dp
+ 155.7333dp
+ 156.8000dp
+ 157.8667dp
+ 158.9333dp
+ 160.0000dp
+ 161.0667dp
+ 162.1333dp
+ 163.2000dp
+ 164.2667dp
+ 165.3333dp
+ 166.4000dp
+ 167.4667dp
+ 168.5333dp
+ 169.6000dp
+ 170.6667dp
+ 171.7333dp
+ 172.8000dp
+ 173.8667dp
+ 174.9333dp
+ 176.0000dp
+ 177.0667dp
+ 178.1333dp
+ 179.2000dp
+ 180.2667dp
+ 181.3333dp
+ 182.4000dp
+ 183.4667dp
+ 184.5333dp
+ 185.6000dp
+ 186.6667dp
+ 187.7333dp
+ 188.8000dp
+ 189.8667dp
+ 190.9333dp
+ 192.0000dp
+ 193.0667dp
+ 194.1333dp
+ 195.2000dp
+ 196.2667dp
+ 197.3333dp
+ 198.4000dp
+ 199.4667dp
+ 200.5333dp
+ 201.6000dp
+ 202.6667dp
+ 203.7333dp
+ 204.8000dp
+ 205.8667dp
+ 206.9333dp
+ 208.0000dp
+ 209.0667dp
+ 210.1333dp
+ 211.2000dp
+ 212.2667dp
+ 213.3333dp
+ 214.4000dp
+ 215.4667dp
+ 216.5333dp
+ 217.6000dp
+ 218.6667dp
+ 219.7333dp
+ 220.8000dp
+ 221.8667dp
+ 222.9333dp
+ 224.0000dp
+ 225.0667dp
+ 226.1333dp
+ 227.2000dp
+ 228.2667dp
+ 229.3333dp
+ 230.4000dp
+ 231.4667dp
+ 232.5333dp
+ 233.6000dp
+ 234.6667dp
+ 235.7333dp
+ 236.8000dp
+ 237.8667dp
+ 238.9333dp
+ 240.0000dp
+ 241.0667dp
+ 242.1333dp
+ 243.2000dp
+ 244.2667dp
+ 245.3333dp
+ 246.4000dp
+ 247.4667dp
+ 248.5333dp
+ 249.6000dp
+ 250.6667dp
+ 251.7333dp
+ 252.8000dp
+ 253.8667dp
+ 254.9333dp
+ 256.0000dp
+ 257.0667dp
+ 258.1333dp
+ 259.2000dp
+ 260.2667dp
+ 261.3333dp
+ 262.4000dp
+ 263.4667dp
+ 264.5333dp
+ 265.6000dp
+ 266.6667dp
+ 267.7333dp
+ 268.8000dp
+ 269.8667dp
+ 270.9333dp
+ 272.0000dp
+ 273.0667dp
+ 274.1333dp
+ 275.2000dp
+ 276.2667dp
+ 277.3333dp
+ 278.4000dp
+ 279.4667dp
+ 280.5333dp
+ 281.6000dp
+ 282.6667dp
+ 283.7333dp
+ 284.8000dp
+ 285.8667dp
+ 286.9333dp
+ 288.0000dp
+ 289.0667dp
+ 290.1333dp
+ 291.2000dp
+ 292.2667dp
+ 293.3333dp
+ 294.4000dp
+ 295.4667dp
+ 296.5333dp
+ 297.6000dp
+ 298.6667dp
+ 299.7333dp
+ 300.8000dp
+ 301.8667dp
+ 302.9333dp
+ 304.0000dp
+ 305.0667dp
+ 306.1333dp
+ 307.2000dp
+ 308.2667dp
+ 309.3333dp
+ 310.4000dp
+ 311.4667dp
+ 312.5333dp
+ 313.6000dp
+ 314.6667dp
+ 315.7333dp
+ 316.8000dp
+ 317.8667dp
+ 318.9333dp
+ 320.0000dp
+ 321.0667dp
+ 322.1333dp
+ 323.2000dp
+ 324.2667dp
+ 325.3333dp
+ 326.4000dp
+ 327.4667dp
+ 328.5333dp
+ 329.6000dp
+ 330.6667dp
+ 331.7333dp
+ 332.8000dp
+ 333.8667dp
+ 334.9333dp
+ 336.0000dp
+ 337.0667dp
+ 338.1333dp
+ 339.2000dp
+ 340.2667dp
+ 341.3333dp
+ 342.4000dp
+ 343.4667dp
+ 344.5333dp
+ 345.6000dp
+ 346.6667dp
+ 347.7333dp
+ 348.8000dp
+ 349.8667dp
+ 350.9333dp
+ 352.0000dp
+ 353.0667dp
+ 354.1333dp
+ 355.2000dp
+ 356.2667dp
+ 357.3333dp
+ 358.4000dp
+ 359.4667dp
+ 360.5333dp
+ 361.6000dp
+ 362.6667dp
+ 363.7333dp
+ 364.8000dp
+ 365.8667dp
+ 366.9333dp
+ 368.0000dp
+ 369.0667dp
+ 370.1333dp
+ 371.2000dp
+ 372.2667dp
+ 373.3333dp
+ 374.4000dp
+ 375.4667dp
+ 376.5333dp
+ 377.6000dp
+ 378.6667dp
+ 379.7333dp
+ 380.8000dp
+ 381.8667dp
+ 382.9333dp
+ 384.0000dp
+ 385.0667dp
+ 386.1333dp
+ 387.2000dp
+ 388.2667dp
+ 389.3333dp
+ 390.4000dp
+ 391.4667dp
+ 392.5333dp
+ 393.6000dp
+ 394.6667dp
+ 395.7333dp
+ 396.8000dp
+ 397.8667dp
+ 398.9333dp
+ 400.0000dp
+ 401.0667dp
+ 402.1333dp
+ 403.2000dp
+ 404.2667dp
+ 405.3333dp
+ 406.4000dp
+ 407.4667dp
+ 408.5333dp
+ 409.6000dp
+ 410.6667dp
+ 411.7333dp
+ 412.8000dp
+ 413.8667dp
+ 414.9333dp
+ 416.0000dp
+ 417.0667dp
+ 418.1333dp
+ 419.2000dp
+ 420.2667dp
+ 421.3333dp
+ 422.4000dp
+ 423.4667dp
+ 424.5333dp
+ 425.6000dp
+ 426.6667dp
+ 427.7333dp
+ 428.8000dp
+ 429.8667dp
+ 430.9333dp
+ 432.0000dp
+ 433.0667dp
+ 434.1333dp
+ 435.2000dp
+ 436.2667dp
+ 437.3333dp
+ 438.4000dp
+ 439.4667dp
+ 440.5333dp
+ 441.6000dp
+ 442.6667dp
+ 443.7333dp
+ 444.8000dp
+ 445.8667dp
+ 446.9333dp
+ 448.0000dp
+ 449.0667dp
+ 450.1333dp
+ 451.2000dp
+ 452.2667dp
+ 453.3333dp
+ 454.4000dp
+ 455.4667dp
+ 456.5333dp
+ 457.6000dp
+ 458.6667dp
+ 459.7333dp
+ 460.8000dp
+ 461.8667dp
+ 462.9333dp
+ 464.0000dp
+ 465.0667dp
+ 466.1333dp
+ 467.2000dp
+ 468.2667dp
+ 469.3333dp
+ 470.4000dp
+ 471.4667dp
+ 472.5333dp
+ 473.6000dp
+ 474.6667dp
+ 475.7333dp
+ 476.8000dp
+ 477.8667dp
+ 478.9333dp
+ 480.0000dp
+ 481.0667dp
+ 482.1333dp
+ 483.2000dp
+ 484.2667dp
+ 485.3333dp
+ 486.4000dp
+ 487.4667dp
+ 488.5333dp
+ 489.6000dp
+ 490.6667dp
+ 491.7333dp
+ 492.8000dp
+ 493.8667dp
+ 494.9333dp
+ 496.0000dp
+ 497.0667dp
+ 498.1333dp
+ 499.2000dp
+ 500.2667dp
+ 501.3333dp
+ 502.4000dp
+ 503.4667dp
+ 504.5333dp
+ 505.6000dp
+ 506.6667dp
+ 507.7333dp
+ 508.8000dp
+ 509.8667dp
+ 510.9333dp
+ 512.0000dp
+ 513.0667dp
+ 514.1333dp
+ 515.2000dp
+ 516.2667dp
+ 517.3333dp
+ 518.4000dp
+ 519.4667dp
+ 520.5333dp
+ 521.6000dp
+ 522.6667dp
+ 523.7333dp
+ 524.8000dp
+ 525.8667dp
+ 526.9333dp
+ 528.0000dp
+ 529.0667dp
+ 530.1333dp
+ 531.2000dp
+ 532.2667dp
+ 533.3333dp
+ 534.4000dp
+ 535.4667dp
+ 536.5333dp
+ 537.6000dp
+ 538.6667dp
+ 539.7333dp
+ 540.8000dp
+ 541.8667dp
+ 542.9333dp
+ 544.0000dp
+ 545.0667dp
+ 546.1333dp
+ 547.2000dp
+ 548.2667dp
+ 549.3333dp
+ 550.4000dp
+ 551.4667dp
+ 552.5333dp
+ 553.6000dp
+ 554.6667dp
+ 555.7333dp
+ 556.8000dp
+ 557.8667dp
+ 558.9333dp
+ 560.0000dp
+ 561.0667dp
+ 562.1333dp
+ 563.2000dp
+ 564.2667dp
+ 565.3333dp
+ 566.4000dp
+ 567.4667dp
+ 568.5333dp
+ 569.6000dp
+ 570.6667dp
+ 571.7333dp
+ 572.8000dp
+ 573.8667dp
+ 574.9333dp
+ 576.0000dp
+ 577.0667dp
+ 578.1333dp
+ 579.2000dp
+ 580.2667dp
+ 581.3333dp
+ 582.4000dp
+ 583.4667dp
+ 584.5333dp
+ 585.6000dp
+ 586.6667dp
+ 587.7333dp
+ 588.8000dp
+ 589.8667dp
+ 590.9333dp
+ 592.0000dp
+ 593.0667dp
+ 594.1333dp
+ 595.2000dp
+ 596.2667dp
+ 597.3333dp
+ 598.4000dp
+ 599.4667dp
+ 600.5333dp
+ 601.6000dp
+ 602.6667dp
+ 603.7333dp
+ 604.8000dp
+ 605.8667dp
+ 606.9333dp
+ 608.0000dp
+ 609.0667dp
+ 610.1333dp
+ 611.2000dp
+ 612.2667dp
+ 613.3333dp
+ 614.4000dp
+ 615.4667dp
+ 616.5333dp
+ 617.6000dp
+ 618.6667dp
+ 619.7333dp
+ 620.8000dp
+ 621.8667dp
+ 622.9333dp
+ 624.0000dp
+ 625.0667dp
+ 626.1333dp
+ 627.2000dp
+ 628.2667dp
+ 629.3333dp
+ 630.4000dp
+ 631.4667dp
+ 632.5333dp
+ 633.6000dp
+ 634.6667dp
+ 635.7333dp
+ 636.8000dp
+ 637.8667dp
+ 638.9333dp
+ 640.0000dp
+ 641.0667dp
+ 642.1333dp
+ 643.2000dp
+ 644.2667dp
+ 645.3333dp
+ 646.4000dp
+ 647.4667dp
+ 648.5333dp
+ 649.6000dp
+ 650.6667dp
+ 651.7333dp
+ 652.8000dp
+ 653.8667dp
+ 654.9333dp
+ 656.0000dp
+ 657.0667dp
+ 658.1333dp
+ 659.2000dp
+ 660.2667dp
+ 661.3333dp
+ 662.4000dp
+ 663.4667dp
+ 664.5333dp
+ 665.6000dp
+ 666.6667dp
+ 667.7333dp
+ 668.8000dp
+ 669.8667dp
+ 670.9333dp
+ 672.0000dp
+ 673.0667dp
+ 674.1333dp
+ 675.2000dp
+ 676.2667dp
+ 677.3333dp
+ 678.4000dp
+ 679.4667dp
+ 680.5333dp
+ 681.6000dp
+ 682.6667dp
+ 683.7333dp
+ 684.8000dp
+ 685.8667dp
+ 686.9333dp
+ 688.0000dp
+ 689.0667dp
+ 690.1333dp
+ 691.2000dp
+ 692.2667dp
+ 693.3333dp
+ 694.4000dp
+ 695.4667dp
+ 696.5333dp
+ 697.6000dp
+ 698.6667dp
+ 699.7333dp
+ 700.8000dp
+ 701.8667dp
+ 702.9333dp
+ 704.0000dp
+ 705.0667dp
+ 706.1333dp
+ 707.2000dp
+ 708.2667dp
+ 709.3333dp
+ 710.4000dp
+ 711.4667dp
+ 712.5333dp
+ 713.6000dp
+ 714.6667dp
+ 715.7333dp
+ 716.8000dp
+ 717.8667dp
+ 718.9333dp
+ 720.0000dp
+ 721.0667dp
+ 722.1333dp
+ 723.2000dp
+ 724.2667dp
+ 725.3333dp
+ 726.4000dp
+ 727.4667dp
+ 728.5333dp
+ 729.6000dp
+ 730.6667dp
+ 731.7333dp
+ 732.8000dp
+ 733.8667dp
+ 734.9333dp
+ 736.0000dp
+ 737.0667dp
+ 738.1333dp
+ 739.2000dp
+ 740.2667dp
+ 741.3333dp
+ 742.4000dp
+ 743.4667dp
+ 744.5333dp
+ 745.6000dp
+ 746.6667dp
+ 747.7333dp
+ 748.8000dp
+ 749.8667dp
+ 750.9333dp
+ 752.0000dp
+ 753.0667dp
+ 754.1333dp
+ 755.2000dp
+ 756.2667dp
+ 757.3333dp
+ 758.4000dp
+ 759.4667dp
+ 760.5333dp
+ 761.6000dp
+ 762.6667dp
+ 763.7333dp
+ 764.8000dp
+ 765.8667dp
+ 766.9333dp
+ 768.0000dp
+ 2.1333sp
+ 4.2667sp
+ 6.4000sp
+ 8.5333sp
+ 10.6667sp
+ 12.8000sp
+ 14.9333sp
+ 17.0667sp
+ 19.2000sp
+ 21.3333sp
+ 23.4667sp
+ 25.6000sp
+ 27.7333sp
+ 29.8667sp
+ 32.0000sp
+ 34.1333sp
+ 36.2667sp
+ 38.4000sp
+ 40.5333sp
+ 42.6667sp
+ 44.8000sp
+ 46.9333sp
+ 49.0667sp
+ 51.2000sp
+ 53.3333sp
+ 55.4667sp
+ 57.6000sp
+ 59.7333sp
+ 61.8667sp
+ 64.0000sp
+ 66.1333sp
+ 68.2667sp
+ 70.4000sp
+ 72.5333sp
+ 74.6667sp
+ 76.8000sp
+ 78.9333sp
+ 81.0667sp
+ 83.2000sp
+ 85.3333sp
+
diff --git a/BaseAndroidKt/src/main/res/values-sw800dp/dimens.xml b/BaseAndroidKt/src/main/res/values-sw800dp/dimens.xml
new file mode 100644
index 0000000..51eb5de
--- /dev/null
+++ b/BaseAndroidKt/src/main/res/values-sw800dp/dimens.xml
@@ -0,0 +1,764 @@
+
+
+ 800.0000dp
+ 1.1111dp
+ 2.2222dp
+ 3.3333dp
+ 4.4444dp
+ 5.5556dp
+ 6.6667dp
+ 7.7778dp
+ 8.8889dp
+ 10.0000dp
+ 11.1111dp
+ 12.2222dp
+ 13.3333dp
+ 14.4444dp
+ 15.5556dp
+ 16.6667dp
+ 17.7778dp
+ 18.8889dp
+ 20.0000dp
+ 21.1111dp
+ 22.2222dp
+ 23.3333dp
+ 24.4444dp
+ 25.5556dp
+ 26.6667dp
+ 27.7778dp
+ 28.8889dp
+ 30.0000dp
+ 31.1111dp
+ 32.2222dp
+ 33.3333dp
+ 34.4444dp
+ 35.5556dp
+ 36.6667dp
+ 37.7778dp
+ 38.8889dp
+ 40.0000dp
+ 41.1111dp
+ 42.2222dp
+ 43.3333dp
+ 44.4444dp
+ 45.5556dp
+ 46.6667dp
+ 47.7778dp
+ 48.8889dp
+ 50.0000dp
+ 51.1111dp
+ 52.2222dp
+ 53.3333dp
+ 54.4444dp
+ 55.5556dp
+ 56.6667dp
+ 57.7778dp
+ 58.8889dp
+ 60.0000dp
+ 61.1111dp
+ 62.2222dp
+ 63.3333dp
+ 64.4444dp
+ 65.5556dp
+ 66.6667dp
+ 67.7778dp
+ 68.8889dp
+ 70.0000dp
+ 71.1111dp
+ 72.2222dp
+ 73.3333dp
+ 74.4444dp
+ 75.5556dp
+ 76.6667dp
+ 77.7778dp
+ 78.8889dp
+ 80.0000dp
+ 81.1111dp
+ 82.2222dp
+ 83.3333dp
+ 84.4444dp
+ 85.5556dp
+ 86.6667dp
+ 87.7778dp
+ 88.8889dp
+ 90.0000dp
+ 91.1111dp
+ 92.2222dp
+ 93.3333dp
+ 94.4444dp
+ 95.5556dp
+ 96.6667dp
+ 97.7778dp
+ 98.8889dp
+ 100.0000dp
+ 101.1111dp
+ 102.2222dp
+ 103.3333dp
+ 104.4444dp
+ 105.5556dp
+ 106.6667dp
+ 107.7778dp
+ 108.8889dp
+ 110.0000dp
+ 111.1111dp
+ 112.2222dp
+ 113.3333dp
+ 114.4444dp
+ 115.5556dp
+ 116.6667dp
+ 117.7778dp
+ 118.8889dp
+ 120.0000dp
+ 121.1111dp
+ 122.2222dp
+ 123.3333dp
+ 124.4444dp
+ 125.5556dp
+ 126.6667dp
+ 127.7778dp
+ 128.8889dp
+ 130.0000dp
+ 131.1111dp
+ 132.2222dp
+ 133.3333dp
+ 134.4444dp
+ 135.5556dp
+ 136.6667dp
+ 137.7778dp
+ 138.8889dp
+ 140.0000dp
+ 141.1111dp
+ 142.2222dp
+ 143.3333dp
+ 144.4444dp
+ 145.5556dp
+ 146.6667dp
+ 147.7778dp
+ 148.8889dp
+ 150.0000dp
+ 151.1111dp
+ 152.2222dp
+ 153.3333dp
+ 154.4444dp
+ 155.5556dp
+ 156.6667dp
+ 157.7778dp
+ 158.8889dp
+ 160.0000dp
+ 161.1111dp
+ 162.2222dp
+ 163.3333dp
+ 164.4444dp
+ 165.5556dp
+ 166.6667dp
+ 167.7778dp
+ 168.8889dp
+ 170.0000dp
+ 171.1111dp
+ 172.2222dp
+ 173.3333dp
+ 174.4444dp
+ 175.5556dp
+ 176.6667dp
+ 177.7778dp
+ 178.8889dp
+ 180.0000dp
+ 181.1111dp
+ 182.2222dp
+ 183.3333dp
+ 184.4444dp
+ 185.5556dp
+ 186.6667dp
+ 187.7778dp
+ 188.8889dp
+ 190.0000dp
+ 191.1111dp
+ 192.2222dp
+ 193.3333dp
+ 194.4444dp
+ 195.5556dp
+ 196.6667dp
+ 197.7778dp
+ 198.8889dp
+ 200.0000dp
+ 201.1111dp
+ 202.2222dp
+ 203.3333dp
+ 204.4444dp
+ 205.5556dp
+ 206.6667dp
+ 207.7778dp
+ 208.8889dp
+ 210.0000dp
+ 211.1111dp
+ 212.2222dp
+ 213.3333dp
+ 214.4444dp
+ 215.5556dp
+ 216.6667dp
+ 217.7778dp
+ 218.8889dp
+ 220.0000dp
+ 221.1111dp
+ 222.2222dp
+ 223.3333dp
+ 224.4444dp
+ 225.5556dp
+ 226.6667dp
+ 227.7778dp
+ 228.8889dp
+ 230.0000dp
+ 231.1111dp
+ 232.2222dp
+ 233.3333dp
+ 234.4444dp
+ 235.5556dp
+ 236.6667dp
+ 237.7778dp
+ 238.8889dp
+ 240.0000dp
+ 241.1111dp
+ 242.2222dp
+ 243.3333dp
+ 244.4444dp
+ 245.5556dp
+ 246.6667dp
+ 247.7778dp
+ 248.8889dp
+ 250.0000dp
+ 251.1111dp
+ 252.2222dp
+ 253.3333dp
+ 254.4444dp
+ 255.5556dp
+ 256.6667dp
+ 257.7778dp
+ 258.8889dp
+ 260.0000dp
+ 261.1111dp
+ 262.2222dp
+ 263.3333dp
+ 264.4444dp
+ 265.5556dp
+ 266.6667dp
+ 267.7778dp
+ 268.8889dp
+ 270.0000dp
+ 271.1111dp
+ 272.2222dp
+ 273.3333dp
+ 274.4444dp
+ 275.5556dp
+ 276.6667dp
+ 277.7778dp
+ 278.8889dp
+ 280.0000dp
+ 281.1111dp
+ 282.2222dp
+ 283.3333dp
+ 284.4444dp
+ 285.5556dp
+ 286.6667dp
+ 287.7778dp
+ 288.8889dp
+ 290.0000dp
+ 291.1111dp
+ 292.2222dp
+ 293.3333dp
+ 294.4444dp
+ 295.5556dp
+ 296.6667dp
+ 297.7778dp
+ 298.8889dp
+ 300.0000dp
+ 301.1111dp
+ 302.2222dp
+ 303.3333dp
+ 304.4444dp
+ 305.5556dp
+ 306.6667dp
+ 307.7778dp
+ 308.8889dp
+ 310.0000dp
+ 311.1111dp
+ 312.2222dp
+ 313.3333dp
+ 314.4444dp
+ 315.5556dp
+ 316.6667dp
+ 317.7778dp
+ 318.8889dp
+ 320.0000dp
+ 321.1111dp
+ 322.2222dp
+ 323.3333dp
+ 324.4444dp
+ 325.5556dp
+ 326.6667dp
+ 327.7778dp
+ 328.8889dp
+ 330.0000dp
+ 331.1111dp
+ 332.2222dp
+ 333.3333dp
+ 334.4444dp
+ 335.5556dp
+ 336.6667dp
+ 337.7778dp
+ 338.8889dp
+ 340.0000dp
+ 341.1111dp
+ 342.2222dp
+ 343.3333dp
+ 344.4444dp
+ 345.5556dp
+ 346.6667dp
+ 347.7778dp
+ 348.8889dp
+ 350.0000dp
+ 351.1111dp
+ 352.2222dp
+ 353.3333dp
+ 354.4444dp
+ 355.5556dp
+ 356.6667dp
+ 357.7778dp
+ 358.8889dp
+ 360.0000dp
+ 361.1111dp
+ 362.2222dp
+ 363.3333dp
+ 364.4444dp
+ 365.5556dp
+ 366.6667dp
+ 367.7778dp
+ 368.8889dp
+ 370.0000dp
+ 371.1111dp
+ 372.2222dp
+ 373.3333dp
+ 374.4444dp
+ 375.5556dp
+ 376.6667dp
+ 377.7778dp
+ 378.8889dp
+ 380.0000dp
+ 381.1111dp
+ 382.2222dp
+ 383.3333dp
+ 384.4444dp
+ 385.5556dp
+ 386.6667dp
+ 387.7778dp
+ 388.8889dp
+ 390.0000dp
+ 391.1111dp
+ 392.2222dp
+ 393.3333dp
+ 394.4444dp
+ 395.5556dp
+ 396.6667dp
+ 397.7778dp
+ 398.8889dp
+ 400.0000dp
+ 401.1111dp
+ 402.2222dp
+ 403.3333dp
+ 404.4444dp
+ 405.5556dp
+ 406.6667dp
+ 407.7778dp
+ 408.8889dp
+ 410.0000dp
+ 411.1111dp
+ 412.2222dp
+ 413.3333dp
+ 414.4444dp
+ 415.5556dp
+ 416.6667dp
+ 417.7778dp
+ 418.8889dp
+ 420.0000dp
+ 421.1111dp
+ 422.2222dp
+ 423.3333dp
+ 424.4444dp
+ 425.5556dp
+ 426.6667dp
+ 427.7778dp
+ 428.8889dp
+ 430.0000dp
+ 431.1111dp
+ 432.2222dp
+ 433.3333dp
+ 434.4444dp
+ 435.5556dp
+ 436.6667dp
+ 437.7778dp
+ 438.8889dp
+ 440.0000dp
+ 441.1111dp
+ 442.2222dp
+ 443.3333dp
+ 444.4444dp
+ 445.5556dp
+ 446.6667dp
+ 447.7778dp
+ 448.8889dp
+ 450.0000dp
+ 451.1111dp
+ 452.2222dp
+ 453.3333dp
+ 454.4444dp
+ 455.5556dp
+ 456.6667dp
+ 457.7778dp
+ 458.8889dp
+ 460.0000dp
+ 461.1111dp
+ 462.2222dp
+ 463.3333dp
+ 464.4444dp
+ 465.5556dp
+ 466.6667dp
+ 467.7778dp
+ 468.8889dp
+ 470.0000dp
+ 471.1111dp
+ 472.2222dp
+ 473.3333dp
+ 474.4444dp
+ 475.5556dp
+ 476.6667dp
+ 477.7778dp
+ 478.8889dp
+ 480.0000dp
+ 481.1111dp
+ 482.2222dp
+ 483.3333dp
+ 484.4444dp
+ 485.5556dp
+ 486.6667dp
+ 487.7778dp
+ 488.8889dp
+ 490.0000dp
+ 491.1111dp
+ 492.2222dp
+ 493.3333dp
+ 494.4444dp
+ 495.5556dp
+ 496.6667dp
+ 497.7778dp
+ 498.8889dp
+ 500.0000dp
+ 501.1111dp
+ 502.2222dp
+ 503.3333dp
+ 504.4444dp
+ 505.5556dp
+ 506.6667dp
+ 507.7778dp
+ 508.8889dp
+ 510.0000dp
+ 511.1111dp
+ 512.2222dp
+ 513.3333dp
+ 514.4444dp
+ 515.5556dp
+ 516.6667dp
+ 517.7778dp
+ 518.8889dp
+ 520.0000dp
+ 521.1111dp
+ 522.2222dp
+ 523.3333dp
+ 524.4444dp
+ 525.5556dp
+ 526.6667dp
+ 527.7778dp
+ 528.8889dp
+ 530.0000dp
+ 531.1111dp
+ 532.2222dp
+ 533.3333dp
+ 534.4444dp
+ 535.5556dp
+ 536.6667dp
+ 537.7778dp
+ 538.8889dp
+ 540.0000dp
+ 541.1111dp
+ 542.2222dp
+ 543.3333dp
+ 544.4444dp
+ 545.5556dp
+ 546.6667dp
+ 547.7778dp
+ 548.8889dp
+ 550.0000dp
+ 551.1111dp
+ 552.2222dp
+ 553.3333dp
+ 554.4444dp
+ 555.5556dp
+ 556.6667dp
+ 557.7778dp
+ 558.8889dp
+ 560.0000dp
+ 561.1111dp
+ 562.2222dp
+ 563.3333dp
+ 564.4444dp
+ 565.5556dp
+ 566.6667dp
+ 567.7778dp
+ 568.8889dp
+ 570.0000dp
+ 571.1111dp
+ 572.2222dp
+ 573.3333dp
+ 574.4444dp
+ 575.5556dp
+ 576.6667dp
+ 577.7778dp
+ 578.8889dp
+ 580.0000dp
+ 581.1111dp
+ 582.2222dp
+ 583.3333dp
+ 584.4444dp
+ 585.5556dp
+ 586.6667dp
+ 587.7778dp
+ 588.8889dp
+ 590.0000dp
+ 591.1111dp
+ 592.2222dp
+ 593.3333dp
+ 594.4444dp
+ 595.5556dp
+ 596.6667dp
+ 597.7778dp
+ 598.8889dp
+ 600.0000dp
+ 601.1111dp
+ 602.2222dp
+ 603.3333dp
+ 604.4444dp
+ 605.5556dp
+ 606.6667dp
+ 607.7778dp
+ 608.8889dp
+ 610.0000dp
+ 611.1111dp
+ 612.2222dp
+ 613.3333dp
+ 614.4444dp
+ 615.5556dp
+ 616.6667dp
+ 617.7778dp
+ 618.8889dp
+ 620.0000dp
+ 621.1111dp
+ 622.2222dp
+ 623.3333dp
+ 624.4444dp
+ 625.5556dp
+ 626.6667dp
+ 627.7778dp
+ 628.8889dp
+ 630.0000dp
+ 631.1111dp
+ 632.2222dp
+ 633.3333dp
+ 634.4444dp
+ 635.5556dp
+ 636.6667dp
+ 637.7778dp
+ 638.8889dp
+ 640.0000dp
+ 641.1111dp
+ 642.2222dp
+ 643.3333dp
+ 644.4444dp
+ 645.5556dp
+ 646.6667dp
+ 647.7778dp
+ 648.8889dp
+ 650.0000dp
+ 651.1111dp
+ 652.2222dp
+ 653.3333dp
+ 654.4444dp
+ 655.5556dp
+ 656.6667dp
+ 657.7778dp
+ 658.8889dp
+ 660.0000dp
+ 661.1111dp
+ 662.2222dp
+ 663.3333dp
+ 664.4444dp
+ 665.5556dp
+ 666.6667dp
+ 667.7778dp
+ 668.8889dp
+ 670.0000dp
+ 671.1111dp
+ 672.2222dp
+ 673.3333dp
+ 674.4444dp
+ 675.5556dp
+ 676.6667dp
+ 677.7778dp
+ 678.8889dp
+ 680.0000dp
+ 681.1111dp
+ 682.2222dp
+ 683.3333dp
+ 684.4444dp
+ 685.5556dp
+ 686.6667dp
+ 687.7778dp
+ 688.8889dp
+ 690.0000dp
+ 691.1111dp
+ 692.2222dp
+ 693.3333dp
+ 694.4444dp
+ 695.5556dp
+ 696.6667dp
+ 697.7778dp
+ 698.8889dp
+ 700.0000dp
+ 701.1111dp
+ 702.2222dp
+ 703.3333dp
+ 704.4444dp
+ 705.5556dp
+ 706.6667dp
+ 707.7778dp
+ 708.8889dp
+ 710.0000dp
+ 711.1111dp
+ 712.2222dp
+ 713.3333dp
+ 714.4444dp
+ 715.5556dp
+ 716.6667dp
+ 717.7778dp
+ 718.8889dp
+ 720.0000dp
+ 721.1111dp
+ 722.2222dp
+ 723.3333dp
+ 724.4444dp
+ 725.5556dp
+ 726.6667dp
+ 727.7778dp
+ 728.8889dp
+ 730.0000dp
+ 731.1111dp
+ 732.2222dp
+ 733.3333dp
+ 734.4444dp
+ 735.5556dp
+ 736.6667dp
+ 737.7778dp
+ 738.8889dp
+ 740.0000dp
+ 741.1111dp
+ 742.2222dp
+ 743.3333dp
+ 744.4444dp
+ 745.5556dp
+ 746.6667dp
+ 747.7778dp
+ 748.8889dp
+ 750.0000dp
+ 751.1111dp
+ 752.2222dp
+ 753.3333dp
+ 754.4444dp
+ 755.5556dp
+ 756.6667dp
+ 757.7778dp
+ 758.8889dp
+ 760.0000dp
+ 761.1111dp
+ 762.2222dp
+ 763.3333dp
+ 764.4444dp
+ 765.5556dp
+ 766.6667dp
+ 767.7778dp
+ 768.8889dp
+ 770.0000dp
+ 771.1111dp
+ 772.2222dp
+ 773.3333dp
+ 774.4444dp
+ 775.5556dp
+ 776.6667dp
+ 777.7778dp
+ 778.8889dp
+ 780.0000dp
+ 781.1111dp
+ 782.2222dp
+ 783.3333dp
+ 784.4444dp
+ 785.5556dp
+ 786.6667dp
+ 787.7778dp
+ 788.8889dp
+ 790.0000dp
+ 791.1111dp
+ 792.2222dp
+ 793.3333dp
+ 794.4444dp
+ 795.5556dp
+ 796.6667dp
+ 797.7778dp
+ 798.8889dp
+ 800.0000dp
+ 2.2222sp
+ 4.4444sp
+ 6.6667sp
+ 8.8889sp
+ 11.1111sp
+ 13.3333sp
+ 15.5556sp
+ 17.7778sp
+ 20.0000sp
+ 22.2222sp
+ 24.4444sp
+ 26.6667sp
+ 28.8889sp
+ 31.1111sp
+ 33.3333sp
+ 35.5556sp
+ 37.7778sp
+ 40.0000sp
+ 42.2222sp
+ 44.4444sp
+ 46.6667sp
+ 48.8889sp
+ 51.1111sp
+ 53.3333sp
+ 55.5556sp
+ 57.7778sp
+ 60.0000sp
+ 62.2222sp
+ 64.4444sp
+ 66.6667sp
+ 68.8889sp
+ 71.1111sp
+ 73.3333sp
+ 75.5556sp
+ 77.7778sp
+ 80.0000sp
+ 82.2222sp
+ 84.4444sp
+ 86.6667sp
+ 88.8889sp
+
diff --git a/BaseAndroidKt/src/main/res/values-sw811dp/dimens.xml b/BaseAndroidKt/src/main/res/values-sw811dp/dimens.xml
new file mode 100644
index 0000000..edcf40b
--- /dev/null
+++ b/BaseAndroidKt/src/main/res/values-sw811dp/dimens.xml
@@ -0,0 +1,764 @@
+
+
+ 811.0000dp
+ 1.1264dp
+ 2.2528dp
+ 3.3792dp
+ 4.5056dp
+ 5.6319dp
+ 6.7583dp
+ 7.8847dp
+ 9.0111dp
+ 10.1375dp
+ 11.2639dp
+ 12.3903dp
+ 13.5167dp
+ 14.6431dp
+ 15.7694dp
+ 16.8958dp
+ 18.0222dp
+ 19.1486dp
+ 20.2750dp
+ 21.4014dp
+ 22.5278dp
+ 23.6542dp
+ 24.7806dp
+ 25.9069dp
+ 27.0333dp
+ 28.1597dp
+ 29.2861dp
+ 30.4125dp
+ 31.5389dp
+ 32.6653dp
+ 33.7917dp
+ 34.9181dp
+ 36.0444dp
+ 37.1708dp
+ 38.2972dp
+ 39.4236dp
+ 40.5500dp
+ 41.6764dp
+ 42.8028dp
+ 43.9292dp
+ 45.0556dp
+ 46.1819dp
+ 47.3083dp
+ 48.4347dp
+ 49.5611dp
+ 50.6875dp
+ 51.8139dp
+ 52.9403dp
+ 54.0667dp
+ 55.1931dp
+ 56.3194dp
+ 57.4458dp
+ 58.5722dp
+ 59.6986dp
+ 60.8250dp
+ 61.9514dp
+ 63.0778dp
+ 64.2042dp
+ 65.3306dp
+ 66.4569dp
+ 67.5833dp
+ 68.7097dp
+ 69.8361dp
+ 70.9625dp
+ 72.0889dp
+ 73.2153dp
+ 74.3417dp
+ 75.4681dp
+ 76.5944dp
+ 77.7208dp
+ 78.8472dp
+ 79.9736dp
+ 81.1000dp
+ 82.2264dp
+ 83.3528dp
+ 84.4792dp
+ 85.6056dp
+ 86.7319dp
+ 87.8583dp
+ 88.9847dp
+ 90.1111dp
+ 91.2375dp
+ 92.3639dp
+ 93.4903dp
+ 94.6167dp
+ 95.7431dp
+ 96.8694dp
+ 97.9958dp
+ 99.1222dp
+ 100.2486dp
+ 101.3750dp
+ 102.5014dp
+ 103.6278dp
+ 104.7542dp
+ 105.8806dp
+ 107.0069dp
+ 108.1333dp
+ 109.2597dp
+ 110.3861dp
+ 111.5125dp
+ 112.6389dp
+ 113.7653dp
+ 114.8917dp
+ 116.0181dp
+ 117.1444dp
+ 118.2708dp
+ 119.3972dp
+ 120.5236dp
+ 121.6500dp
+ 122.7764dp
+ 123.9028dp
+ 125.0292dp
+ 126.1556dp
+ 127.2819dp
+ 128.4083dp
+ 129.5347dp
+ 130.6611dp
+ 131.7875dp
+ 132.9139dp
+ 134.0403dp
+ 135.1667dp
+ 136.2931dp
+ 137.4194dp
+ 138.5458dp
+ 139.6722dp
+ 140.7986dp
+ 141.9250dp
+ 143.0514dp
+ 144.1778dp
+ 145.3042dp
+ 146.4306dp
+ 147.5569dp
+ 148.6833dp
+ 149.8097dp
+ 150.9361dp
+ 152.0625dp
+ 153.1889dp
+ 154.3153dp
+ 155.4417dp
+ 156.5681dp
+ 157.6944dp
+ 158.8208dp
+ 159.9472dp
+ 161.0736dp
+ 162.2000dp
+ 163.3264dp
+ 164.4528dp
+ 165.5792dp
+ 166.7056dp
+ 167.8319dp
+ 168.9583dp
+ 170.0847dp
+ 171.2111dp
+ 172.3375dp
+ 173.4639dp
+ 174.5903dp
+ 175.7167dp
+ 176.8431dp
+ 177.9694dp
+ 179.0958dp
+ 180.2222dp
+ 181.3486dp
+ 182.4750dp
+ 183.6014dp
+ 184.7278dp
+ 185.8542dp
+ 186.9806dp
+ 188.1069dp
+ 189.2333dp
+ 190.3597dp
+ 191.4861dp
+ 192.6125dp
+ 193.7389dp
+ 194.8653dp
+ 195.9917dp
+ 197.1181dp
+ 198.2444dp
+ 199.3708dp
+ 200.4972dp
+ 201.6236dp
+ 202.7500dp
+ 203.8764dp
+ 205.0028dp
+ 206.1292dp
+ 207.2556dp
+ 208.3819dp
+ 209.5083dp
+ 210.6347dp
+ 211.7611dp
+ 212.8875dp
+ 214.0139dp
+ 215.1403dp
+ 216.2667dp
+ 217.3931dp
+ 218.5194dp
+ 219.6458dp
+ 220.7722dp
+ 221.8986dp
+ 223.0250dp
+ 224.1514dp
+ 225.2778dp
+ 226.4042dp
+ 227.5306dp
+ 228.6569dp
+ 229.7833dp
+ 230.9097dp
+ 232.0361dp
+ 233.1625dp
+ 234.2889dp
+ 235.4153dp
+ 236.5417dp
+ 237.6681dp
+ 238.7944dp
+ 239.9208dp
+ 241.0472dp
+ 242.1736dp
+ 243.3000dp
+ 244.4264dp
+ 245.5528dp
+ 246.6792dp
+ 247.8056dp
+ 248.9319dp
+ 250.0583dp
+ 251.1847dp
+ 252.3111dp
+ 253.4375dp
+ 254.5639dp
+ 255.6903dp
+ 256.8167dp
+ 257.9431dp
+ 259.0694dp
+ 260.1958dp
+ 261.3222dp
+ 262.4486dp
+ 263.5750dp
+ 264.7014dp
+ 265.8278dp
+ 266.9542dp
+ 268.0806dp
+ 269.2069dp
+ 270.3333dp
+ 271.4597dp
+ 272.5861dp
+ 273.7125dp
+ 274.8389dp
+ 275.9653dp
+ 277.0917dp
+ 278.2181dp
+ 279.3444dp
+ 280.4708dp
+ 281.5972dp
+ 282.7236dp
+ 283.8500dp
+ 284.9764dp
+ 286.1028dp
+ 287.2292dp
+ 288.3556dp
+ 289.4819dp
+ 290.6083dp
+ 291.7347dp
+ 292.8611dp
+ 293.9875dp
+ 295.1139dp
+ 296.2403dp
+ 297.3667dp
+ 298.4931dp
+ 299.6194dp
+ 300.7458dp
+ 301.8722dp
+ 302.9986dp
+ 304.1250dp
+ 305.2514dp
+ 306.3778dp
+ 307.5042dp
+ 308.6306dp
+ 309.7569dp
+ 310.8833dp
+ 312.0097dp
+ 313.1361dp
+ 314.2625dp
+ 315.3889dp
+ 316.5153dp
+ 317.6417dp
+ 318.7681dp
+ 319.8944dp
+ 321.0208dp
+ 322.1472dp
+ 323.2736dp
+ 324.4000dp
+ 325.5264dp
+ 326.6528dp
+ 327.7792dp
+ 328.9056dp
+ 330.0319dp
+ 331.1583dp
+ 332.2847dp
+ 333.4111dp
+ 334.5375dp
+ 335.6639dp
+ 336.7903dp
+ 337.9167dp
+ 339.0431dp
+ 340.1694dp
+ 341.2958dp
+ 342.4222dp
+ 343.5486dp
+ 344.6750dp
+ 345.8014dp
+ 346.9278dp
+ 348.0542dp
+ 349.1806dp
+ 350.3069dp
+ 351.4333dp
+ 352.5597dp
+ 353.6861dp
+ 354.8125dp
+ 355.9389dp
+ 357.0653dp
+ 358.1917dp
+ 359.3181dp
+ 360.4444dp
+ 361.5708dp
+ 362.6972dp
+ 363.8236dp
+ 364.9500dp
+ 366.0764dp
+ 367.2028dp
+ 368.3292dp
+ 369.4556dp
+ 370.5819dp
+ 371.7083dp
+ 372.8347dp
+ 373.9611dp
+ 375.0875dp
+ 376.2139dp
+ 377.3403dp
+ 378.4667dp
+ 379.5931dp
+ 380.7194dp
+ 381.8458dp
+ 382.9722dp
+ 384.0986dp
+ 385.2250dp
+ 386.3514dp
+ 387.4778dp
+ 388.6042dp
+ 389.7306dp
+ 390.8569dp
+ 391.9833dp
+ 393.1097dp
+ 394.2361dp
+ 395.3625dp
+ 396.4889dp
+ 397.6153dp
+ 398.7417dp
+ 399.8681dp
+ 400.9944dp
+ 402.1208dp
+ 403.2472dp
+ 404.3736dp
+ 405.5000dp
+ 406.6264dp
+ 407.7528dp
+ 408.8792dp
+ 410.0056dp
+ 411.1319dp
+ 412.2583dp
+ 413.3847dp
+ 414.5111dp
+ 415.6375dp
+ 416.7639dp
+ 417.8903dp
+ 419.0167dp
+ 420.1431dp
+ 421.2694dp
+ 422.3958dp
+ 423.5222dp
+ 424.6486dp
+ 425.7750dp
+ 426.9014dp
+ 428.0278dp
+ 429.1542dp
+ 430.2806dp
+ 431.4069dp
+ 432.5333dp
+ 433.6597dp
+ 434.7861dp
+ 435.9125dp
+ 437.0389dp
+ 438.1653dp
+ 439.2917dp
+ 440.4181dp
+ 441.5444dp
+ 442.6708dp
+ 443.7972dp
+ 444.9236dp
+ 446.0500dp
+ 447.1764dp
+ 448.3028dp
+ 449.4292dp
+ 450.5556dp
+ 451.6819dp
+ 452.8083dp
+ 453.9347dp
+ 455.0611dp
+ 456.1875dp
+ 457.3139dp
+ 458.4403dp
+ 459.5667dp
+ 460.6931dp
+ 461.8194dp
+ 462.9458dp
+ 464.0722dp
+ 465.1986dp
+ 466.3250dp
+ 467.4514dp
+ 468.5778dp
+ 469.7042dp
+ 470.8306dp
+ 471.9569dp
+ 473.0833dp
+ 474.2097dp
+ 475.3361dp
+ 476.4625dp
+ 477.5889dp
+ 478.7153dp
+ 479.8417dp
+ 480.9681dp
+ 482.0944dp
+ 483.2208dp
+ 484.3472dp
+ 485.4736dp
+ 486.6000dp
+ 487.7264dp
+ 488.8528dp
+ 489.9792dp
+ 491.1056dp
+ 492.2319dp
+ 493.3583dp
+ 494.4847dp
+ 495.6111dp
+ 496.7375dp
+ 497.8639dp
+ 498.9903dp
+ 500.1167dp
+ 501.2431dp
+ 502.3694dp
+ 503.4958dp
+ 504.6222dp
+ 505.7486dp
+ 506.8750dp
+ 508.0014dp
+ 509.1278dp
+ 510.2542dp
+ 511.3806dp
+ 512.5069dp
+ 513.6333dp
+ 514.7597dp
+ 515.8861dp
+ 517.0125dp
+ 518.1389dp
+ 519.2653dp
+ 520.3917dp
+ 521.5181dp
+ 522.6444dp
+ 523.7708dp
+ 524.8972dp
+ 526.0236dp
+ 527.1500dp
+ 528.2764dp
+ 529.4028dp
+ 530.5292dp
+ 531.6556dp
+ 532.7819dp
+ 533.9083dp
+ 535.0347dp
+ 536.1611dp
+ 537.2875dp
+ 538.4139dp
+ 539.5403dp
+ 540.6667dp
+ 541.7931dp
+ 542.9194dp
+ 544.0458dp
+ 545.1722dp
+ 546.2986dp
+ 547.4250dp
+ 548.5514dp
+ 549.6778dp
+ 550.8042dp
+ 551.9306dp
+ 553.0569dp
+ 554.1833dp
+ 555.3097dp
+ 556.4361dp
+ 557.5625dp
+ 558.6889dp
+ 559.8153dp
+ 560.9417dp
+ 562.0681dp
+ 563.1944dp
+ 564.3208dp
+ 565.4472dp
+ 566.5736dp
+ 567.7000dp
+ 568.8264dp
+ 569.9528dp
+ 571.0792dp
+ 572.2056dp
+ 573.3319dp
+ 574.4583dp
+ 575.5847dp
+ 576.7111dp
+ 577.8375dp
+ 578.9639dp
+ 580.0903dp
+ 581.2167dp
+ 582.3431dp
+ 583.4694dp
+ 584.5958dp
+ 585.7222dp
+ 586.8486dp
+ 587.9750dp
+ 589.1014dp
+ 590.2278dp
+ 591.3542dp
+ 592.4806dp
+ 593.6069dp
+ 594.7333dp
+ 595.8597dp
+ 596.9861dp
+ 598.1125dp
+ 599.2389dp
+ 600.3653dp
+ 601.4917dp
+ 602.6181dp
+ 603.7444dp
+ 604.8708dp
+ 605.9972dp
+ 607.1236dp
+ 608.2500dp
+ 609.3764dp
+ 610.5028dp
+ 611.6292dp
+ 612.7556dp
+ 613.8819dp
+ 615.0083dp
+ 616.1347dp
+ 617.2611dp
+ 618.3875dp
+ 619.5139dp
+ 620.6403dp
+ 621.7667dp
+ 622.8931dp
+ 624.0194dp
+ 625.1458dp
+ 626.2722dp
+ 627.3986dp
+ 628.5250dp
+ 629.6514dp
+ 630.7778dp
+ 631.9042dp
+ 633.0306dp
+ 634.1569dp
+ 635.2833dp
+ 636.4097dp
+ 637.5361dp
+ 638.6625dp
+ 639.7889dp
+ 640.9153dp
+ 642.0417dp
+ 643.1681dp
+ 644.2944dp
+ 645.4208dp
+ 646.5472dp
+ 647.6736dp
+ 648.8000dp
+ 649.9264dp
+ 651.0528dp
+ 652.1792dp
+ 653.3056dp
+ 654.4319dp
+ 655.5583dp
+ 656.6847dp
+ 657.8111dp
+ 658.9375dp
+ 660.0639dp
+ 661.1903dp
+ 662.3167dp
+ 663.4431dp
+ 664.5694dp
+ 665.6958dp
+ 666.8222dp
+ 667.9486dp
+ 669.0750dp
+ 670.2014dp
+ 671.3278dp
+ 672.4542dp
+ 673.5806dp
+ 674.7069dp
+ 675.8333dp
+ 676.9597dp
+ 678.0861dp
+ 679.2125dp
+ 680.3389dp
+ 681.4653dp
+ 682.5917dp
+ 683.7181dp
+ 684.8444dp
+ 685.9708dp
+ 687.0972dp
+ 688.2236dp
+ 689.3500dp
+ 690.4764dp
+ 691.6028dp
+ 692.7292dp
+ 693.8556dp
+ 694.9819dp
+ 696.1083dp
+ 697.2347dp
+ 698.3611dp
+ 699.4875dp
+ 700.6139dp
+ 701.7403dp
+ 702.8667dp
+ 703.9931dp
+ 705.1194dp
+ 706.2458dp
+ 707.3722dp
+ 708.4986dp
+ 709.6250dp
+ 710.7514dp
+ 711.8778dp
+ 713.0042dp
+ 714.1306dp
+ 715.2569dp
+ 716.3833dp
+ 717.5097dp
+ 718.6361dp
+ 719.7625dp
+ 720.8889dp
+ 722.0153dp
+ 723.1417dp
+ 724.2681dp
+ 725.3944dp
+ 726.5208dp
+ 727.6472dp
+ 728.7736dp
+ 729.9000dp
+ 731.0264dp
+ 732.1528dp
+ 733.2792dp
+ 734.4056dp
+ 735.5319dp
+ 736.6583dp
+ 737.7847dp
+ 738.9111dp
+ 740.0375dp
+ 741.1639dp
+ 742.2903dp
+ 743.4167dp
+ 744.5431dp
+ 745.6694dp
+ 746.7958dp
+ 747.9222dp
+ 749.0486dp
+ 750.1750dp
+ 751.3014dp
+ 752.4278dp
+ 753.5542dp
+ 754.6806dp
+ 755.8069dp
+ 756.9333dp
+ 758.0597dp
+ 759.1861dp
+ 760.3125dp
+ 761.4389dp
+ 762.5653dp
+ 763.6917dp
+ 764.8181dp
+ 765.9444dp
+ 767.0708dp
+ 768.1972dp
+ 769.3236dp
+ 770.4500dp
+ 771.5764dp
+ 772.7028dp
+ 773.8292dp
+ 774.9556dp
+ 776.0819dp
+ 777.2083dp
+ 778.3347dp
+ 779.4611dp
+ 780.5875dp
+ 781.7139dp
+ 782.8403dp
+ 783.9667dp
+ 785.0931dp
+ 786.2194dp
+ 787.3458dp
+ 788.4722dp
+ 789.5986dp
+ 790.7250dp
+ 791.8514dp
+ 792.9778dp
+ 794.1042dp
+ 795.2306dp
+ 796.3569dp
+ 797.4833dp
+ 798.6097dp
+ 799.7361dp
+ 800.8625dp
+ 801.9889dp
+ 803.1153dp
+ 804.2417dp
+ 805.3681dp
+ 806.4944dp
+ 807.6208dp
+ 808.7472dp
+ 809.8736dp
+ 811.0000dp
+ 2.2528sp
+ 4.5056sp
+ 6.7583sp
+ 9.0111sp
+ 11.2639sp
+ 13.5167sp
+ 15.7694sp
+ 18.0222sp
+ 20.2750sp
+ 22.5278sp
+ 24.7806sp
+ 27.0333sp
+ 29.2861sp
+ 31.5389sp
+ 33.7917sp
+ 36.0444sp
+ 38.2972sp
+ 40.5500sp
+ 42.8028sp
+ 45.0556sp
+ 47.3083sp
+ 49.5611sp
+ 51.8139sp
+ 54.0667sp
+ 56.3194sp
+ 58.5722sp
+ 60.8250sp
+ 63.0778sp
+ 65.3306sp
+ 67.5833sp
+ 69.8361sp
+ 72.0889sp
+ 74.3417sp
+ 76.5944sp
+ 78.8472sp
+ 81.1000sp
+ 83.3528sp
+ 85.6056sp
+ 87.8583sp
+ 90.1111sp
+
diff --git a/BaseAndroidKt/src/main/res/values-sw820dp/dimens.xml b/BaseAndroidKt/src/main/res/values-sw820dp/dimens.xml
new file mode 100644
index 0000000..367f75f
--- /dev/null
+++ b/BaseAndroidKt/src/main/res/values-sw820dp/dimens.xml
@@ -0,0 +1,764 @@
+
+
+ 820.0000dp
+ 1.1389dp
+ 2.2778dp
+ 3.4167dp
+ 4.5556dp
+ 5.6944dp
+ 6.8333dp
+ 7.9722dp
+ 9.1111dp
+ 10.2500dp
+ 11.3889dp
+ 12.5278dp
+ 13.6667dp
+ 14.8056dp
+ 15.9444dp
+ 17.0833dp
+ 18.2222dp
+ 19.3611dp
+ 20.5000dp
+ 21.6389dp
+ 22.7778dp
+ 23.9167dp
+ 25.0556dp
+ 26.1944dp
+ 27.3333dp
+ 28.4722dp
+ 29.6111dp
+ 30.7500dp
+ 31.8889dp
+ 33.0278dp
+ 34.1667dp
+ 35.3056dp
+ 36.4444dp
+ 37.5833dp
+ 38.7222dp
+ 39.8611dp
+ 41.0000dp
+ 42.1389dp
+ 43.2778dp
+ 44.4167dp
+ 45.5556dp
+ 46.6944dp
+ 47.8333dp
+ 48.9722dp
+ 50.1111dp
+ 51.2500dp
+ 52.3889dp
+ 53.5278dp
+ 54.6667dp
+ 55.8056dp
+ 56.9444dp
+ 58.0833dp
+ 59.2222dp
+ 60.3611dp
+ 61.5000dp
+ 62.6389dp
+ 63.7778dp
+ 64.9167dp
+ 66.0556dp
+ 67.1944dp
+ 68.3333dp
+ 69.4722dp
+ 70.6111dp
+ 71.7500dp
+ 72.8889dp
+ 74.0278dp
+ 75.1667dp
+ 76.3056dp
+ 77.4444dp
+ 78.5833dp
+ 79.7222dp
+ 80.8611dp
+ 82.0000dp
+ 83.1389dp
+ 84.2778dp
+ 85.4167dp
+ 86.5556dp
+ 87.6944dp
+ 88.8333dp
+ 89.9722dp
+ 91.1111dp
+ 92.2500dp
+ 93.3889dp
+ 94.5278dp
+ 95.6667dp
+ 96.8056dp
+ 97.9444dp
+ 99.0833dp
+ 100.2222dp
+ 101.3611dp
+ 102.5000dp
+ 103.6389dp
+ 104.7778dp
+ 105.9167dp
+ 107.0556dp
+ 108.1944dp
+ 109.3333dp
+ 110.4722dp
+ 111.6111dp
+ 112.7500dp
+ 113.8889dp
+ 115.0278dp
+ 116.1667dp
+ 117.3056dp
+ 118.4444dp
+ 119.5833dp
+ 120.7222dp
+ 121.8611dp
+ 123.0000dp
+ 124.1389dp
+ 125.2778dp
+ 126.4167dp
+ 127.5556dp
+ 128.6944dp
+ 129.8333dp
+ 130.9722dp
+ 132.1111dp
+ 133.2500dp
+ 134.3889dp
+ 135.5278dp
+ 136.6667dp
+ 137.8056dp
+ 138.9444dp
+ 140.0833dp
+ 141.2222dp
+ 142.3611dp
+ 143.5000dp
+ 144.6389dp
+ 145.7778dp
+ 146.9167dp
+ 148.0556dp
+ 149.1944dp
+ 150.3333dp
+ 151.4722dp
+ 152.6111dp
+ 153.7500dp
+ 154.8889dp
+ 156.0278dp
+ 157.1667dp
+ 158.3056dp
+ 159.4444dp
+ 160.5833dp
+ 161.7222dp
+ 162.8611dp
+ 164.0000dp
+ 165.1389dp
+ 166.2778dp
+ 167.4167dp
+ 168.5556dp
+ 169.6944dp
+ 170.8333dp
+ 171.9722dp
+ 173.1111dp
+ 174.2500dp
+ 175.3889dp
+ 176.5278dp
+ 177.6667dp
+ 178.8056dp
+ 179.9444dp
+ 181.0833dp
+ 182.2222dp
+ 183.3611dp
+ 184.5000dp
+ 185.6389dp
+ 186.7778dp
+ 187.9167dp
+ 189.0556dp
+ 190.1944dp
+ 191.3333dp
+ 192.4722dp
+ 193.6111dp
+ 194.7500dp
+ 195.8889dp
+ 197.0278dp
+ 198.1667dp
+ 199.3056dp
+ 200.4444dp
+ 201.5833dp
+ 202.7222dp
+ 203.8611dp
+ 205.0000dp
+ 206.1389dp
+ 207.2778dp
+ 208.4167dp
+ 209.5556dp
+ 210.6944dp
+ 211.8333dp
+ 212.9722dp
+ 214.1111dp
+ 215.2500dp
+ 216.3889dp
+ 217.5278dp
+ 218.6667dp
+ 219.8056dp
+ 220.9444dp
+ 222.0833dp
+ 223.2222dp
+ 224.3611dp
+ 225.5000dp
+ 226.6389dp
+ 227.7778dp
+ 228.9167dp
+ 230.0556dp
+ 231.1944dp
+ 232.3333dp
+ 233.4722dp
+ 234.6111dp
+ 235.7500dp
+ 236.8889dp
+ 238.0278dp
+ 239.1667dp
+ 240.3056dp
+ 241.4444dp
+ 242.5833dp
+ 243.7222dp
+ 244.8611dp
+ 246.0000dp
+ 247.1389dp
+ 248.2778dp
+ 249.4167dp
+ 250.5556dp
+ 251.6944dp
+ 252.8333dp
+ 253.9722dp
+ 255.1111dp
+ 256.2500dp
+ 257.3889dp
+ 258.5278dp
+ 259.6667dp
+ 260.8056dp
+ 261.9444dp
+ 263.0833dp
+ 264.2222dp
+ 265.3611dp
+ 266.5000dp
+ 267.6389dp
+ 268.7778dp
+ 269.9167dp
+ 271.0556dp
+ 272.1944dp
+ 273.3333dp
+ 274.4722dp
+ 275.6111dp
+ 276.7500dp
+ 277.8889dp
+ 279.0278dp
+ 280.1667dp
+ 281.3056dp
+ 282.4444dp
+ 283.5833dp
+ 284.7222dp
+ 285.8611dp
+ 287.0000dp
+ 288.1389dp
+ 289.2778dp
+ 290.4167dp
+ 291.5556dp
+ 292.6944dp
+ 293.8333dp
+ 294.9722dp
+ 296.1111dp
+ 297.2500dp
+ 298.3889dp
+ 299.5278dp
+ 300.6667dp
+ 301.8056dp
+ 302.9444dp
+ 304.0833dp
+ 305.2222dp
+ 306.3611dp
+ 307.5000dp
+ 308.6389dp
+ 309.7778dp
+ 310.9167dp
+ 312.0556dp
+ 313.1944dp
+ 314.3333dp
+ 315.4722dp
+ 316.6111dp
+ 317.7500dp
+ 318.8889dp
+ 320.0278dp
+ 321.1667dp
+ 322.3056dp
+ 323.4444dp
+ 324.5833dp
+ 325.7222dp
+ 326.8611dp
+ 328.0000dp
+ 329.1389dp
+ 330.2778dp
+ 331.4167dp
+ 332.5556dp
+ 333.6944dp
+ 334.8333dp
+ 335.9722dp
+ 337.1111dp
+ 338.2500dp
+ 339.3889dp
+ 340.5278dp
+ 341.6667dp
+ 342.8056dp
+ 343.9444dp
+ 345.0833dp
+ 346.2222dp
+ 347.3611dp
+ 348.5000dp
+ 349.6389dp
+ 350.7778dp
+ 351.9167dp
+ 353.0556dp
+ 354.1944dp
+ 355.3333dp
+ 356.4722dp
+ 357.6111dp
+ 358.7500dp
+ 359.8889dp
+ 361.0278dp
+ 362.1667dp
+ 363.3056dp
+ 364.4444dp
+ 365.5833dp
+ 366.7222dp
+ 367.8611dp
+ 369.0000dp
+ 370.1389dp
+ 371.2778dp
+ 372.4167dp
+ 373.5556dp
+ 374.6944dp
+ 375.8333dp
+ 376.9722dp
+ 378.1111dp
+ 379.2500dp
+ 380.3889dp
+ 381.5278dp
+ 382.6667dp
+ 383.8056dp
+ 384.9444dp
+ 386.0833dp
+ 387.2222dp
+ 388.3611dp
+ 389.5000dp
+ 390.6389dp
+ 391.7778dp
+ 392.9167dp
+ 394.0556dp
+ 395.1944dp
+ 396.3333dp
+ 397.4722dp
+ 398.6111dp
+ 399.7500dp
+ 400.8889dp
+ 402.0278dp
+ 403.1667dp
+ 404.3056dp
+ 405.4444dp
+ 406.5833dp
+ 407.7222dp
+ 408.8611dp
+ 410.0000dp
+ 411.1389dp
+ 412.2778dp
+ 413.4167dp
+ 414.5556dp
+ 415.6944dp
+ 416.8333dp
+ 417.9722dp
+ 419.1111dp
+ 420.2500dp
+ 421.3889dp
+ 422.5278dp
+ 423.6667dp
+ 424.8056dp
+ 425.9444dp
+ 427.0833dp
+ 428.2222dp
+ 429.3611dp
+ 430.5000dp
+ 431.6389dp
+ 432.7778dp
+ 433.9167dp
+ 435.0556dp
+ 436.1944dp
+ 437.3333dp
+ 438.4722dp
+ 439.6111dp
+ 440.7500dp
+ 441.8889dp
+ 443.0278dp
+ 444.1667dp
+ 445.3056dp
+ 446.4444dp
+ 447.5833dp
+ 448.7222dp
+ 449.8611dp
+ 451.0000dp
+ 452.1389dp
+ 453.2778dp
+ 454.4167dp
+ 455.5556dp
+ 456.6944dp
+ 457.8333dp
+ 458.9722dp
+ 460.1111dp
+ 461.2500dp
+ 462.3889dp
+ 463.5278dp
+ 464.6667dp
+ 465.8056dp
+ 466.9444dp
+ 468.0833dp
+ 469.2222dp
+ 470.3611dp
+ 471.5000dp
+ 472.6389dp
+ 473.7778dp
+ 474.9167dp
+ 476.0556dp
+ 477.1944dp
+ 478.3333dp
+ 479.4722dp
+ 480.6111dp
+ 481.7500dp
+ 482.8889dp
+ 484.0278dp
+ 485.1667dp
+ 486.3056dp
+ 487.4444dp
+ 488.5833dp
+ 489.7222dp
+ 490.8611dp
+ 492.0000dp
+ 493.1389dp
+ 494.2778dp
+ 495.4167dp
+ 496.5556dp
+ 497.6944dp
+ 498.8333dp
+ 499.9722dp
+ 501.1111dp
+ 502.2500dp
+ 503.3889dp
+ 504.5278dp
+ 505.6667dp
+ 506.8056dp
+ 507.9444dp
+ 509.0833dp
+ 510.2222dp
+ 511.3611dp
+ 512.5000dp
+ 513.6389dp
+ 514.7778dp
+ 515.9167dp
+ 517.0556dp
+ 518.1944dp
+ 519.3333dp
+ 520.4722dp
+ 521.6111dp
+ 522.7500dp
+ 523.8889dp
+ 525.0278dp
+ 526.1667dp
+ 527.3056dp
+ 528.4444dp
+ 529.5833dp
+ 530.7222dp
+ 531.8611dp
+ 533.0000dp
+ 534.1389dp
+ 535.2778dp
+ 536.4167dp
+ 537.5556dp
+ 538.6944dp
+ 539.8333dp
+ 540.9722dp
+ 542.1111dp
+ 543.2500dp
+ 544.3889dp
+ 545.5278dp
+ 546.6667dp
+ 547.8056dp
+ 548.9444dp
+ 550.0833dp
+ 551.2222dp
+ 552.3611dp
+ 553.5000dp
+ 554.6389dp
+ 555.7778dp
+ 556.9167dp
+ 558.0556dp
+ 559.1944dp
+ 560.3333dp
+ 561.4722dp
+ 562.6111dp
+ 563.7500dp
+ 564.8889dp
+ 566.0278dp
+ 567.1667dp
+ 568.3056dp
+ 569.4444dp
+ 570.5833dp
+ 571.7222dp
+ 572.8611dp
+ 574.0000dp
+ 575.1389dp
+ 576.2778dp
+ 577.4167dp
+ 578.5556dp
+ 579.6944dp
+ 580.8333dp
+ 581.9722dp
+ 583.1111dp
+ 584.2500dp
+ 585.3889dp
+ 586.5278dp
+ 587.6667dp
+ 588.8056dp
+ 589.9444dp
+ 591.0833dp
+ 592.2222dp
+ 593.3611dp
+ 594.5000dp
+ 595.6389dp
+ 596.7778dp
+ 597.9167dp
+ 599.0556dp
+ 600.1944dp
+ 601.3333dp
+ 602.4722dp
+ 603.6111dp
+ 604.7500dp
+ 605.8889dp
+ 607.0278dp
+ 608.1667dp
+ 609.3056dp
+ 610.4444dp
+ 611.5833dp
+ 612.7222dp
+ 613.8611dp
+ 615.0000dp
+ 616.1389dp
+ 617.2778dp
+ 618.4167dp
+ 619.5556dp
+ 620.6944dp
+ 621.8333dp
+ 622.9722dp
+ 624.1111dp
+ 625.2500dp
+ 626.3889dp
+ 627.5278dp
+ 628.6667dp
+ 629.8056dp
+ 630.9444dp
+ 632.0833dp
+ 633.2222dp
+ 634.3611dp
+ 635.5000dp
+ 636.6389dp
+ 637.7778dp
+ 638.9167dp
+ 640.0556dp
+ 641.1944dp
+ 642.3333dp
+ 643.4722dp
+ 644.6111dp
+ 645.7500dp
+ 646.8889dp
+ 648.0278dp
+ 649.1667dp
+ 650.3056dp
+ 651.4444dp
+ 652.5833dp
+ 653.7222dp
+ 654.8611dp
+ 656.0000dp
+ 657.1389dp
+ 658.2778dp
+ 659.4167dp
+ 660.5556dp
+ 661.6944dp
+ 662.8333dp
+ 663.9722dp
+ 665.1111dp
+ 666.2500dp
+ 667.3889dp
+ 668.5278dp
+ 669.6667dp
+ 670.8056dp
+ 671.9444dp
+ 673.0833dp
+ 674.2222dp
+ 675.3611dp
+ 676.5000dp
+ 677.6389dp
+ 678.7778dp
+ 679.9167dp
+ 681.0556dp
+ 682.1944dp
+ 683.3333dp
+ 684.4722dp
+ 685.6111dp
+ 686.7500dp
+ 687.8889dp
+ 689.0278dp
+ 690.1667dp
+ 691.3056dp
+ 692.4444dp
+ 693.5833dp
+ 694.7222dp
+ 695.8611dp
+ 697.0000dp
+ 698.1389dp
+ 699.2778dp
+ 700.4167dp
+ 701.5556dp
+ 702.6944dp
+ 703.8333dp
+ 704.9722dp
+ 706.1111dp
+ 707.2500dp
+ 708.3889dp
+ 709.5278dp
+ 710.6667dp
+ 711.8056dp
+ 712.9444dp
+ 714.0833dp
+ 715.2222dp
+ 716.3611dp
+ 717.5000dp
+ 718.6389dp
+ 719.7778dp
+ 720.9167dp
+ 722.0556dp
+ 723.1944dp
+ 724.3333dp
+ 725.4722dp
+ 726.6111dp
+ 727.7500dp
+ 728.8889dp
+ 730.0278dp
+ 731.1667dp
+ 732.3056dp
+ 733.4444dp
+ 734.5833dp
+ 735.7222dp
+ 736.8611dp
+ 738.0000dp
+ 739.1389dp
+ 740.2778dp
+ 741.4167dp
+ 742.5556dp
+ 743.6944dp
+ 744.8333dp
+ 745.9722dp
+ 747.1111dp
+ 748.2500dp
+ 749.3889dp
+ 750.5278dp
+ 751.6667dp
+ 752.8056dp
+ 753.9444dp
+ 755.0833dp
+ 756.2222dp
+ 757.3611dp
+ 758.5000dp
+ 759.6389dp
+ 760.7778dp
+ 761.9167dp
+ 763.0556dp
+ 764.1944dp
+ 765.3333dp
+ 766.4722dp
+ 767.6111dp
+ 768.7500dp
+ 769.8889dp
+ 771.0278dp
+ 772.1667dp
+ 773.3056dp
+ 774.4444dp
+ 775.5833dp
+ 776.7222dp
+ 777.8611dp
+ 779.0000dp
+ 780.1389dp
+ 781.2778dp
+ 782.4167dp
+ 783.5556dp
+ 784.6944dp
+ 785.8333dp
+ 786.9722dp
+ 788.1111dp
+ 789.2500dp
+ 790.3889dp
+ 791.5278dp
+ 792.6667dp
+ 793.8056dp
+ 794.9444dp
+ 796.0833dp
+ 797.2222dp
+ 798.3611dp
+ 799.5000dp
+ 800.6389dp
+ 801.7778dp
+ 802.9167dp
+ 804.0556dp
+ 805.1944dp
+ 806.3333dp
+ 807.4722dp
+ 808.6111dp
+ 809.7500dp
+ 810.8889dp
+ 812.0278dp
+ 813.1667dp
+ 814.3056dp
+ 815.4444dp
+ 816.5833dp
+ 817.7222dp
+ 818.8611dp
+ 820.0000dp
+ 2.2778sp
+ 4.5556sp
+ 6.8333sp
+ 9.1111sp
+ 11.3889sp
+ 13.6667sp
+ 15.9444sp
+ 18.2222sp
+ 20.5000sp
+ 22.7778sp
+ 25.0556sp
+ 27.3333sp
+ 29.6111sp
+ 31.8889sp
+ 34.1667sp
+ 36.4444sp
+ 38.7222sp
+ 41.0000sp
+ 43.2778sp
+ 45.5556sp
+ 47.8333sp
+ 50.1111sp
+ 52.3889sp
+ 54.6667sp
+ 56.9444sp
+ 59.2222sp
+ 61.5000sp
+ 63.7778sp
+ 66.0556sp
+ 68.3333sp
+ 70.6111sp
+ 72.8889sp
+ 75.1667sp
+ 77.4444sp
+ 79.7222sp
+ 82.0000sp
+ 84.2778sp
+ 86.5556sp
+ 88.8333sp
+ 91.1111sp
+
diff --git a/BaseAndroidKt/src/main/res/values-sw960dp/dimens.xml b/BaseAndroidKt/src/main/res/values-sw960dp/dimens.xml
new file mode 100644
index 0000000..a40e38d
--- /dev/null
+++ b/BaseAndroidKt/src/main/res/values-sw960dp/dimens.xml
@@ -0,0 +1,764 @@
+
+
+ 960.0000dp
+ 1.3333dp
+ 2.6667dp
+ 4.0000dp
+ 5.3333dp
+ 6.6667dp
+ 8.0000dp
+ 9.3333dp
+ 10.6667dp
+ 12.0000dp
+ 13.3333dp
+ 14.6667dp
+ 16.0000dp
+ 17.3333dp
+ 18.6667dp
+ 20.0000dp
+ 21.3333dp
+ 22.6667dp
+ 24.0000dp
+ 25.3333dp
+ 26.6667dp
+ 28.0000dp
+ 29.3333dp
+ 30.6667dp
+ 32.0000dp
+ 33.3333dp
+ 34.6667dp
+ 36.0000dp
+ 37.3333dp
+ 38.6667dp
+ 40.0000dp
+ 41.3333dp
+ 42.6667dp
+ 44.0000dp
+ 45.3333dp
+ 46.6667dp
+ 48.0000dp
+ 49.3333dp
+ 50.6667dp
+ 52.0000dp
+ 53.3333dp
+ 54.6667dp
+ 56.0000dp
+ 57.3333dp
+ 58.6667dp
+ 60.0000dp
+ 61.3333dp
+ 62.6667dp
+ 64.0000dp
+ 65.3333dp
+ 66.6667dp
+ 68.0000dp
+ 69.3333dp
+ 70.6667dp
+ 72.0000dp
+ 73.3333dp
+ 74.6667dp
+ 76.0000dp
+ 77.3333dp
+ 78.6667dp
+ 80.0000dp
+ 81.3333dp
+ 82.6667dp
+ 84.0000dp
+ 85.3333dp
+ 86.6667dp
+ 88.0000dp
+ 89.3333dp
+ 90.6667dp
+ 92.0000dp
+ 93.3333dp
+ 94.6667dp
+ 96.0000dp
+ 97.3333dp
+ 98.6667dp
+ 100.0000dp
+ 101.3333dp
+ 102.6667dp
+ 104.0000dp
+ 105.3333dp
+ 106.6667dp
+ 108.0000dp
+ 109.3333dp
+ 110.6667dp
+ 112.0000dp
+ 113.3333dp
+ 114.6667dp
+ 116.0000dp
+ 117.3333dp
+ 118.6667dp
+ 120.0000dp
+ 121.3333dp
+ 122.6667dp
+ 124.0000dp
+ 125.3333dp
+ 126.6667dp
+ 128.0000dp
+ 129.3333dp
+ 130.6667dp
+ 132.0000dp
+ 133.3333dp
+ 134.6667dp
+ 136.0000dp
+ 137.3333dp
+ 138.6667dp
+ 140.0000dp
+ 141.3333dp
+ 142.6667dp
+ 144.0000dp
+ 145.3333dp
+ 146.6667dp
+ 148.0000dp
+ 149.3333dp
+ 150.6667dp
+ 152.0000dp
+ 153.3333dp
+ 154.6667dp
+ 156.0000dp
+ 157.3333dp
+ 158.6667dp
+ 160.0000dp
+ 161.3333dp
+ 162.6667dp
+ 164.0000dp
+ 165.3333dp
+ 166.6667dp
+ 168.0000dp
+ 169.3333dp
+ 170.6667dp
+ 172.0000dp
+ 173.3333dp
+ 174.6667dp
+ 176.0000dp
+ 177.3333dp
+ 178.6667dp
+ 180.0000dp
+ 181.3333dp
+ 182.6667dp
+ 184.0000dp
+ 185.3333dp
+ 186.6667dp
+ 188.0000dp
+ 189.3333dp
+ 190.6667dp
+ 192.0000dp
+ 193.3333dp
+ 194.6667dp
+ 196.0000dp
+ 197.3333dp
+ 198.6667dp
+ 200.0000dp
+ 201.3333dp
+ 202.6667dp
+ 204.0000dp
+ 205.3333dp
+ 206.6667dp
+ 208.0000dp
+ 209.3333dp
+ 210.6667dp
+ 212.0000dp
+ 213.3333dp
+ 214.6667dp
+ 216.0000dp
+ 217.3333dp
+ 218.6667dp
+ 220.0000dp
+ 221.3333dp
+ 222.6667dp
+ 224.0000dp
+ 225.3333dp
+ 226.6667dp
+ 228.0000dp
+ 229.3333dp
+ 230.6667dp
+ 232.0000dp
+ 233.3333dp
+ 234.6667dp
+ 236.0000dp
+ 237.3333dp
+ 238.6667dp
+ 240.0000dp
+ 241.3333dp
+ 242.6667dp
+ 244.0000dp
+ 245.3333dp
+ 246.6667dp
+ 248.0000dp
+ 249.3333dp
+ 250.6667dp
+ 252.0000dp
+ 253.3333dp
+ 254.6667dp
+ 256.0000dp
+ 257.3333dp
+ 258.6667dp
+ 260.0000dp
+ 261.3333dp
+ 262.6667dp
+ 264.0000dp
+ 265.3333dp
+ 266.6667dp
+ 268.0000dp
+ 269.3333dp
+ 270.6667dp
+ 272.0000dp
+ 273.3333dp
+ 274.6667dp
+ 276.0000dp
+ 277.3333dp
+ 278.6667dp
+ 280.0000dp
+ 281.3333dp
+ 282.6667dp
+ 284.0000dp
+ 285.3333dp
+ 286.6667dp
+ 288.0000dp
+ 289.3333dp
+ 290.6667dp
+ 292.0000dp
+ 293.3333dp
+ 294.6667dp
+ 296.0000dp
+ 297.3333dp
+ 298.6667dp
+ 300.0000dp
+ 301.3333dp
+ 302.6667dp
+ 304.0000dp
+ 305.3333dp
+ 306.6667dp
+ 308.0000dp
+ 309.3333dp
+ 310.6667dp
+ 312.0000dp
+ 313.3333dp
+ 314.6667dp
+ 316.0000dp
+ 317.3333dp
+ 318.6667dp
+ 320.0000dp
+ 321.3333dp
+ 322.6667dp
+ 324.0000dp
+ 325.3333dp
+ 326.6667dp
+ 328.0000dp
+ 329.3333dp
+ 330.6667dp
+ 332.0000dp
+ 333.3333dp
+ 334.6667dp
+ 336.0000dp
+ 337.3333dp
+ 338.6667dp
+ 340.0000dp
+ 341.3333dp
+ 342.6667dp
+ 344.0000dp
+ 345.3333dp
+ 346.6667dp
+ 348.0000dp
+ 349.3333dp
+ 350.6667dp
+ 352.0000dp
+ 353.3333dp
+ 354.6667dp
+ 356.0000dp
+ 357.3333dp
+ 358.6667dp
+ 360.0000dp
+ 361.3333dp
+ 362.6667dp
+ 364.0000dp
+ 365.3333dp
+ 366.6667dp
+ 368.0000dp
+ 369.3333dp
+ 370.6667dp
+ 372.0000dp
+ 373.3333dp
+ 374.6667dp
+ 376.0000dp
+ 377.3333dp
+ 378.6667dp
+ 380.0000dp
+ 381.3333dp
+ 382.6667dp
+ 384.0000dp
+ 385.3333dp
+ 386.6667dp
+ 388.0000dp
+ 389.3333dp
+ 390.6667dp
+ 392.0000dp
+ 393.3333dp
+ 394.6667dp
+ 396.0000dp
+ 397.3333dp
+ 398.6667dp
+ 400.0000dp
+ 401.3333dp
+ 402.6667dp
+ 404.0000dp
+ 405.3333dp
+ 406.6667dp
+ 408.0000dp
+ 409.3333dp
+ 410.6667dp
+ 412.0000dp
+ 413.3333dp
+ 414.6667dp
+ 416.0000dp
+ 417.3333dp
+ 418.6667dp
+ 420.0000dp
+ 421.3333dp
+ 422.6667dp
+ 424.0000dp
+ 425.3333dp
+ 426.6667dp
+ 428.0000dp
+ 429.3333dp
+ 430.6667dp
+ 432.0000dp
+ 433.3333dp
+ 434.6667dp
+ 436.0000dp
+ 437.3333dp
+ 438.6667dp
+ 440.0000dp
+ 441.3333dp
+ 442.6667dp
+ 444.0000dp
+ 445.3333dp
+ 446.6667dp
+ 448.0000dp
+ 449.3333dp
+ 450.6667dp
+ 452.0000dp
+ 453.3333dp
+ 454.6667dp
+ 456.0000dp
+ 457.3333dp
+ 458.6667dp
+ 460.0000dp
+ 461.3333dp
+ 462.6667dp
+ 464.0000dp
+ 465.3333dp
+ 466.6667dp
+ 468.0000dp
+ 469.3333dp
+ 470.6667dp
+ 472.0000dp
+ 473.3333dp
+ 474.6667dp
+ 476.0000dp
+ 477.3333dp
+ 478.6667dp
+ 480.0000dp
+ 481.3333dp
+ 482.6667dp
+ 484.0000dp
+ 485.3333dp
+ 486.6667dp
+ 488.0000dp
+ 489.3333dp
+ 490.6667dp
+ 492.0000dp
+ 493.3333dp
+ 494.6667dp
+ 496.0000dp
+ 497.3333dp
+ 498.6667dp
+ 500.0000dp
+ 501.3333dp
+ 502.6667dp
+ 504.0000dp
+ 505.3333dp
+ 506.6667dp
+ 508.0000dp
+ 509.3333dp
+ 510.6667dp
+ 512.0000dp
+ 513.3333dp
+ 514.6667dp
+ 516.0000dp
+ 517.3333dp
+ 518.6667dp
+ 520.0000dp
+ 521.3333dp
+ 522.6667dp
+ 524.0000dp
+ 525.3333dp
+ 526.6667dp
+ 528.0000dp
+ 529.3333dp
+ 530.6667dp
+ 532.0000dp
+ 533.3333dp
+ 534.6667dp
+ 536.0000dp
+ 537.3333dp
+ 538.6667dp
+ 540.0000dp
+ 541.3333dp
+ 542.6667dp
+ 544.0000dp
+ 545.3333dp
+ 546.6667dp
+ 548.0000dp
+ 549.3333dp
+ 550.6667dp
+ 552.0000dp
+ 553.3333dp
+ 554.6667dp
+ 556.0000dp
+ 557.3333dp
+ 558.6667dp
+ 560.0000dp
+ 561.3333dp
+ 562.6667dp
+ 564.0000dp
+ 565.3333dp
+ 566.6667dp
+ 568.0000dp
+ 569.3333dp
+ 570.6667dp
+ 572.0000dp
+ 573.3333dp
+ 574.6667dp
+ 576.0000dp
+ 577.3333dp
+ 578.6667dp
+ 580.0000dp
+ 581.3333dp
+ 582.6667dp
+ 584.0000dp
+ 585.3333dp
+ 586.6667dp
+ 588.0000dp
+ 589.3333dp
+ 590.6667dp
+ 592.0000dp
+ 593.3333dp
+ 594.6667dp
+ 596.0000dp
+ 597.3333dp
+ 598.6667dp
+ 600.0000dp
+ 601.3333dp
+ 602.6667dp
+ 604.0000dp
+ 605.3333dp
+ 606.6667dp
+ 608.0000dp
+ 609.3333dp
+ 610.6667dp
+ 612.0000dp
+ 613.3333dp
+ 614.6667dp
+ 616.0000dp
+ 617.3333dp
+ 618.6667dp
+ 620.0000dp
+ 621.3333dp
+ 622.6667dp
+ 624.0000dp
+ 625.3333dp
+ 626.6667dp
+ 628.0000dp
+ 629.3333dp
+ 630.6667dp
+ 632.0000dp
+ 633.3333dp
+ 634.6667dp
+ 636.0000dp
+ 637.3333dp
+ 638.6667dp
+ 640.0000dp
+ 641.3333dp
+ 642.6667dp
+ 644.0000dp
+ 645.3333dp
+ 646.6667dp
+ 648.0000dp
+ 649.3333dp
+ 650.6667dp
+ 652.0000dp
+ 653.3333dp
+ 654.6667dp
+ 656.0000dp
+ 657.3333dp
+ 658.6667dp
+ 660.0000dp
+ 661.3333dp
+ 662.6667dp
+ 664.0000dp
+ 665.3333dp
+ 666.6667dp
+ 668.0000dp
+ 669.3333dp
+ 670.6667dp
+ 672.0000dp
+ 673.3333dp
+ 674.6667dp
+ 676.0000dp
+ 677.3333dp
+ 678.6667dp
+ 680.0000dp
+ 681.3333dp
+ 682.6667dp
+ 684.0000dp
+ 685.3333dp
+ 686.6667dp
+ 688.0000dp
+ 689.3333dp
+ 690.6667dp
+ 692.0000dp
+ 693.3333dp
+ 694.6667dp
+ 696.0000dp
+ 697.3333dp
+ 698.6667dp
+ 700.0000dp
+ 701.3333dp
+ 702.6667dp
+ 704.0000dp
+ 705.3333dp
+ 706.6667dp
+ 708.0000dp
+ 709.3333dp
+ 710.6667dp
+ 712.0000dp
+ 713.3333dp
+ 714.6667dp
+ 716.0000dp
+ 717.3333dp
+ 718.6667dp
+ 720.0000dp
+ 721.3333dp
+ 722.6667dp
+ 724.0000dp
+ 725.3333dp
+ 726.6667dp
+ 728.0000dp
+ 729.3333dp
+ 730.6667dp
+ 732.0000dp
+ 733.3333dp
+ 734.6667dp
+ 736.0000dp
+ 737.3333dp
+ 738.6667dp
+ 740.0000dp
+ 741.3333dp
+ 742.6667dp
+ 744.0000dp
+ 745.3333dp
+ 746.6667dp
+ 748.0000dp
+ 749.3333dp
+ 750.6667dp
+ 752.0000dp
+ 753.3333dp
+ 754.6667dp
+ 756.0000dp
+ 757.3333dp
+ 758.6667dp
+ 760.0000dp
+ 761.3333dp
+ 762.6667dp
+ 764.0000dp
+ 765.3333dp
+ 766.6667dp
+ 768.0000dp
+ 769.3333dp
+ 770.6667dp
+ 772.0000dp
+ 773.3333dp
+ 774.6667dp
+ 776.0000dp
+ 777.3333dp
+ 778.6667dp
+ 780.0000dp
+ 781.3333dp
+ 782.6667dp
+ 784.0000dp
+ 785.3333dp
+ 786.6667dp
+ 788.0000dp
+ 789.3333dp
+ 790.6667dp
+ 792.0000dp
+ 793.3333dp
+ 794.6667dp
+ 796.0000dp
+ 797.3333dp
+ 798.6667dp
+ 800.0000dp
+ 801.3333dp
+ 802.6667dp
+ 804.0000dp
+ 805.3333dp
+ 806.6667dp
+ 808.0000dp
+ 809.3333dp
+ 810.6667dp
+ 812.0000dp
+ 813.3333dp
+ 814.6667dp
+ 816.0000dp
+ 817.3333dp
+ 818.6667dp
+ 820.0000dp
+ 821.3333dp
+ 822.6667dp
+ 824.0000dp
+ 825.3333dp
+ 826.6667dp
+ 828.0000dp
+ 829.3333dp
+ 830.6667dp
+ 832.0000dp
+ 833.3333dp
+ 834.6667dp
+ 836.0000dp
+ 837.3333dp
+ 838.6667dp
+ 840.0000dp
+ 841.3333dp
+ 842.6667dp
+ 844.0000dp
+ 845.3333dp
+ 846.6667dp
+ 848.0000dp
+ 849.3333dp
+ 850.6667dp
+ 852.0000dp
+ 853.3333dp
+ 854.6667dp
+ 856.0000dp
+ 857.3333dp
+ 858.6667dp
+ 860.0000dp
+ 861.3333dp
+ 862.6667dp
+ 864.0000dp
+ 865.3333dp
+ 866.6667dp
+ 868.0000dp
+ 869.3333dp
+ 870.6667dp
+ 872.0000dp
+ 873.3333dp
+ 874.6667dp
+ 876.0000dp
+ 877.3333dp
+ 878.6667dp
+ 880.0000dp
+ 881.3333dp
+ 882.6667dp
+ 884.0000dp
+ 885.3333dp
+ 886.6667dp
+ 888.0000dp
+ 889.3333dp
+ 890.6667dp
+ 892.0000dp
+ 893.3333dp
+ 894.6667dp
+ 896.0000dp
+ 897.3333dp
+ 898.6667dp
+ 900.0000dp
+ 901.3333dp
+ 902.6667dp
+ 904.0000dp
+ 905.3333dp
+ 906.6667dp
+ 908.0000dp
+ 909.3333dp
+ 910.6667dp
+ 912.0000dp
+ 913.3333dp
+ 914.6667dp
+ 916.0000dp
+ 917.3333dp
+ 918.6667dp
+ 920.0000dp
+ 921.3333dp
+ 922.6667dp
+ 924.0000dp
+ 925.3333dp
+ 926.6667dp
+ 928.0000dp
+ 929.3333dp
+ 930.6667dp
+ 932.0000dp
+ 933.3333dp
+ 934.6667dp
+ 936.0000dp
+ 937.3333dp
+ 938.6667dp
+ 940.0000dp
+ 941.3333dp
+ 942.6667dp
+ 944.0000dp
+ 945.3333dp
+ 946.6667dp
+ 948.0000dp
+ 949.3333dp
+ 950.6667dp
+ 952.0000dp
+ 953.3333dp
+ 954.6667dp
+ 956.0000dp
+ 957.3333dp
+ 958.6667dp
+ 960.0000dp
+ 2.6667sp
+ 5.3333sp
+ 8.0000sp
+ 10.6667sp
+ 13.3333sp
+ 16.0000sp
+ 18.6667sp
+ 21.3333sp
+ 24.0000sp
+ 26.6667sp
+ 29.3333sp
+ 32.0000sp
+ 34.6667sp
+ 37.3333sp
+ 40.0000sp
+ 42.6667sp
+ 45.3333sp
+ 48.0000sp
+ 50.6667sp
+ 53.3333sp
+ 56.0000sp
+ 58.6667sp
+ 61.3333sp
+ 64.0000sp
+ 66.6667sp
+ 69.3333sp
+ 72.0000sp
+ 74.6667sp
+ 77.3333sp
+ 80.0000sp
+ 82.6667sp
+ 85.3333sp
+ 88.0000sp
+ 90.6667sp
+ 93.3333sp
+ 96.0000sp
+ 98.6667sp
+ 101.3333sp
+ 104.0000sp
+ 106.6667sp
+
diff --git a/BaseAndroidKt/src/main/res/values-sw961dp/dimens.xml b/BaseAndroidKt/src/main/res/values-sw961dp/dimens.xml
new file mode 100644
index 0000000..f61c1ad
--- /dev/null
+++ b/BaseAndroidKt/src/main/res/values-sw961dp/dimens.xml
@@ -0,0 +1,764 @@
+
+
+ 961.0000dp
+ 1.3347dp
+ 2.6694dp
+ 4.0042dp
+ 5.3389dp
+ 6.6736dp
+ 8.0083dp
+ 9.3431dp
+ 10.6778dp
+ 12.0125dp
+ 13.3472dp
+ 14.6819dp
+ 16.0167dp
+ 17.3514dp
+ 18.6861dp
+ 20.0208dp
+ 21.3556dp
+ 22.6903dp
+ 24.0250dp
+ 25.3597dp
+ 26.6944dp
+ 28.0292dp
+ 29.3639dp
+ 30.6986dp
+ 32.0333dp
+ 33.3681dp
+ 34.7028dp
+ 36.0375dp
+ 37.3722dp
+ 38.7069dp
+ 40.0417dp
+ 41.3764dp
+ 42.7111dp
+ 44.0458dp
+ 45.3806dp
+ 46.7153dp
+ 48.0500dp
+ 49.3847dp
+ 50.7194dp
+ 52.0542dp
+ 53.3889dp
+ 54.7236dp
+ 56.0583dp
+ 57.3931dp
+ 58.7278dp
+ 60.0625dp
+ 61.3972dp
+ 62.7319dp
+ 64.0667dp
+ 65.4014dp
+ 66.7361dp
+ 68.0708dp
+ 69.4056dp
+ 70.7403dp
+ 72.0750dp
+ 73.4097dp
+ 74.7444dp
+ 76.0792dp
+ 77.4139dp
+ 78.7486dp
+ 80.0833dp
+ 81.4181dp
+ 82.7528dp
+ 84.0875dp
+ 85.4222dp
+ 86.7569dp
+ 88.0917dp
+ 89.4264dp
+ 90.7611dp
+ 92.0958dp
+ 93.4306dp
+ 94.7653dp
+ 96.1000dp
+ 97.4347dp
+ 98.7694dp
+ 100.1042dp
+ 101.4389dp
+ 102.7736dp
+ 104.1083dp
+ 105.4431dp
+ 106.7778dp
+ 108.1125dp
+ 109.4472dp
+ 110.7819dp
+ 112.1167dp
+ 113.4514dp
+ 114.7861dp
+ 116.1208dp
+ 117.4556dp
+ 118.7903dp
+ 120.1250dp
+ 121.4597dp
+ 122.7944dp
+ 124.1292dp
+ 125.4639dp
+ 126.7986dp
+ 128.1333dp
+ 129.4681dp
+ 130.8028dp
+ 132.1375dp
+ 133.4722dp
+ 134.8069dp
+ 136.1417dp
+ 137.4764dp
+ 138.8111dp
+ 140.1458dp
+ 141.4806dp
+ 142.8153dp
+ 144.1500dp
+ 145.4847dp
+ 146.8194dp
+ 148.1542dp
+ 149.4889dp
+ 150.8236dp
+ 152.1583dp
+ 153.4931dp
+ 154.8278dp
+ 156.1625dp
+ 157.4972dp
+ 158.8319dp
+ 160.1667dp
+ 161.5014dp
+ 162.8361dp
+ 164.1708dp
+ 165.5056dp
+ 166.8403dp
+ 168.1750dp
+ 169.5097dp
+ 170.8444dp
+ 172.1792dp
+ 173.5139dp
+ 174.8486dp
+ 176.1833dp
+ 177.5181dp
+ 178.8528dp
+ 180.1875dp
+ 181.5222dp
+ 182.8569dp
+ 184.1917dp
+ 185.5264dp
+ 186.8611dp
+ 188.1958dp
+ 189.5306dp
+ 190.8653dp
+ 192.2000dp
+ 193.5347dp
+ 194.8694dp
+ 196.2042dp
+ 197.5389dp
+ 198.8736dp
+ 200.2083dp
+ 201.5431dp
+ 202.8778dp
+ 204.2125dp
+ 205.5472dp
+ 206.8819dp
+ 208.2167dp
+ 209.5514dp
+ 210.8861dp
+ 212.2208dp
+ 213.5556dp
+ 214.8903dp
+ 216.2250dp
+ 217.5597dp
+ 218.8944dp
+ 220.2292dp
+ 221.5639dp
+ 222.8986dp
+ 224.2333dp
+ 225.5681dp
+ 226.9028dp
+ 228.2375dp
+ 229.5722dp
+ 230.9069dp
+ 232.2417dp
+ 233.5764dp
+ 234.9111dp
+ 236.2458dp
+ 237.5806dp
+ 238.9153dp
+ 240.2500dp
+ 241.5847dp
+ 242.9194dp
+ 244.2542dp
+ 245.5889dp
+ 246.9236dp
+ 248.2583dp
+ 249.5931dp
+ 250.9278dp
+ 252.2625dp
+ 253.5972dp
+ 254.9319dp
+ 256.2667dp
+ 257.6014dp
+ 258.9361dp
+ 260.2708dp
+ 261.6056dp
+ 262.9403dp
+ 264.2750dp
+ 265.6097dp
+ 266.9444dp
+ 268.2792dp
+ 269.6139dp
+ 270.9486dp
+ 272.2833dp
+ 273.6181dp
+ 274.9528dp
+ 276.2875dp
+ 277.6222dp
+ 278.9569dp
+ 280.2917dp
+ 281.6264dp
+ 282.9611dp
+ 284.2958dp
+ 285.6306dp
+ 286.9653dp
+ 288.3000dp
+ 289.6347dp
+ 290.9694dp
+ 292.3042dp
+ 293.6389dp
+ 294.9736dp
+ 296.3083dp
+ 297.6431dp
+ 298.9778dp
+ 300.3125dp
+ 301.6472dp
+ 302.9819dp
+ 304.3167dp
+ 305.6514dp
+ 306.9861dp
+ 308.3208dp
+ 309.6556dp
+ 310.9903dp
+ 312.3250dp
+ 313.6597dp
+ 314.9944dp
+ 316.3292dp
+ 317.6639dp
+ 318.9986dp
+ 320.3333dp
+ 321.6681dp
+ 323.0028dp
+ 324.3375dp
+ 325.6722dp
+ 327.0069dp
+ 328.3417dp
+ 329.6764dp
+ 331.0111dp
+ 332.3458dp
+ 333.6806dp
+ 335.0153dp
+ 336.3500dp
+ 337.6847dp
+ 339.0194dp
+ 340.3542dp
+ 341.6889dp
+ 343.0236dp
+ 344.3583dp
+ 345.6931dp
+ 347.0278dp
+ 348.3625dp
+ 349.6972dp
+ 351.0319dp
+ 352.3667dp
+ 353.7014dp
+ 355.0361dp
+ 356.3708dp
+ 357.7056dp
+ 359.0403dp
+ 360.3750dp
+ 361.7097dp
+ 363.0444dp
+ 364.3792dp
+ 365.7139dp
+ 367.0486dp
+ 368.3833dp
+ 369.7181dp
+ 371.0528dp
+ 372.3875dp
+ 373.7222dp
+ 375.0569dp
+ 376.3917dp
+ 377.7264dp
+ 379.0611dp
+ 380.3958dp
+ 381.7306dp
+ 383.0653dp
+ 384.4000dp
+ 385.7347dp
+ 387.0694dp
+ 388.4042dp
+ 389.7389dp
+ 391.0736dp
+ 392.4083dp
+ 393.7431dp
+ 395.0778dp
+ 396.4125dp
+ 397.7472dp
+ 399.0819dp
+ 400.4167dp
+ 401.7514dp
+ 403.0861dp
+ 404.4208dp
+ 405.7556dp
+ 407.0903dp
+ 408.4250dp
+ 409.7597dp
+ 411.0944dp
+ 412.4292dp
+ 413.7639dp
+ 415.0986dp
+ 416.4333dp
+ 417.7681dp
+ 419.1028dp
+ 420.4375dp
+ 421.7722dp
+ 423.1069dp
+ 424.4417dp
+ 425.7764dp
+ 427.1111dp
+ 428.4458dp
+ 429.7806dp
+ 431.1153dp
+ 432.4500dp
+ 433.7847dp
+ 435.1194dp
+ 436.4542dp
+ 437.7889dp
+ 439.1236dp
+ 440.4583dp
+ 441.7931dp
+ 443.1278dp
+ 444.4625dp
+ 445.7972dp
+ 447.1319dp
+ 448.4667dp
+ 449.8014dp
+ 451.1361dp
+ 452.4708dp
+ 453.8056dp
+ 455.1403dp
+ 456.4750dp
+ 457.8097dp
+ 459.1444dp
+ 460.4792dp
+ 461.8139dp
+ 463.1486dp
+ 464.4833dp
+ 465.8181dp
+ 467.1528dp
+ 468.4875dp
+ 469.8222dp
+ 471.1569dp
+ 472.4917dp
+ 473.8264dp
+ 475.1611dp
+ 476.4958dp
+ 477.8306dp
+ 479.1653dp
+ 480.5000dp
+ 481.8347dp
+ 483.1694dp
+ 484.5042dp
+ 485.8389dp
+ 487.1736dp
+ 488.5083dp
+ 489.8431dp
+ 491.1778dp
+ 492.5125dp
+ 493.8472dp
+ 495.1819dp
+ 496.5167dp
+ 497.8514dp
+ 499.1861dp
+ 500.5208dp
+ 501.8556dp
+ 503.1903dp
+ 504.5250dp
+ 505.8597dp
+ 507.1944dp
+ 508.5292dp
+ 509.8639dp
+ 511.1986dp
+ 512.5333dp
+ 513.8681dp
+ 515.2028dp
+ 516.5375dp
+ 517.8722dp
+ 519.2069dp
+ 520.5417dp
+ 521.8764dp
+ 523.2111dp
+ 524.5458dp
+ 525.8806dp
+ 527.2153dp
+ 528.5500dp
+ 529.8847dp
+ 531.2194dp
+ 532.5542dp
+ 533.8889dp
+ 535.2236dp
+ 536.5583dp
+ 537.8931dp
+ 539.2278dp
+ 540.5625dp
+ 541.8972dp
+ 543.2319dp
+ 544.5667dp
+ 545.9014dp
+ 547.2361dp
+ 548.5708dp
+ 549.9056dp
+ 551.2403dp
+ 552.5750dp
+ 553.9097dp
+ 555.2444dp
+ 556.5792dp
+ 557.9139dp
+ 559.2486dp
+ 560.5833dp
+ 561.9181dp
+ 563.2528dp
+ 564.5875dp
+ 565.9222dp
+ 567.2569dp
+ 568.5917dp
+ 569.9264dp
+ 571.2611dp
+ 572.5958dp
+ 573.9306dp
+ 575.2653dp
+ 576.6000dp
+ 577.9347dp
+ 579.2694dp
+ 580.6042dp
+ 581.9389dp
+ 583.2736dp
+ 584.6083dp
+ 585.9431dp
+ 587.2778dp
+ 588.6125dp
+ 589.9472dp
+ 591.2819dp
+ 592.6167dp
+ 593.9514dp
+ 595.2861dp
+ 596.6208dp
+ 597.9556dp
+ 599.2903dp
+ 600.6250dp
+ 601.9597dp
+ 603.2944dp
+ 604.6292dp
+ 605.9639dp
+ 607.2986dp
+ 608.6333dp
+ 609.9681dp
+ 611.3028dp
+ 612.6375dp
+ 613.9722dp
+ 615.3069dp
+ 616.6417dp
+ 617.9764dp
+ 619.3111dp
+ 620.6458dp
+ 621.9806dp
+ 623.3153dp
+ 624.6500dp
+ 625.9847dp
+ 627.3194dp
+ 628.6542dp
+ 629.9889dp
+ 631.3236dp
+ 632.6583dp
+ 633.9931dp
+ 635.3278dp
+ 636.6625dp
+ 637.9972dp
+ 639.3319dp
+ 640.6667dp
+ 642.0014dp
+ 643.3361dp
+ 644.6708dp
+ 646.0056dp
+ 647.3403dp
+ 648.6750dp
+ 650.0097dp
+ 651.3444dp
+ 652.6792dp
+ 654.0139dp
+ 655.3486dp
+ 656.6833dp
+ 658.0181dp
+ 659.3528dp
+ 660.6875dp
+ 662.0222dp
+ 663.3569dp
+ 664.6917dp
+ 666.0264dp
+ 667.3611dp
+ 668.6958dp
+ 670.0306dp
+ 671.3653dp
+ 672.7000dp
+ 674.0347dp
+ 675.3694dp
+ 676.7042dp
+ 678.0389dp
+ 679.3736dp
+ 680.7083dp
+ 682.0431dp
+ 683.3778dp
+ 684.7125dp
+ 686.0472dp
+ 687.3819dp
+ 688.7167dp
+ 690.0514dp
+ 691.3861dp
+ 692.7208dp
+ 694.0556dp
+ 695.3903dp
+ 696.7250dp
+ 698.0597dp
+ 699.3944dp
+ 700.7292dp
+ 702.0639dp
+ 703.3986dp
+ 704.7333dp
+ 706.0681dp
+ 707.4028dp
+ 708.7375dp
+ 710.0722dp
+ 711.4069dp
+ 712.7417dp
+ 714.0764dp
+ 715.4111dp
+ 716.7458dp
+ 718.0806dp
+ 719.4153dp
+ 720.7500dp
+ 722.0847dp
+ 723.4194dp
+ 724.7542dp
+ 726.0889dp
+ 727.4236dp
+ 728.7583dp
+ 730.0931dp
+ 731.4278dp
+ 732.7625dp
+ 734.0972dp
+ 735.4319dp
+ 736.7667dp
+ 738.1014dp
+ 739.4361dp
+ 740.7708dp
+ 742.1056dp
+ 743.4403dp
+ 744.7750dp
+ 746.1097dp
+ 747.4444dp
+ 748.7792dp
+ 750.1139dp
+ 751.4486dp
+ 752.7833dp
+ 754.1181dp
+ 755.4528dp
+ 756.7875dp
+ 758.1222dp
+ 759.4569dp
+ 760.7917dp
+ 762.1264dp
+ 763.4611dp
+ 764.7958dp
+ 766.1306dp
+ 767.4653dp
+ 768.8000dp
+ 770.1347dp
+ 771.4694dp
+ 772.8042dp
+ 774.1389dp
+ 775.4736dp
+ 776.8083dp
+ 778.1431dp
+ 779.4778dp
+ 780.8125dp
+ 782.1472dp
+ 783.4819dp
+ 784.8167dp
+ 786.1514dp
+ 787.4861dp
+ 788.8208dp
+ 790.1556dp
+ 791.4903dp
+ 792.8250dp
+ 794.1597dp
+ 795.4944dp
+ 796.8292dp
+ 798.1639dp
+ 799.4986dp
+ 800.8333dp
+ 802.1681dp
+ 803.5028dp
+ 804.8375dp
+ 806.1722dp
+ 807.5069dp
+ 808.8417dp
+ 810.1764dp
+ 811.5111dp
+ 812.8458dp
+ 814.1806dp
+ 815.5153dp
+ 816.8500dp
+ 818.1847dp
+ 819.5194dp
+ 820.8542dp
+ 822.1889dp
+ 823.5236dp
+ 824.8583dp
+ 826.1931dp
+ 827.5278dp
+ 828.8625dp
+ 830.1972dp
+ 831.5319dp
+ 832.8667dp
+ 834.2014dp
+ 835.5361dp
+ 836.8708dp
+ 838.2056dp
+ 839.5403dp
+ 840.8750dp
+ 842.2097dp
+ 843.5444dp
+ 844.8792dp
+ 846.2139dp
+ 847.5486dp
+ 848.8833dp
+ 850.2181dp
+ 851.5528dp
+ 852.8875dp
+ 854.2222dp
+ 855.5569dp
+ 856.8917dp
+ 858.2264dp
+ 859.5611dp
+ 860.8958dp
+ 862.2306dp
+ 863.5653dp
+ 864.9000dp
+ 866.2347dp
+ 867.5694dp
+ 868.9042dp
+ 870.2389dp
+ 871.5736dp
+ 872.9083dp
+ 874.2431dp
+ 875.5778dp
+ 876.9125dp
+ 878.2472dp
+ 879.5819dp
+ 880.9167dp
+ 882.2514dp
+ 883.5861dp
+ 884.9208dp
+ 886.2556dp
+ 887.5903dp
+ 888.9250dp
+ 890.2597dp
+ 891.5944dp
+ 892.9292dp
+ 894.2639dp
+ 895.5986dp
+ 896.9333dp
+ 898.2681dp
+ 899.6028dp
+ 900.9375dp
+ 902.2722dp
+ 903.6069dp
+ 904.9417dp
+ 906.2764dp
+ 907.6111dp
+ 908.9458dp
+ 910.2806dp
+ 911.6153dp
+ 912.9500dp
+ 914.2847dp
+ 915.6194dp
+ 916.9542dp
+ 918.2889dp
+ 919.6236dp
+ 920.9583dp
+ 922.2931dp
+ 923.6278dp
+ 924.9625dp
+ 926.2972dp
+ 927.6319dp
+ 928.9667dp
+ 930.3014dp
+ 931.6361dp
+ 932.9708dp
+ 934.3056dp
+ 935.6403dp
+ 936.9750dp
+ 938.3097dp
+ 939.6444dp
+ 940.9792dp
+ 942.3139dp
+ 943.6486dp
+ 944.9833dp
+ 946.3181dp
+ 947.6528dp
+ 948.9875dp
+ 950.3222dp
+ 951.6569dp
+ 952.9917dp
+ 954.3264dp
+ 955.6611dp
+ 956.9958dp
+ 958.3306dp
+ 959.6653dp
+ 961.0000dp
+ 2.6694sp
+ 5.3389sp
+ 8.0083sp
+ 10.6778sp
+ 13.3472sp
+ 16.0167sp
+ 18.6861sp
+ 21.3556sp
+ 24.0250sp
+ 26.6944sp
+ 29.3639sp
+ 32.0333sp
+ 34.7028sp
+ 37.3722sp
+ 40.0417sp
+ 42.7111sp
+ 45.3806sp
+ 48.0500sp
+ 50.7194sp
+ 53.3889sp
+ 56.0583sp
+ 58.7278sp
+ 61.3972sp
+ 64.0667sp
+ 66.7361sp
+ 69.4056sp
+ 72.0750sp
+ 74.7444sp
+ 77.4139sp
+ 80.0833sp
+ 82.7528sp
+ 85.4222sp
+ 88.0917sp
+ 90.7611sp
+ 93.4306sp
+ 96.1000sp
+ 98.7694sp
+ 101.4389sp
+ 104.1083sp
+ 106.7778sp
+
diff --git a/BaseAndroidKt/src/main/res/values/attrs.xml b/BaseAndroidKt/src/main/res/values/attrs.xml
new file mode 100644
index 0000000..90439ad
--- /dev/null
+++ b/BaseAndroidKt/src/main/res/values/attrs.xml
@@ -0,0 +1,114 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/BaseAndroidKt/src/main/res/values/colors.xml b/BaseAndroidKt/src/main/res/values/colors.xml
new file mode 100644
index 0000000..f896367
--- /dev/null
+++ b/BaseAndroidKt/src/main/res/values/colors.xml
@@ -0,0 +1,46 @@
+
+
+ #FFBB86FC
+ #FF6200EE
+ #FF3700B3
+ #FF03DAC5
+ #FF018786
+ #FF000000
+ #FFFFFFFF
+
+
+ #ff212121
+ @android:color/black
+ @android:color/black
+
+ #FF0000
+ #00000000
+ #010101
+ #3AC183
+ #0A7FFA
+ #0B80F7
+ #007CF9
+ #D2D2D2
+ #7D7D7D
+ #D5D5D5
+ #F5F5F5
+ #1B1B1B
+ #949494
+ #0F0F0F
+ #3F3F3F
+ #454545
+ #252525
+ #45CC81
+
+
+ #F7F7F7
+ #F0F0F0
+ #E54535
+ #F1616C
+ #EAEBED
+ #999999
+
+ #F2F2F2
+ #80000000
+ #f2faff
+
\ No newline at end of file
diff --git a/BaseAndroidKt/src/main/res/values/dimens.xml b/BaseAndroidKt/src/main/res/values/dimens.xml
new file mode 100644
index 0000000..840f3ec
--- /dev/null
+++ b/BaseAndroidKt/src/main/res/values/dimens.xml
@@ -0,0 +1,768 @@
+
+
+
+ 360dp
+ 0.50dp
+ 1.00dp
+ 1.50dp
+ 2.00dp
+ 2.50dp
+ 3.00dp
+ 3.50dp
+ 4.00dp
+ 4.50dp
+ 5.00dp
+ 5.50dp
+ 6.00dp
+ 6.50dp
+ 7.00dp
+ 7.50dp
+ 8.00dp
+ 8.50dp
+ 9.00dp
+ 9.50dp
+ 10.00dp
+ 10.50dp
+ 11.00dp
+ 11.50dp
+ 12.00dp
+ 12.50dp
+ 13.00dp
+ 13.50dp
+ 14.00dp
+ 14.50dp
+ 15.00dp
+ 15.50dp
+ 16.00dp
+ 16.50dp
+ 17.00dp
+ 17.50dp
+ 18.00dp
+ 18.50dp
+ 19.00dp
+ 19.50dp
+ 20.00dp
+ 20.50dp
+ 21.00dp
+ 21.50dp
+ 22.00dp
+ 22.50dp
+ 23.00dp
+ 23.50dp
+ 24.00dp
+ 24.50dp
+ 25.00dp
+ 25.50dp
+ 26.00dp
+ 26.50dp
+ 27.00dp
+ 27.50dp
+ 28.00dp
+ 28.50dp
+ 29.00dp
+ 29.50dp
+ 30.00dp
+ 30.50dp
+ 31.00dp
+ 31.50dp
+ 32.00dp
+ 32.50dp
+ 33.00dp
+ 33.50dp
+ 34.00dp
+ 34.50dp
+ 35.00dp
+ 35.50dp
+ 36.00dp
+ 36.50dp
+ 37.00dp
+ 37.50dp
+ 38.00dp
+ 38.50dp
+ 39.00dp
+ 39.50dp
+ 40.00dp
+ 40.50dp
+ 41.00dp
+ 41.50dp
+ 42.00dp
+ 42.50dp
+ 43.00dp
+ 43.50dp
+ 44.00dp
+ 44.50dp
+ 45.00dp
+ 45.50dp
+ 46.00dp
+ 46.50dp
+ 47.00dp
+ 47.50dp
+ 48.00dp
+ 48.50dp
+ 49.00dp
+ 49.50dp
+ 50.00dp
+ 50.50dp
+ 51.00dp
+ 51.50dp
+ 52.00dp
+ 52.50dp
+ 53.00dp
+ 53.50dp
+ 54.00dp
+ 54.50dp
+ 55.00dp
+ 55.50dp
+ 56.00dp
+ 56.50dp
+ 57.00dp
+ 57.50dp
+ 58.00dp
+ 58.50dp
+ 59.00dp
+ 59.50dp
+ 60.00dp
+ 60.50dp
+ 61.00dp
+ 61.50dp
+ 62.00dp
+ 62.50dp
+ 63.00dp
+ 63.50dp
+ 64.00dp
+ 64.50dp
+ 65.00dp
+ 65.50dp
+ 66.00dp
+ 66.50dp
+ 67.00dp
+ 67.50dp
+ 68.00dp
+ 68.50dp
+ 69.00dp
+ 69.50dp
+ 70.00dp
+ 70.50dp
+ 71.00dp
+ 71.50dp
+ 72.00dp
+ 72.50dp
+ 73.00dp
+ 73.50dp
+ 74.00dp
+ 74.50dp
+ 75.00dp
+ 75.50dp
+ 76.00dp
+ 76.50dp
+ 77.00dp
+ 77.50dp
+ 78.00dp
+ 78.50dp
+ 79.00dp
+ 79.50dp
+ 80.00dp
+ 80.50dp
+ 81.00dp
+ 81.50dp
+ 82.00dp
+ 82.50dp
+ 83.00dp
+ 83.50dp
+ 84.00dp
+ 84.50dp
+ 85.00dp
+ 85.50dp
+ 86.00dp
+ 86.50dp
+ 87.00dp
+ 87.50dp
+ 88.00dp
+ 88.50dp
+ 89.00dp
+ 89.50dp
+ 90.00dp
+ 90.50dp
+ 91.00dp
+ 91.50dp
+ 92.00dp
+ 92.50dp
+ 93.00dp
+ 93.50dp
+ 94.00dp
+ 94.50dp
+ 95.00dp
+ 95.50dp
+ 96.00dp
+ 96.50dp
+ 97.00dp
+ 97.50dp
+ 98.00dp
+ 98.50dp
+ 99.00dp
+ 99.50dp
+ 100.00dp
+ 100.50dp
+ 101.00dp
+ 101.50dp
+ 102.00dp
+ 102.50dp
+ 103.00dp
+ 103.50dp
+ 104.00dp
+ 104.50dp
+ 105.00dp
+ 105.50dp
+ 106.00dp
+ 106.50dp
+ 107.00dp
+ 107.50dp
+ 108.00dp
+ 108.50dp
+ 109.00dp
+ 109.50dp
+ 110.00dp
+ 110.50dp
+ 111.00dp
+ 111.50dp
+ 112.00dp
+ 112.50dp
+ 113.00dp
+ 113.50dp
+ 114.00dp
+ 114.50dp
+ 115.00dp
+ 115.50dp
+ 116.00dp
+ 116.50dp
+ 117.00dp
+ 117.50dp
+ 118.00dp
+ 118.50dp
+ 119.00dp
+ 119.50dp
+ 120.00dp
+ 120.50dp
+ 121.00dp
+ 121.50dp
+ 122.00dp
+ 122.50dp
+ 123.00dp
+ 123.50dp
+ 124.00dp
+ 124.50dp
+ 125.00dp
+ 125.50dp
+ 126.00dp
+ 126.50dp
+ 127.00dp
+ 127.50dp
+ 128.00dp
+ 128.50dp
+ 129.00dp
+ 129.50dp
+ 130.00dp
+ 130.50dp
+ 131.00dp
+ 131.50dp
+ 132.00dp
+ 132.50dp
+ 133.00dp
+ 133.50dp
+ 134.00dp
+ 134.50dp
+ 135.00dp
+ 135.50dp
+ 136.00dp
+ 136.50dp
+ 137.00dp
+ 137.50dp
+ 138.00dp
+ 138.50dp
+ 139.00dp
+ 139.50dp
+ 140.00dp
+ 140.50dp
+ 141.00dp
+ 141.50dp
+ 142.00dp
+ 142.50dp
+ 143.00dp
+ 143.50dp
+ 144.00dp
+ 144.50dp
+ 145.00dp
+ 145.50dp
+ 146.00dp
+ 146.50dp
+ 147.00dp
+ 147.50dp
+ 148.00dp
+ 148.50dp
+ 149.00dp
+ 149.50dp
+ 150.00dp
+ 150.50dp
+ 151.00dp
+ 151.50dp
+ 152.00dp
+ 152.50dp
+ 153.00dp
+ 153.50dp
+ 154.00dp
+ 154.50dp
+ 155.00dp
+ 155.50dp
+ 156.00dp
+ 156.50dp
+ 157.00dp
+ 157.50dp
+ 158.00dp
+ 158.50dp
+ 159.00dp
+ 159.50dp
+ 160.00dp
+ 160.50dp
+ 161.00dp
+ 161.50dp
+ 162.00dp
+ 162.50dp
+ 163.00dp
+ 163.50dp
+ 164.00dp
+ 164.50dp
+ 165.00dp
+ 165.50dp
+ 166.00dp
+ 166.50dp
+ 167.00dp
+ 167.50dp
+ 168.00dp
+ 168.50dp
+ 169.00dp
+ 169.50dp
+ 170.00dp
+ 170.50dp
+ 171.00dp
+ 171.50dp
+ 172.00dp
+ 172.50dp
+ 173.00dp
+ 173.50dp
+ 174.00dp
+ 174.50dp
+ 175.00dp
+ 175.50dp
+ 176.00dp
+ 176.50dp
+ 177.00dp
+ 177.50dp
+ 178.00dp
+ 178.50dp
+ 179.00dp
+ 179.50dp
+ 180.00dp
+ 180.50dp
+ 181.00dp
+ 181.50dp
+ 182.00dp
+ 182.50dp
+ 183.00dp
+ 183.50dp
+ 184.00dp
+ 184.50dp
+ 185.00dp
+ 185.50dp
+ 186.00dp
+ 186.50dp
+ 187.00dp
+ 187.50dp
+ 188.00dp
+ 188.50dp
+ 189.00dp
+ 189.50dp
+ 190.00dp
+ 190.50dp
+ 191.00dp
+ 191.50dp
+ 192.00dp
+ 192.50dp
+ 193.00dp
+ 193.50dp
+ 194.00dp
+ 194.50dp
+ 195.00dp
+ 195.50dp
+ 196.00dp
+ 196.50dp
+ 197.00dp
+ 197.50dp
+ 198.00dp
+ 198.50dp
+ 199.00dp
+ 199.50dp
+ 200.00dp
+ 200.50dp
+ 201.00dp
+ 201.50dp
+ 202.00dp
+ 202.50dp
+ 203.00dp
+ 203.50dp
+ 204.00dp
+ 204.50dp
+ 205.00dp
+ 205.50dp
+ 206.00dp
+ 206.50dp
+ 207.00dp
+ 207.50dp
+ 208.00dp
+ 208.50dp
+ 209.00dp
+ 209.50dp
+ 210.00dp
+ 210.50dp
+ 211.00dp
+ 211.50dp
+ 212.00dp
+ 212.50dp
+ 213.00dp
+ 213.50dp
+ 214.00dp
+ 214.50dp
+ 215.00dp
+ 215.50dp
+ 216.00dp
+ 216.50dp
+ 217.00dp
+ 217.50dp
+ 218.00dp
+ 218.50dp
+ 219.00dp
+ 219.50dp
+ 220.00dp
+ 220.50dp
+ 221.00dp
+ 221.50dp
+ 222.00dp
+ 222.50dp
+ 223.00dp
+ 223.50dp
+ 224.00dp
+ 224.50dp
+ 225.00dp
+ 225.50dp
+ 226.00dp
+ 226.50dp
+ 227.00dp
+ 227.50dp
+ 228.00dp
+ 228.50dp
+ 229.00dp
+ 229.50dp
+ 230.00dp
+ 230.50dp
+ 231.00dp
+ 231.50dp
+ 232.00dp
+ 232.50dp
+ 233.00dp
+ 233.50dp
+ 234.00dp
+ 234.50dp
+ 235.00dp
+ 235.50dp
+ 236.00dp
+ 236.50dp
+ 237.00dp
+ 237.50dp
+ 238.00dp
+ 238.50dp
+ 239.00dp
+ 239.50dp
+ 240.00dp
+ 240.50dp
+ 241.00dp
+ 241.50dp
+ 242.00dp
+ 242.50dp
+ 243.00dp
+ 243.50dp
+ 244.00dp
+ 244.50dp
+ 245.00dp
+ 245.50dp
+ 246.00dp
+ 246.50dp
+ 247.00dp
+ 247.50dp
+ 248.00dp
+ 248.50dp
+ 249.00dp
+ 249.50dp
+ 250.00dp
+ 250.50dp
+ 251.00dp
+ 251.50dp
+ 252.00dp
+ 252.50dp
+ 253.00dp
+ 253.50dp
+ 254.00dp
+ 254.50dp
+ 255.00dp
+ 255.50dp
+ 256.00dp
+ 256.50dp
+ 257.00dp
+ 257.50dp
+ 258.00dp
+ 258.50dp
+ 259.00dp
+ 259.50dp
+ 260.00dp
+ 260.50dp
+ 261.00dp
+ 261.50dp
+ 262.00dp
+ 262.50dp
+ 263.00dp
+ 263.50dp
+ 264.00dp
+ 264.50dp
+ 265.00dp
+ 265.50dp
+ 266.00dp
+ 266.50dp
+ 267.00dp
+ 267.50dp
+ 268.00dp
+ 268.50dp
+ 269.00dp
+ 269.50dp
+ 270.00dp
+ 270.50dp
+ 271.00dp
+ 271.50dp
+ 272.00dp
+ 272.50dp
+ 273.00dp
+ 273.50dp
+ 274.00dp
+ 274.50dp
+ 275.00dp
+ 275.50dp
+ 276.00dp
+ 276.50dp
+ 277.00dp
+ 277.50dp
+ 278.00dp
+ 278.50dp
+ 279.00dp
+ 279.50dp
+ 280.00dp
+ 280.50dp
+ 281.00dp
+ 281.50dp
+ 282.00dp
+ 282.50dp
+ 283.00dp
+ 283.50dp
+ 284.00dp
+ 284.50dp
+ 285.00dp
+ 285.50dp
+ 286.00dp
+ 286.50dp
+ 287.00dp
+ 287.50dp
+ 288.00dp
+ 288.50dp
+ 289.00dp
+ 289.50dp
+ 290.00dp
+ 290.50dp
+ 291.00dp
+ 291.50dp
+ 292.00dp
+ 292.50dp
+ 293.00dp
+ 293.50dp
+ 294.00dp
+ 294.50dp
+ 295.00dp
+ 295.50dp
+ 296.00dp
+ 296.50dp
+ 297.00dp
+ 297.50dp
+ 298.00dp
+ 298.50dp
+ 299.00dp
+ 299.50dp
+ 300.00dp
+ 300.50dp
+ 301.00dp
+ 301.50dp
+ 302.00dp
+ 302.50dp
+ 303.00dp
+ 303.50dp
+ 304.00dp
+ 304.50dp
+ 305.00dp
+ 305.50dp
+ 306.00dp
+ 306.50dp
+ 307.00dp
+ 307.50dp
+ 308.00dp
+ 308.50dp
+ 309.00dp
+ 309.50dp
+ 310.00dp
+ 310.50dp
+ 311.00dp
+ 311.50dp
+ 312.00dp
+ 312.50dp
+ 313.00dp
+ 313.50dp
+ 314.00dp
+ 314.50dp
+ 315.00dp
+ 315.50dp
+ 316.00dp
+ 316.50dp
+ 317.00dp
+ 317.50dp
+ 318.00dp
+ 318.50dp
+ 319.00dp
+ 319.50dp
+ 320.00dp
+ 320.50dp
+ 321.00dp
+ 321.50dp
+ 322.00dp
+ 322.50dp
+ 323.00dp
+ 323.50dp
+ 324.00dp
+ 324.50dp
+ 325.00dp
+ 325.50dp
+ 326.00dp
+ 326.50dp
+ 327.00dp
+ 327.50dp
+ 328.00dp
+ 328.50dp
+ 329.00dp
+ 329.50dp
+ 330.00dp
+ 330.50dp
+ 331.00dp
+ 331.50dp
+ 332.00dp
+ 332.50dp
+ 333.00dp
+ 333.50dp
+ 334.00dp
+ 334.50dp
+ 335.00dp
+ 335.50dp
+ 336.00dp
+ 336.50dp
+ 337.00dp
+ 337.50dp
+ 338.00dp
+ 338.50dp
+ 339.00dp
+ 339.50dp
+ 340.00dp
+ 340.50dp
+ 341.00dp
+ 341.50dp
+ 342.00dp
+ 342.50dp
+ 343.00dp
+ 343.50dp
+ 344.00dp
+ 344.50dp
+ 345.00dp
+ 345.50dp
+ 346.00dp
+ 346.50dp
+ 347.00dp
+ 347.50dp
+ 348.00dp
+ 348.50dp
+ 349.00dp
+ 349.50dp
+ 350.00dp
+ 350.50dp
+ 351.00dp
+ 351.50dp
+ 352.00dp
+ 352.50dp
+ 353.00dp
+ 353.50dp
+ 354.00dp
+ 354.50dp
+ 355.00dp
+ 355.50dp
+ 356.00dp
+ 356.50dp
+ 357.00dp
+ 357.50dp
+ 358.00dp
+ 358.50dp
+ 359.00dp
+ 359.50dp
+ 360.00dp
+
+
+ 1sp
+ 2sp
+ 3sp
+ 4sp
+ 5sp
+ 6sp
+ 7sp
+ 8sp
+ 9sp
+ 10sp
+ 11sp
+ 12sp
+ 13sp
+ 14sp
+ 15sp
+ 16sp
+ 17sp
+ 18sp
+ 19sp
+ 20sp
+ 21sp
+ 22sp
+ 23sp
+ 24sp
+ 25sp
+ 26sp
+ 27sp
+ 28sp
+ 29sp
+ 30sp
+ 31sp
+ 32sp
+ 33sp
+ 34sp
+ 35sp
+ 36sp
+ 37sp
+ 38sp
+ 39sp
+ 40sp
+
+
\ No newline at end of file
diff --git a/BaseAndroidKt/src/main/res/values/strings.xml b/BaseAndroidKt/src/main/res/values/strings.xml
new file mode 100644
index 0000000..939fc2c
--- /dev/null
+++ b/BaseAndroidKt/src/main/res/values/strings.xml
@@ -0,0 +1,7 @@
+
+ MyApplication
+ 首页
+ 第二页
+ 第三页
+ 第四页
+
\ No newline at end of file
diff --git a/BaseAndroidKt/src/main/res/values/styles.xml b/BaseAndroidKt/src/main/res/values/styles.xml
new file mode 100644
index 0000000..f22a4fc
--- /dev/null
+++ b/BaseAndroidKt/src/main/res/values/styles.xml
@@ -0,0 +1,36 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/BaseAndroidKt/src/main/res/values/themes.xml b/BaseAndroidKt/src/main/res/values/themes.xml
new file mode 100644
index 0000000..a791f4c
--- /dev/null
+++ b/BaseAndroidKt/src/main/res/values/themes.xml
@@ -0,0 +1,25 @@
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/BaseAndroidKt/src/test/java/com/sjc/baseAndroid/ExampleUnitTest.kt b/BaseAndroidKt/src/test/java/com/sjc/baseAndroid/ExampleUnitTest.kt
new file mode 100644
index 0000000..5fa049f
--- /dev/null
+++ b/BaseAndroidKt/src/test/java/com/sjc/baseAndroid/ExampleUnitTest.kt
@@ -0,0 +1,17 @@
+package com.sjc.baseAndroid
+
+import org.junit.Test
+
+import org.junit.Assert.*
+
+/**
+ * Example local unit test, which will execute on the development machine (host).
+ *
+ * See [testing documentation](http://d.android.com/tools/testing).
+ */
+class ExampleUnitTest {
+ @Test
+ fun addition_isCorrect() {
+ assertEquals(4, 2 + 2)
+ }
+}
\ No newline at end of file
diff --git a/build.gradle b/build.gradle
index 548a14e..cf206da 100644
--- a/build.gradle
+++ b/build.gradle
@@ -18,6 +18,8 @@ allprojects {
repositories {
google()
jcenter()
+
+ maven { url 'https://jitpack.io' }
}
}
diff --git a/settings.gradle b/settings.gradle
index 20cdacb..a1f0147 100644
--- a/settings.gradle
+++ b/settings.gradle
@@ -1,3 +1,4 @@
+include ':BaseAndroidKt'
include ':baselibrary'
include ':app'
rootProject.name = "testAndroid"
\ No newline at end of file