Compare commits
2 Commits
fd0d61c584
...
e646a72418
| Author | SHA1 | Date | |
|---|---|---|---|
| e646a72418 | |||
| 6c4d7e68f6 |
@ -94,7 +94,7 @@ dependencies {
|
||||
implementation ("com.ibm.icu:icu4j:68.1")
|
||||
implementation (kotlin("stdlib", version = kotlinVersion))
|
||||
implementation ("com.github.cachapa:ExpandableLayout:2.9.2")
|
||||
implementation ("com.squareup.picasso:picasso:2.71828")
|
||||
|
||||
implementation ("androidx.work:work-runtime:2.10.0")
|
||||
implementation ("com.google.code.gson:gson:2.11.0")
|
||||
implementation ("io.realm.kotlin:library-base:2.1.0")
|
||||
|
||||
@ -26,7 +26,6 @@ import android.content.Context
|
||||
import android.content.Intent
|
||||
import android.content.SharedPreferences
|
||||
import android.content.res.Configuration
|
||||
import android.graphics.Color
|
||||
import android.net.Uri
|
||||
import android.os.Build
|
||||
import android.os.Bundle
|
||||
@ -485,14 +484,24 @@ open class LauncherActivity : CommonActivity() {
|
||||
|
||||
getWindow().addFlags(WindowManager.LayoutParams.FLAG_SECURE);
|
||||
lActivity = this
|
||||
DynamicColors.applyToActivityIfAvailable(this)
|
||||
// DynamicColors.applyToActivityIfAvailable(this)
|
||||
settingsPrefs = getSharedPreferences(PREFS_SETTINGS, 0)
|
||||
|
||||
|
||||
binding = LauncherActivityBinding.inflate(layoutInflater)
|
||||
setContentView(binding.root)
|
||||
HeadsetActionButtonReceiver.register(this)
|
||||
ViewCompat.setOnApplyWindowInsetsListener(binding.root) { view, windowInsets ->
|
||||
|
||||
// 시스템바 인셋 가져오기 (상단 상태바 + 하단 네비게이션바)
|
||||
val insets = windowInsets.getInsets(WindowInsetsCompat.Type.systemBars())
|
||||
|
||||
// 뷰에 패딩 적용 (겹치지 않도록)
|
||||
view.setPadding(insets.left, insets.top, insets.right, insets.bottom)
|
||||
|
||||
// 변경된 인셋 반환
|
||||
WindowInsetsCompat.CONSUMED
|
||||
}
|
||||
|
||||
/* handle navigation back events */
|
||||
handleBackPress()
|
||||
@ -502,6 +511,13 @@ open class LauncherActivity : CommonActivity() {
|
||||
|
||||
|
||||
showContents(binding.feeds.id)
|
||||
binding.floatingActionMenu.setOnTouchListener { v,e->
|
||||
if (binding.floatingActionMenu.isOpened) {
|
||||
binding.floatingActionMenu.close(true)
|
||||
return@setOnTouchListener true
|
||||
}
|
||||
return@setOnTouchListener false
|
||||
}
|
||||
binding.floatingActionMenu.setOnMenuButtonClickListener { v->
|
||||
Blog.LOGE("v >> ${v}")
|
||||
showContents(v.id)
|
||||
@ -614,16 +630,10 @@ open class LauncherActivity : CommonActivity() {
|
||||
|
||||
super.onDestroy()
|
||||
}
|
||||
// var blutoothManager : BluetoothManager? = null
|
||||
|
||||
override fun onStart() {
|
||||
super.onStart()
|
||||
// blutoothManager = BluetoothManager(this)
|
||||
// blutoothManager?.register()
|
||||
// blutoothManager?.initBluetoothAdapter()
|
||||
// blutoothManager?.blueToothState()
|
||||
// blutoothManager?.getPairedDevices()
|
||||
statusBarView()
|
||||
setBgColor()
|
||||
|
||||
}
|
||||
|
||||
@RequiresApi(Build.VERSION_CODES.O_MR1)
|
||||
@ -647,42 +657,6 @@ open class LauncherActivity : CommonActivity() {
|
||||
}
|
||||
|
||||
|
||||
val appDrawer by lazy { AppDrawer() }
|
||||
|
||||
|
||||
fun switchAppDrawer() {
|
||||
startActivity(Intent(this,AppDrawer::class.java))
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
private fun setBgColor() {
|
||||
binding.root.setBackgroundColor(Color.parseColor("#22000000"))
|
||||
}
|
||||
|
||||
private fun statusBarView() {
|
||||
if (settingsPrefs.getBoolean(KEY_STATUS_BAR, false)) {
|
||||
/* hide status bar */
|
||||
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.R) {
|
||||
window.insetsController?.hide(WindowInsets.Type.statusBars())
|
||||
} else {
|
||||
@Suppress("DEPRECATION")
|
||||
window.setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, WindowManager.LayoutParams.FLAG_FULLSCREEN)
|
||||
}
|
||||
topPadding(false)
|
||||
} else {
|
||||
/* show status bar */
|
||||
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.R) {
|
||||
window.insetsController?.show(WindowInsets.Type.statusBars())
|
||||
} else {
|
||||
@Suppress("DEPRECATION")
|
||||
window.clearFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN)
|
||||
}
|
||||
topPadding(true)
|
||||
}
|
||||
}
|
||||
|
||||
/* alternative of deprecated onBackPressed method */
|
||||
private fun handleBackPress() {
|
||||
onBackPressedDispatcher.addCallback(this, object : OnBackPressedCallback(true) {
|
||||
|
||||
@ -20,8 +20,8 @@ package bums.lunatic.launcher
|
||||
|
||||
import android.app.Application
|
||||
import android.content.ComponentCallbacks2
|
||||
import android.content.Context
|
||||
import android.database.sqlite.SQLiteDatabase
|
||||
import android.net.Uri
|
||||
import bums.lunatic.launcher.helpers.HourlyLogWriter
|
||||
import bums.lunatic.launcher.helpers.PrefHelper
|
||||
import bums.lunatic.launcher.utils.Blog
|
||||
@ -30,12 +30,9 @@ import com.squareup.picasso.Picasso
|
||||
import kr.lunaticbum.Base
|
||||
import okhttp3.Cache
|
||||
import okhttp3.OkHttpClient
|
||||
import org.json.JSONObject
|
||||
import org.mozilla.geckoview.ExperimentDelegate
|
||||
import org.mozilla.geckoview.GeckoResult
|
||||
import org.mozilla.geckoview.GeckoRuntime
|
||||
import org.mozilla.geckoview.GeckoRuntimeSettings
|
||||
import java.io.File
|
||||
import java.io.IOException
|
||||
import java.net.HttpURLConnection
|
||||
import java.util.concurrent.TimeUnit
|
||||
|
||||
|
||||
@ -64,16 +61,17 @@ internal class LunaticLauncher : Application() {
|
||||
.cache(cache)
|
||||
.addInterceptor { chain ->
|
||||
val newRequest = chain.request().newBuilder()
|
||||
.addHeader("Host","images.ijavtorrent.com")
|
||||
.addHeader("Host",chain.request().url().host())
|
||||
.addHeader("User-Agent","Mozilla/5.0 (Android 15; Mobile; rv:139.0) Gecko/139.0 Firefox/139.0")
|
||||
.addHeader("Accept","image/avif,image/webp,image/png,image/svg+xml,image/*;q=0.8,*/*;q=0.5")
|
||||
.addHeader("Accept-Language","ko-KR,en-US;q=0.5")
|
||||
.addHeader("Accept-Encoding","gzip, deflate, br, zstd")
|
||||
.addHeader("Referer","https://ijavtorrent.com/")
|
||||
.addHeader("Referer",chain.request().url().host())
|
||||
.build()
|
||||
Blog.LOGE("chain.request().url() >>> ${chain.request().url()}")
|
||||
chain.proceed(newRequest)
|
||||
}
|
||||
.connectTimeout(10, TimeUnit.SECONDS) // 연결 타임아웃
|
||||
.connectTimeout(30, TimeUnit.SECONDS) // 연결 타임아웃
|
||||
.readTimeout(30, TimeUnit.SECONDS) // 읽기 타임아웃
|
||||
.writeTimeout(30, TimeUnit.SECONDS) // 쓰기 타임아웃
|
||||
.build()
|
||||
@ -82,7 +80,7 @@ internal class LunaticLauncher : Application() {
|
||||
.downloader(OkHttp3Downloader(okHttpClient))
|
||||
.build()
|
||||
|
||||
// 앱 전체에 해당 인스턴스를 사용하려면
|
||||
// 앱 전체에 해당 인스턴스를 사용하려면
|
||||
Picasso.setSingletonInstance(picasso)
|
||||
}
|
||||
|
||||
|
||||
@ -1,8 +1,16 @@
|
||||
package bums.lunatic.launcher.common
|
||||
|
||||
import android.content.Intent
|
||||
import android.graphics.Color
|
||||
import android.os.Build
|
||||
import android.os.Bundle
|
||||
import android.os.Environment
|
||||
import androidx.annotation.RequiresApi
|
||||
import androidx.appcompat.app.AppCompatActivity
|
||||
import androidx.core.view.ViewCompat
|
||||
import androidx.core.view.WindowCompat
|
||||
import androidx.core.view.WindowInsetsCompat
|
||||
import androidx.core.view.WindowInsetsControllerCompat
|
||||
import bums.lunatic.launcher.apps.SearchMenu
|
||||
import bums.lunatic.launcher.helpers.PrefBoolean
|
||||
import bums.lunatic.launcher.utils.Blog
|
||||
@ -23,6 +31,29 @@ import java.util.Base64
|
||||
|
||||
abstract class CommonActivity : AppCompatActivity() {
|
||||
|
||||
@RequiresApi(Build.VERSION_CODES.R)
|
||||
override fun onCreate(savedInstanceState: Bundle?) {
|
||||
super.onCreate(savedInstanceState)
|
||||
|
||||
|
||||
WindowCompat.setDecorFitsSystemWindows(window, false)
|
||||
val insetsController = WindowInsetsControllerCompat(window, window.decorView)
|
||||
var forWhite = false
|
||||
if (forWhite) {
|
||||
insetsController.isAppearanceLightStatusBars = true
|
||||
insetsController.isAppearanceLightNavigationBars = true
|
||||
|
||||
window.statusBarColor = Color.WHITE
|
||||
window.navigationBarColor = Color.WHITE
|
||||
} else {
|
||||
insetsController.isAppearanceLightStatusBars = false
|
||||
insetsController.isAppearanceLightNavigationBars = false
|
||||
|
||||
window.statusBarColor = Color.BLACK
|
||||
window.navigationBarColor = Color.BLACK
|
||||
}
|
||||
}
|
||||
|
||||
fun openSearchMenus(keyword : String, dismissCalback: DismissCalback) {
|
||||
SearchMenu().show(supportFragmentManager,keyword) {dismissCalback.invoke()}
|
||||
}
|
||||
|
||||
@ -27,6 +27,7 @@ import android.net.Uri
|
||||
import android.os.Bundle
|
||||
import android.os.Handler
|
||||
import android.os.Looper
|
||||
import android.util.Log
|
||||
import android.view.LayoutInflater
|
||||
import android.view.MotionEvent
|
||||
import android.view.PointerIcon
|
||||
@ -436,7 +437,6 @@ internal class RssHome : Fragment() {
|
||||
}
|
||||
}
|
||||
appendReadCount(it, 1, false)
|
||||
Blog.LOGE("removeFirst >>> ${Gson().toJson(it)}")
|
||||
binding.layoutRssSummary.title.setOnLongClickListener {
|
||||
currentRss?.originPage?.let { binding.geckoWeb.loadUrl(it)}
|
||||
binding.layoutRssSummary.root.visibility = View.GONE
|
||||
@ -447,13 +447,25 @@ internal class RssHome : Fragment() {
|
||||
binding.layoutRssSummary.scrollView.scrollTo(0,0)
|
||||
var vote = it.vote
|
||||
var read = it.read
|
||||
var keyword = ""
|
||||
it.title?.let {
|
||||
Blog.LOGE(it)
|
||||
keyword = it
|
||||
binding.layoutRssSummary.title.text = it.replace(Regex("[\\r\\n]+"), " ").plus( "\n[V:${if (vote) {
|
||||
"O"
|
||||
}else {
|
||||
"X"
|
||||
}} , R:${read + 1}]")
|
||||
|
||||
val regex = Regex("[A-Za-z0-9-]+")
|
||||
val pattern = Regex("^(?=[A-Za-z0-9-]*$)(?=.*[A-Za-z])(?=.*\\d)(?=.*-)[A-Za-z0-9-]+$")
|
||||
val results = regex.findAll(it)
|
||||
.map { it.value }
|
||||
.filter { it.matches(pattern) && !it.contains(" ") }
|
||||
.toList()
|
||||
if (results.isNotEmpty()) {
|
||||
keyword = results.first()
|
||||
}
|
||||
}
|
||||
|
||||
it.pubDate()?.let {
|
||||
@ -485,7 +497,7 @@ internal class RssHome : Fragment() {
|
||||
binding.layoutRssSummary.screenLink.text = it
|
||||
}
|
||||
if (it.getMagnet().length < 10) {
|
||||
binding.layoutRssSummary.smallg.loadUrl("https://btsearch.love/en/search?keyword=${it.title}")
|
||||
binding.layoutRssSummary.smallg.loadUrl("https://btsearch.love/en/search?keyword=${keyword}")
|
||||
} else {
|
||||
binding.layoutRssSummary.smallg.visibility = View.GONE
|
||||
}
|
||||
@ -573,11 +585,12 @@ internal class RssHome : Fragment() {
|
||||
}
|
||||
|
||||
binding.home.setOnClickListener {
|
||||
if (binding.geckoWeb.isVisible) {
|
||||
if (binding.geckoWeb.isVisible || binding.layoutRssSummary.root.isVisible) {
|
||||
binding.geckoWeb.visibility = View.GONE
|
||||
binding.layoutRssSummary.root.visibility = View.GONE
|
||||
} else {
|
||||
queryInfos()
|
||||
}
|
||||
binding.layoutRssSummary.root.visibility = View.GONE
|
||||
queryInfos()
|
||||
}
|
||||
|
||||
|
||||
|
||||
@ -115,10 +115,10 @@ class WebBottomSheet : BottomSheetDialogFragment() {
|
||||
inputKeyword.setOnEditorActionListener { _, actionId, _ ->
|
||||
if (actionId == EditorInfo.IME_ACTION_SEARCH) {
|
||||
val keyword = inputKeyword.text.toString()
|
||||
if (keyword.isNotEmpty()) {
|
||||
// if (keyword.isNotEmpty()) {
|
||||
triggerSearchWithDebounce(keyword)
|
||||
dismiss() // 필요 시 닫기
|
||||
}
|
||||
// }
|
||||
true
|
||||
} else {
|
||||
false
|
||||
|
||||
@ -209,14 +209,18 @@ internal class RssItemAdapter (
|
||||
holder.view.circlePreview.visibility = rssData.category().getDefaultVisibiliy()
|
||||
Picasso.get().cancelRequest(holder.view.circlePreview)
|
||||
|
||||
if (rssData.category().getResId() > 0) {
|
||||
holder.view.circlePreview.setImageResource(rssData.category().getResId())
|
||||
}
|
||||
|
||||
if (rssData.thumbnailUrl()?.length ?: 0 > 6) {
|
||||
Blog.LOGE("rssData.thumbnailUrl() >>> ${rssData.thumbnailUrl()}")
|
||||
Picasso.get().load(rssData.thumbnailUrl().replace("&", "&").toUri())
|
||||
.into(holder.view.circlePreview)
|
||||
} else if (rssData.category().getResId() > 0) {
|
||||
holder.view.circlePreview.setImageResource(rssData.category().getResId())
|
||||
} else {
|
||||
holder.view.circlePreview.setImageDrawable(null)
|
||||
}
|
||||
// else {
|
||||
// holder.view.circlePreview.setImageDrawable(null)
|
||||
// }
|
||||
|
||||
holder.itemView.tag = rssData
|
||||
holder.itemView.setOnClickListener(dateViewClick)
|
||||
|
||||
@ -34,21 +34,20 @@ enum class RssDataType {
|
||||
DCINSIDE -> R.drawable.dcinside
|
||||
ARCA -> R.drawable.arca
|
||||
else -> {
|
||||
0
|
||||
R.drawable.ic_news
|
||||
}
|
||||
}
|
||||
|
||||
fun defaultImgSize() = when (this) {
|
||||
YOUTUBE -> 200
|
||||
REDDIT_NSFW,PRIVATE -> 360
|
||||
//,GURU,MOST
|
||||
else -> { 120 }
|
||||
REDDIT_NSFW,PRIVATE -> 240
|
||||
else -> { 160 }
|
||||
}
|
||||
|
||||
fun getDefaultVisibiliy() = when (this) {
|
||||
//,GURU,MOST
|
||||
REDDIT_NSFW,PRIVATE -> View.GONE
|
||||
// REDDIT_NSFW,PRIVATE -> View.INVISIBLE
|
||||
else -> { View.VISIBLE }
|
||||
|
||||
}
|
||||
|
||||
fun isOn(block : ()->Unit) {
|
||||
|
||||
@ -75,13 +75,13 @@ internal class SettingsActivity : CommonActivity() {
|
||||
settingsPrefs = this.getSharedPreferences(PREFS_SETTINGS, 0)
|
||||
|
||||
/* launch child settings dialogs on button clicks */
|
||||
binding.timeDate.setOnClickListener {
|
||||
TopInfos().show(supportFragmentManager, BOTTOM_SHEET_TAG)
|
||||
}
|
||||
// binding.timeDate.setOnClickListener {
|
||||
// TopInfos().show(supportFragmentManager, BOTTOM_SHEET_TAG)
|
||||
// }
|
||||
|
||||
binding.weather.setOnClickListener {
|
||||
WeatherSettings().show(supportFragmentManager, BOTTOM_SHEET_TAG)
|
||||
}
|
||||
// binding.weather.setOnClickListener {
|
||||
// WeatherSettings().show(supportFragmentManager, BOTTOM_SHEET_TAG)
|
||||
// }
|
||||
|
||||
binding.todo.setOnClickListener {
|
||||
HomeSettings().show(supportFragmentManager, BOTTOM_SHEET_TAG)
|
||||
@ -91,17 +91,17 @@ internal class SettingsActivity : CommonActivity() {
|
||||
Apps().show(supportFragmentManager, BOTTOM_SHEET_TAG)
|
||||
}
|
||||
|
||||
binding.appearances.setOnClickListener {
|
||||
Appearances().show(supportFragmentManager, BOTTOM_SHEET_TAG)
|
||||
}
|
||||
// binding.appearances.setOnClickListener {
|
||||
// Appearances().show(supportFragmentManager, BOTTOM_SHEET_TAG)
|
||||
// }
|
||||
|
||||
binding.misc.setOnClickListener {
|
||||
Misc().show(supportFragmentManager, BOTTOM_SHEET_TAG)
|
||||
}
|
||||
|
||||
binding.advance.setOnClickListener {
|
||||
Advance().show(supportFragmentManager, BOTTOM_SHEET_TAG)
|
||||
}
|
||||
// binding.advance.setOnClickListener {
|
||||
// Advance().show(supportFragmentManager, BOTTOM_SHEET_TAG)
|
||||
// }
|
||||
|
||||
/* about and support dialogs */
|
||||
binding.about.setOnClickListener { aboutDialog() }
|
||||
@ -172,17 +172,17 @@ internal class SettingsActivity : CommonActivity() {
|
||||
if (path.exists() == false) {
|
||||
path.mkdirs()
|
||||
}
|
||||
saveObjToJson(path,"prefSettings.txt",PrefHelper.getSettings())
|
||||
saveObjToJson(path,"prefSettings.json",PrefHelper.getSettings())
|
||||
WorkersDb.getRealm().apply {
|
||||
val foundAppInfo = query<AppInfo>().find()
|
||||
Blog.LOGE("foundAppInfo >>> ${foundAppInfo}")
|
||||
val apps = arrayListOf<AppInfo>().apply { addAll((copyFromRealm(foundAppInfo))) }
|
||||
Blog.LOGE("foundAppInfo >>> ${apps.size}")
|
||||
saveObjToJson(path,"appInfos.txt",apps)
|
||||
saveObjToJson(path,"appInfos.json",apps)
|
||||
val foundSimpleContact = query<SimpleContact>().find()
|
||||
Blog.LOGE("foundSimpleContact >>> ${foundSimpleContact.size}")
|
||||
val contacts = arrayListOf<SimpleContact>().apply { addAll(copyFromRealm(foundSimpleContact)) }
|
||||
saveObjToJson(path,"contactInfos.txt",contacts)
|
||||
saveObjToJson(path,"contactInfos.json",contacts)
|
||||
}
|
||||
}
|
||||
/* affiliate button */
|
||||
@ -203,12 +203,12 @@ internal class SettingsActivity : CommonActivity() {
|
||||
val file = File(path, fileName)
|
||||
if (path.exists() && file.exists()) {
|
||||
val retMap = readMap(file)
|
||||
decodeString(File(path, "appInfos.txt"))?.let {
|
||||
decodeString(File(path, "appInfos.json"))?.let {
|
||||
val appInfos = Gson().fromJson(it, object : TypeToken<ArrayList<AppInfo?>?>() {}.type) as ArrayList<AppInfo>
|
||||
Blog.LOGE("appInfos >>>> ${appInfos.size}")
|
||||
WorkersDb.getRealm().writeBlocking { appInfos.forEach { copyToRealm(it,UpdatePolicy.ALL) } }
|
||||
}
|
||||
decodeString(File(path,"contactInfos.txt"))?.let {
|
||||
decodeString(File(path,"contactInfos.json"))?.let {
|
||||
val contacts = Gson().fromJson(it, object : TypeToken<ArrayList<SimpleContact?>?>() {}.type) as ArrayList<SimpleContact>
|
||||
Blog.LOGE("contacts >>>> ${contacts.size}")
|
||||
WorkersDb.getRealm().writeBlocking { contacts.forEach { copyToRealm(it,UpdatePolicy.ALL) } }
|
||||
|
||||
@ -63,29 +63,29 @@ internal class Apps : BottomSheetDialogFragment() {
|
||||
packageManager = requireActivity().packageManager
|
||||
|
||||
|
||||
binding.keyboardAutoGroup.isChecked = PrefBoolean.openWithKayboard.get()
|
||||
binding.keyboardAutoGroup.setOnCheckedChangeListener { c,v ->
|
||||
settingsChanged = true
|
||||
PrefBoolean.openWithKayboard.set(v)
|
||||
}
|
||||
|
||||
binding.quickLaunchGroup.isChecked = PrefBoolean.useQuickLaunch.get()
|
||||
binding.quickLaunchGroup.setOnCheckedChangeListener { c,v ->
|
||||
settingsChanged = true
|
||||
PrefBoolean.useQuickLaunch.get(v)
|
||||
}
|
||||
|
||||
binding.appsCountGroup.isChecked = PrefBoolean.showAppResultCount.get()
|
||||
binding.appsCountGroup.setOnCheckedChangeListener { c,v ->
|
||||
settingsChanged = true
|
||||
PrefBoolean.showAppResultCount.set(v)
|
||||
}
|
||||
|
||||
|
||||
((PrefLong.maxQueryCount.get(18L) as? Long)?.toFloat() ?: 18F).let {
|
||||
binding.columnsCountTitle.text = getString(R.string.grid_columns_count) +" [${it.toInt()}]"
|
||||
binding.columnsCount.value = it
|
||||
}
|
||||
// binding.keyboardAutoGroup.isChecked = PrefBoolean.openWithKayboard.get()
|
||||
// binding.keyboardAutoGroup.setOnCheckedChangeListener { c,v ->
|
||||
// settingsChanged = true
|
||||
// PrefBoolean.openWithKayboard.set(v)
|
||||
// }
|
||||
//
|
||||
// binding.quickLaunchGroup.isChecked = PrefBoolean.useQuickLaunch.get()
|
||||
// binding.quickLaunchGroup.setOnCheckedChangeListener { c,v ->
|
||||
// settingsChanged = true
|
||||
// PrefBoolean.useQuickLaunch.get(v)
|
||||
// }
|
||||
//
|
||||
// binding.appsCountGroup.isChecked = PrefBoolean.showAppResultCount.get()
|
||||
// binding.appsCountGroup.setOnCheckedChangeListener { c,v ->
|
||||
// settingsChanged = true
|
||||
// PrefBoolean.showAppResultCount.set(v)
|
||||
// }
|
||||
//
|
||||
//
|
||||
// ((PrefLong.maxQueryCount.get(18L) as? Long)?.toFloat() ?: 18F).let {
|
||||
// binding.columnsCountTitle.text = getString(R.string.grid_columns_count) +" [${it.toInt()}]"
|
||||
// binding.columnsCount.value = it
|
||||
// }
|
||||
|
||||
PrefLong.shortTimePeriod.get(20L).let {
|
||||
binding.shortTimeTitle.text = getString(R.string.shortTimeTitle) +" [${it.toInt()}분 마다]"
|
||||
@ -122,11 +122,11 @@ internal class Apps : BottomSheetDialogFragment() {
|
||||
(requireDialog() as BottomSheetDialog).dismissWithAnimation = true
|
||||
|
||||
|
||||
binding.columnsCount.addOnChangeListener(Slider.OnChangeListener { _, value, _ ->
|
||||
settingsChanged = true
|
||||
PrefLong.maxQueryCount.set(value.toLong())
|
||||
binding.columnsCountTitle.text = getString(R.string.grid_columns_count) +" [${value.toInt()}]"
|
||||
})
|
||||
// binding.columnsCount.addOnChangeListener(Slider.OnChangeListener { _, value, _ ->
|
||||
// settingsChanged = true
|
||||
// PrefLong.maxQueryCount.set(value.toLong())
|
||||
// binding.columnsCountTitle.text = getString(R.string.grid_columns_count) +" [${value.toInt()}]"
|
||||
// })
|
||||
|
||||
binding.shortTime.addOnChangeListener(Slider.OnChangeListener { _, value, _ ->
|
||||
settingsChanged = true
|
||||
|
||||
@ -52,20 +52,20 @@ internal class HomeSettings : BottomSheetDialogFragment() {
|
||||
setTableItem(binding.normal04)
|
||||
|
||||
|
||||
binding.callInfo.isChecked = PrefBoolean.showCallHistory.get(false)
|
||||
binding.callInfo.setOnCheckedChangeListener { buttonView, isChecked -> PrefBoolean.showCallHistory.set(isChecked)
|
||||
settingsChanged = true}
|
||||
binding.smsInfos.isChecked = PrefBoolean.showSMSHistory.get(false)
|
||||
binding.smsInfos.setOnCheckedChangeListener { buttonView, isChecked -> PrefBoolean.showSMSHistory.set(isChecked)
|
||||
settingsChanged = true}
|
||||
binding.notificationInfos.isChecked = PrefBoolean.showNotificationHistory.get(false)
|
||||
binding.notificationInfos.setOnCheckedChangeListener { buttonView, isChecked -> PrefBoolean.showNotificationHistory.set(isChecked)
|
||||
settingsChanged = true}
|
||||
binding.nowPlaying.isChecked = PrefBoolean.showNowPlaying.get(false)
|
||||
binding.nowPlaying.setOnCheckedChangeListener { buttonView, isChecked ->
|
||||
PrefBoolean.showNowPlaying.set(isChecked)
|
||||
settingsChanged = true
|
||||
}
|
||||
// binding.callInfo.isChecked = PrefBoolean.showCallHistory.get(false)
|
||||
// binding.callInfo.setOnCheckedChangeListener { buttonView, isChecked -> PrefBoolean.showCallHistory.set(isChecked)
|
||||
// settingsChanged = true}
|
||||
// binding.smsInfos.isChecked = PrefBoolean.showSMSHistory.get(false)
|
||||
// binding.smsInfos.setOnCheckedChangeListener { buttonView, isChecked -> PrefBoolean.showSMSHistory.set(isChecked)
|
||||
// settingsChanged = true}
|
||||
// binding.notificationInfos.isChecked = PrefBoolean.showNotificationHistory.get(false)
|
||||
// binding.notificationInfos.setOnCheckedChangeListener { buttonView, isChecked -> PrefBoolean.showNotificationHistory.set(isChecked)
|
||||
// settingsChanged = true}
|
||||
// binding.nowPlaying.isChecked = PrefBoolean.showNowPlaying.get(false)
|
||||
// binding.nowPlaying.setOnCheckedChangeListener { buttonView, isChecked ->
|
||||
// PrefBoolean.showNowPlaying.set(isChecked)
|
||||
// settingsChanged = true
|
||||
// }
|
||||
|
||||
|
||||
|
||||
|
||||
@ -24,6 +24,7 @@ import android.view.LayoutInflater
|
||||
import android.view.View
|
||||
import android.view.ViewGroup
|
||||
import androidx.core.widget.doOnTextChanged
|
||||
import bums.lunatic.launcher.R
|
||||
import bums.lunatic.launcher.databinding.SettingsPrivitServiceBinding
|
||||
import bums.lunatic.launcher.helpers.Constants.Companion.KEY_RSS_URL
|
||||
import bums.lunatic.launcher.helpers.Constants.Companion.KEY_RSS_URL2
|
||||
@ -31,10 +32,28 @@ import bums.lunatic.launcher.helpers.PrefString
|
||||
import bums.lunatic.launcher.settings.SettingsActivity.Companion.settingsPrefs
|
||||
import com.google.android.material.bottomsheet.BottomSheetDialog
|
||||
import com.google.android.material.bottomsheet.BottomSheetDialogFragment
|
||||
import com.google.android.material.dialog.MaterialAlertDialogBuilder
|
||||
import java.util.Objects
|
||||
import kotlin.system.exitProcess
|
||||
|
||||
|
||||
internal class Misc : BottomSheetDialogFragment() {
|
||||
open class SettingChild : BottomSheetDialogFragment() {
|
||||
protected var settingsChanged: Boolean = false
|
||||
override fun onDismiss(dialog: DialogInterface) {
|
||||
super.onDismiss(dialog)
|
||||
if (settingsChanged) {
|
||||
MaterialAlertDialogBuilder(requireActivity())
|
||||
.setTitle(R.string.restart_now)
|
||||
.setMessage(R.string.restart_message)
|
||||
.setPositiveButton(R.string.restart) { _, _ ->
|
||||
exitProcess(0)
|
||||
}
|
||||
.setNeutralButton(R.string.later, null)
|
||||
.show()
|
||||
}
|
||||
}
|
||||
}
|
||||
internal class Misc : SettingChild() {
|
||||
|
||||
private lateinit var binding : SettingsPrivitServiceBinding
|
||||
|
||||
@ -43,26 +62,32 @@ internal class Misc : BottomSheetDialogFragment() {
|
||||
|
||||
/* initialize views according to the saved values */
|
||||
|
||||
|
||||
|
||||
binding.inputFeedUrl.setText(PrefString.telegramBotApi.get(""))
|
||||
binding.inputFeedUrl.doOnTextChanged { t,s,b,l -> PrefString.telegramBotApi.set(t.toString())
|
||||
|
||||
settingsChanged = true
|
||||
}
|
||||
binding.inputFeedUrl2.setText(PrefString.telegramMyId.get(""))
|
||||
binding.inputFeedUrl2.doOnTextChanged { t,s,b,l -> PrefString.telegramMyId.set(t.toString())
|
||||
|
||||
settingsChanged = true
|
||||
}
|
||||
binding.inputFeedUrl3.setText(PrefString.telegramSendTarget.get(""))
|
||||
binding.inputFeedUrl3.doOnTextChanged { t,s,b,l -> PrefString.telegramSendTarget.set(t.toString())
|
||||
|
||||
settingsChanged = true
|
||||
}
|
||||
binding.inputFeedUrl4.setText(PrefString.locationApi.get(""))
|
||||
binding.inputFeedUrl4.doOnTextChanged { t,s,b,l -> PrefString.locationApi.set(t.toString())}
|
||||
binding.inputFeedUrl4.doOnTextChanged { t,s,b,l -> PrefString.locationApi.set(t.toString())
|
||||
settingsChanged = true
|
||||
}
|
||||
|
||||
binding.inputFeedUrl5.setText(PrefString.carName.get(""))
|
||||
binding.inputFeedUrl5.doOnTextChanged { t,s,b,l -> PrefString.carName.set(t.toString())}
|
||||
|
||||
binding.inputFeedUrl5.doOnTextChanged { t,s,b,l -> PrefString.carName.set(t.toString())
|
||||
settingsChanged = true
|
||||
}
|
||||
binding.inputOwm.setText(PrefString.weatherApiKey.get(""))
|
||||
binding.inputOwm.doOnTextChanged { text, start, before, count ->
|
||||
PrefString.weatherApiKey.set(text.toString())
|
||||
settingsChanged = true
|
||||
}
|
||||
return binding.root
|
||||
}
|
||||
|
||||
|
||||
@ -33,23 +33,6 @@ import com.google.android.material.bottomsheet.BottomSheetDialogFragment
|
||||
import com.google.android.material.dialog.MaterialAlertDialogBuilder
|
||||
import kotlin.system.exitProcess
|
||||
|
||||
open class SettingChild : BottomSheetDialogFragment() {
|
||||
protected var settingsChanged: Boolean = false
|
||||
override fun onDismiss(dialog: DialogInterface) {
|
||||
super.onDismiss(dialog)
|
||||
if (settingsChanged) {
|
||||
MaterialAlertDialogBuilder(requireActivity())
|
||||
.setTitle(R.string.restart_now)
|
||||
.setMessage(R.string.restart_message)
|
||||
.setPositiveButton(R.string.restart) { _, _ ->
|
||||
exitProcess(0)
|
||||
}
|
||||
.setNeutralButton(R.string.later, null)
|
||||
.show()
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
internal class WeatherSettings : SettingChild() {
|
||||
|
||||
private lateinit var binding : SettingsWeatherBinding
|
||||
@ -64,12 +47,12 @@ internal class WeatherSettings : SettingChild() {
|
||||
PrefString.weatherApiKey.set(text.toString())
|
||||
settingsChanged = true
|
||||
}
|
||||
binding.dress.isChecked = PrefBoolean.weatherDress.get(false)
|
||||
binding.weather.isChecked = PrefBoolean.weatherState.get(false)
|
||||
binding.weather.setOnCheckedChangeListener { buttonView, isChecked -> PrefBoolean.weatherState.set(isChecked)
|
||||
settingsChanged = true}
|
||||
binding.dress.setOnCheckedChangeListener { buttonView, isChecked -> PrefBoolean.weatherDress.set(isChecked)
|
||||
settingsChanged = true}
|
||||
// binding.dress.isChecked = PrefBoolean.weatherDress.get(false)
|
||||
// binding.weather.isChecked = PrefBoolean.weatherState.get(false)
|
||||
// binding.weather.setOnCheckedChangeListener { buttonView, isChecked -> PrefBoolean.weatherState.set(isChecked)
|
||||
// settingsChanged = true}
|
||||
// binding.dress.setOnCheckedChangeListener { buttonView, isChecked -> PrefBoolean.weatherDress.set(isChecked)
|
||||
// settingsChanged = true}
|
||||
return binding.root
|
||||
}
|
||||
|
||||
|
||||
@ -109,6 +109,7 @@ abstract class BaseToki : Fragment(), PagedTextViewInterface {
|
||||
var lastInfo: LastInfo? = null
|
||||
var currentPage: ContentsPageInfo? = null
|
||||
var saveContinuation = false
|
||||
open var isPrivateMode = false
|
||||
val handle = object : Handler(Looper.getMainLooper()) {
|
||||
override fun handleMessage(msg: Message) {
|
||||
if (msg.what == 0) {
|
||||
@ -614,8 +615,9 @@ abstract class BaseToki : Fragment(), PagedTextViewInterface {
|
||||
goToHome()
|
||||
}
|
||||
getRuntime()?.apply {
|
||||
|
||||
val sessionSettings = GeckoSessionSettings.Builder()
|
||||
.usePrivateMode(true)
|
||||
.usePrivateMode(isPrivateMode)
|
||||
.allowJavascript(true)
|
||||
.screenId(Random(Int.MAX_VALUE).nextInt())
|
||||
.build()
|
||||
|
||||
@ -12,6 +12,8 @@ class YouTube : BaseToki(){
|
||||
override var lastNumber : Int = 143
|
||||
override val webcontentsName : String = "youtube"
|
||||
override val afterDot = "com"
|
||||
override var isPrivateMode: Boolean = true
|
||||
|
||||
override fun getLastedDoamin(): String {
|
||||
return String.format("https://%s.%s", webcontentsName, afterDot)
|
||||
}
|
||||
|
||||
@ -9,6 +9,7 @@ import android.util.AttributeSet
|
||||
import android.view.MotionEvent
|
||||
import android.view.PointerIcon
|
||||
import android.view.View
|
||||
import androidx.core.net.toUri
|
||||
import androidx.core.view.isVisible
|
||||
import bums.lunatic.launcher.R
|
||||
import bums.lunatic.launcher.helpers.ForeGroundService
|
||||
@ -102,7 +103,24 @@ open class BWebview : GeckoView {
|
||||
var request = YoutubeDLRequest(url)
|
||||
(mGKCookie?.COOKIES)?.let{
|
||||
Blog.LOGE(it)
|
||||
// request.addOption("--cookies-from-browser", "$it")
|
||||
val cookies = it.split(";")
|
||||
.map { it.trim() }
|
||||
.mapNotNull {
|
||||
val parts = it.split("=", limit = 2)
|
||||
if (parts.size == 2) parts[0] to parts[1] else null
|
||||
}
|
||||
.toMap()
|
||||
val expires = (System.currentTimeMillis() / 1000) + 3600 * 24 * 7 // 일주일 후 만료 예시
|
||||
|
||||
val cookieFileContent = buildString {
|
||||
appendLine("# Netscape HTTP Cookie File")
|
||||
for ((name, value) in cookies) {
|
||||
appendLine(".${url.toUri().host}\tTRUE\t/\tTRUE\t$expires\t$name\t$value")
|
||||
}
|
||||
}
|
||||
val cookieFile = File(context.filesDir, "cookies.txt")
|
||||
cookieFile.writeText(cookieFileContent)
|
||||
request.addOption("--cookies", cookieFile.absolutePath)
|
||||
}
|
||||
|
||||
val videoInfo = YoutubeDL.getInstance().getInfo(request)
|
||||
@ -121,6 +139,7 @@ open class BWebview : GeckoView {
|
||||
}
|
||||
|
||||
} catch (e: Exception) {
|
||||
e.printStackTrace()
|
||||
Blog.LOGE("checkIfDownloadable ${url} ${e}")
|
||||
CoroutineScope(Dispatchers.Main).launch {
|
||||
runOnUiThread {
|
||||
|
||||
BIN
app/src/main/res/drawable/ic_news.png
Normal file
BIN
app/src/main/res/drawable/ic_news.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 34 KiB |
@ -5,7 +5,7 @@
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent"
|
||||
xmlns:app="http://schemas.android.com/apk/res-auto"
|
||||
android:background="@drawable/base_bg"
|
||||
android:background="@android:color/transparent"
|
||||
android:orientation="vertical"
|
||||
android:id="@+id/mainFragmentsContainer"
|
||||
>
|
||||
@ -26,31 +26,17 @@
|
||||
app:layout_constraintTop_toBottomOf="@id/fragment_container"
|
||||
app:layout_constraintLeft_toLeftOf="parent"
|
||||
android:id="@+id/back"
|
||||
android:scaleType="fitCenter"
|
||||
android:adjustViewBounds="true"
|
||||
android:visibility="visible"
|
||||
android:background="@null"
|
||||
android:src="@drawable/back_vector"
|
||||
android:tint="@color/white"
|
||||
android:foregroundTint="@color/white"
|
||||
android:layout_width="@dimen/main_top_height"
|
||||
tools:ignore="ContentDescription"
|
||||
android:layout_height="@dimen/main_top_height" />
|
||||
style="@style/CommonBottom" />
|
||||
<ImageButton
|
||||
app:layout_constraintBottom_toBottomOf="parent"
|
||||
app:layout_constraintTop_toBottomOf="@id/fragment_container"
|
||||
app:layout_constraintLeft_toRightOf="@id/back"
|
||||
android:id="@+id/reload"
|
||||
android:scaleType="fitCenter"
|
||||
android:adjustViewBounds="true"
|
||||
android:visibility="visible"
|
||||
android:background="@null"
|
||||
android:src="@drawable/ic_refresh"
|
||||
android:tint="@color/white"
|
||||
android:foregroundTint="@color/white"
|
||||
android:layout_width="@dimen/main_top_height"
|
||||
tools:ignore="ContentDescription"
|
||||
android:layout_height="@dimen/main_top_height" />
|
||||
style="@style/CommonBottom"/>
|
||||
<TextView
|
||||
android:text="asdasdsadasd"
|
||||
android:id="@+id/current_address"
|
||||
@ -64,38 +50,25 @@
|
||||
app:layout_constraintRight_toRightOf="parent"
|
||||
android:layout_width="0dp"
|
||||
android:layout_height="@dimen/main_top_height"/>
|
||||
"/>
|
||||
|
||||
<ImageButton
|
||||
app:layout_constraintTop_toTopOf="@id/back"
|
||||
app:layout_constraintRight_toLeftOf="@id/share"
|
||||
app:layout_constraintBottom_toBottomOf="parent"
|
||||
android:id="@+id/dl_video"
|
||||
android:scaleType="fitCenter"
|
||||
android:adjustViewBounds="true"
|
||||
android:visibility="gone"
|
||||
android:background="@null"
|
||||
android:tint="@color/white"
|
||||
android:foregroundTint="@color/white"
|
||||
android:src="@drawable/dl_vid"
|
||||
android:layout_width="@dimen/main_top_height"
|
||||
tools:ignore="ContentDescription"
|
||||
android:layout_height="@dimen/main_top_height" />
|
||||
style="@style/CommonBottom"/>
|
||||
<ImageButton
|
||||
app:layout_constraintTop_toTopOf="@id/back"
|
||||
app:layout_constraintRight_toRightOf="parent"
|
||||
app:layout_constraintBottom_toBottomOf="parent"
|
||||
android:layout_marginRight="60dp"
|
||||
android:id="@+id/share"
|
||||
android:scaleType="fitCenter"
|
||||
android:adjustViewBounds="true"
|
||||
android:visibility="visible"
|
||||
android:background="@null"
|
||||
android:tint="@color/white"
|
||||
android:foregroundTint="@color/white"
|
||||
android:src="@drawable/ic_share"
|
||||
android:layout_width="@dimen/main_top_height"
|
||||
tools:ignore="ContentDescription"
|
||||
android:layout_height="@dimen/main_top_height" />
|
||||
style="@style/CommonBottom"/>
|
||||
<bums.lunatic.launcher.view.FloatingActionMenu
|
||||
android:id="@+id/floating_action_menu"
|
||||
android:layout_margin="5dp"
|
||||
|
||||
@ -19,14 +19,15 @@
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:text="@string/lunar_settings"
|
||||
android:textColor="?attr/colorControlNormal" />
|
||||
android:textStyle="bold"
|
||||
android:textColor="@color/white" />
|
||||
</com.google.android.material.appbar.AppBarLayout>
|
||||
|
||||
<ScrollView
|
||||
android:layout_width="@dimen/zero"
|
||||
android:layout_height="@dimen/zero"
|
||||
android:background="@drawable/rounded_bg_top"
|
||||
android:backgroundTint="?attr/colorSurface"
|
||||
android:backgroundTint="@color/black"
|
||||
android:paddingHorizontal="@dimen/thirtySix"
|
||||
app:layout_constraintBottom_toBottomOf="parent"
|
||||
app:layout_constraintEnd_toEndOf="parent"
|
||||
@ -40,23 +41,23 @@
|
||||
app:singleSelection="true"
|
||||
android:layout_gravity="center">
|
||||
|
||||
<com.google.android.material.button.MaterialButton
|
||||
android:id="@+id/timeDate"
|
||||
style="@style/Widget.Material3.Button.ElevatedButton"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:text="Display Info"
|
||||
android:textAllCaps="true"
|
||||
android:textStyle="bold" />
|
||||
<!-- <com.google.android.material.button.MaterialButton-->
|
||||
<!-- android:id="@+id/timeDate"-->
|
||||
<!-- style="@style/Widget.Material3.Button.ElevatedButton"-->
|
||||
<!-- android:layout_width="match_parent"-->
|
||||
<!-- android:layout_height="wrap_content"-->
|
||||
<!-- android:text="Display Info"-->
|
||||
<!-- android:textAllCaps="true"-->
|
||||
<!-- android:textStyle="bold" />-->
|
||||
|
||||
<com.google.android.material.button.MaterialButton
|
||||
android:id="@+id/weather"
|
||||
style="@style/Widget.Material3.Button.ElevatedButton"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:text="@string/weather"
|
||||
android:textAllCaps="true"
|
||||
android:textStyle="bold" />
|
||||
<!-- <com.google.android.material.button.MaterialButton-->
|
||||
<!-- android:id="@+id/weather"-->
|
||||
<!-- style="@style/Widget.Material3.Button.ElevatedButton"-->
|
||||
<!-- android:layout_width="match_parent"-->
|
||||
<!-- android:layout_height="wrap_content"-->
|
||||
<!-- android:text="@string/weather"-->
|
||||
<!-- android:textAllCaps="true"-->
|
||||
<!-- android:textStyle="bold" />-->
|
||||
|
||||
<com.google.android.material.button.MaterialButton
|
||||
android:id="@+id/todo"
|
||||
@ -76,14 +77,14 @@
|
||||
android:textAllCaps="true"
|
||||
android:textStyle="bold" />
|
||||
|
||||
<com.google.android.material.button.MaterialButton
|
||||
android:id="@+id/appearances"
|
||||
style="@style/Widget.Material3.Button.ElevatedButton"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:text="@string/appearances"
|
||||
android:textAllCaps="true"
|
||||
android:textStyle="bold" />
|
||||
<!-- <com.google.android.material.button.MaterialButton-->
|
||||
<!-- android:id="@+id/appearances"-->
|
||||
<!-- style="@style/Widget.Material3.Button.ElevatedButton"-->
|
||||
<!-- android:layout_width="match_parent"-->
|
||||
<!-- android:layout_height="wrap_content"-->
|
||||
<!-- android:text="@string/appearances"-->
|
||||
<!-- android:textAllCaps="true"-->
|
||||
<!-- android:textStyle="bold" />-->
|
||||
|
||||
<com.google.android.material.button.MaterialButton
|
||||
android:id="@+id/misc"
|
||||
@ -94,14 +95,14 @@
|
||||
android:textAllCaps="true"
|
||||
android:textStyle="bold" />
|
||||
|
||||
<com.google.android.material.button.MaterialButton
|
||||
android:id="@+id/advance"
|
||||
style="@style/Widget.Material3.Button.ElevatedButton"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:text="@string/advance"
|
||||
android:textAllCaps="true"
|
||||
android:textStyle="bold" />
|
||||
<!-- <com.google.android.material.button.MaterialButton-->
|
||||
<!-- android:id="@+id/advance"-->
|
||||
<!-- style="@style/Widget.Material3.Button.ElevatedButton"-->
|
||||
<!-- android:layout_width="match_parent"-->
|
||||
<!-- android:layout_height="wrap_content"-->
|
||||
<!-- android:text="@string/advance"-->
|
||||
<!-- android:textAllCaps="true"-->
|
||||
<!-- android:textStyle="bold" />-->
|
||||
|
||||
<com.google.android.material.button.MaterialButton
|
||||
android:id="@+id/about"
|
||||
|
||||
@ -13,94 +13,94 @@
|
||||
android:layout_height="wrap_content"
|
||||
android:padding="@dimen/twelve">
|
||||
|
||||
<com.google.android.material.textview.MaterialTextView
|
||||
android:id="@+id/searchWithKeyboard"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:text="@string/search_with_keyboard"
|
||||
android:textSize="@dimen/normalText"
|
||||
app:layout_constraintEnd_toEndOf="parent"
|
||||
app:layout_constraintStart_toStartOf="parent"
|
||||
app:layout_constraintTop_toTopOf="parent" />
|
||||
<!-- <com.google.android.material.textview.MaterialTextView-->
|
||||
<!-- android:id="@+id/searchWithKeyboard"-->
|
||||
<!-- android:layout_width="wrap_content"-->
|
||||
<!-- android:layout_height="wrap_content"-->
|
||||
<!-- android:text="@string/search_with_keyboard"-->
|
||||
<!-- android:textSize="@dimen/normalText"-->
|
||||
<!-- app:layout_constraintEnd_toEndOf="parent"-->
|
||||
<!-- app:layout_constraintStart_toStartOf="parent"-->
|
||||
<!-- app:layout_constraintTop_toTopOf="parent" />-->
|
||||
|
||||
<com.google.android.material.switchmaterial.SwitchMaterial
|
||||
android:id="@+id/keyboardAutoGroup"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
app:layout_constraintEnd_toEndOf="parent"
|
||||
app:layout_constraintStart_toStartOf="parent"
|
||||
app:layout_constraintTop_toBottomOf="@+id/searchWithKeyboard"
|
||||
app:selectionRequired="true"
|
||||
app:singleSelection="true"/>
|
||||
<!-- <com.google.android.material.switchmaterial.SwitchMaterial-->
|
||||
<!-- android:id="@+id/keyboardAutoGroup"-->
|
||||
<!-- android:layout_width="wrap_content"-->
|
||||
<!-- android:layout_height="wrap_content"-->
|
||||
<!-- app:layout_constraintEnd_toEndOf="parent"-->
|
||||
<!-- app:layout_constraintStart_toStartOf="parent"-->
|
||||
<!-- app:layout_constraintTop_toBottomOf="@+id/searchWithKeyboard"-->
|
||||
<!-- app:selectionRequired="true"-->
|
||||
<!-- app:singleSelection="true"/>-->
|
||||
|
||||
<com.google.android.material.textview.MaterialTextView
|
||||
android:id="@+id/quickLaunch"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginTop="@dimen/twelve"
|
||||
android:text="@string/quick_launch"
|
||||
android:textSize="@dimen/normalText"
|
||||
app:layout_constraintEnd_toEndOf="parent"
|
||||
app:layout_constraintStart_toStartOf="parent"
|
||||
app:layout_constraintTop_toBottomOf="@+id/keyboardAutoGroup" />
|
||||
<!-- <com.google.android.material.textview.MaterialTextView-->
|
||||
<!-- android:id="@+id/quickLaunch"-->
|
||||
<!-- android:layout_width="wrap_content"-->
|
||||
<!-- android:layout_height="wrap_content"-->
|
||||
<!-- android:layout_marginTop="@dimen/twelve"-->
|
||||
<!-- android:text="@string/quick_launch"-->
|
||||
<!-- android:textSize="@dimen/normalText"-->
|
||||
<!-- app:layout_constraintEnd_toEndOf="parent"-->
|
||||
<!-- app:layout_constraintStart_toStartOf="parent"-->
|
||||
<!-- app:layout_constraintTop_toBottomOf="@+id/keyboardAutoGroup" />-->
|
||||
|
||||
<com.google.android.material.switchmaterial.SwitchMaterial
|
||||
android:id="@+id/quickLaunchGroup"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
app:layout_constraintEnd_toEndOf="parent"
|
||||
app:layout_constraintStart_toStartOf="parent"
|
||||
app:layout_constraintTop_toBottomOf="@+id/quickLaunch"
|
||||
app:selectionRequired="true"
|
||||
app:singleSelection="true"/>
|
||||
<!-- <com.google.android.material.switchmaterial.SwitchMaterial-->
|
||||
<!-- android:id="@+id/quickLaunchGroup"-->
|
||||
<!-- android:layout_width="wrap_content"-->
|
||||
<!-- android:layout_height="wrap_content"-->
|
||||
<!-- app:layout_constraintEnd_toEndOf="parent"-->
|
||||
<!-- app:layout_constraintStart_toStartOf="parent"-->
|
||||
<!-- app:layout_constraintTop_toBottomOf="@+id/quickLaunch"-->
|
||||
<!-- app:selectionRequired="true"-->
|
||||
<!-- app:singleSelection="true"/>-->
|
||||
|
||||
|
||||
<com.google.android.material.textview.MaterialTextView
|
||||
android:id="@+id/appsCount"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginTop="@dimen/twelve"
|
||||
android:text="@string/apps_count"
|
||||
android:textSize="@dimen/normalText"
|
||||
app:layout_constraintEnd_toEndOf="parent"
|
||||
app:layout_constraintStart_toStartOf="parent"
|
||||
app:layout_constraintTop_toBottomOf="@+id/quickLaunchGroup" />
|
||||
<!-- <com.google.android.material.textview.MaterialTextView-->
|
||||
<!-- android:id="@+id/appsCount"-->
|
||||
<!-- android:layout_width="wrap_content"-->
|
||||
<!-- android:layout_height="wrap_content"-->
|
||||
<!-- android:layout_marginTop="@dimen/twelve"-->
|
||||
<!-- android:text="@string/apps_count"-->
|
||||
<!-- android:textSize="@dimen/normalText"-->
|
||||
<!-- app:layout_constraintEnd_toEndOf="parent"-->
|
||||
<!-- app:layout_constraintStart_toStartOf="parent"-->
|
||||
<!-- app:layout_constraintTop_toBottomOf="@+id/quickLaunchGroup" />-->
|
||||
|
||||
<com.google.android.material.switchmaterial.SwitchMaterial
|
||||
android:id="@+id/appsCountGroup"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
app:layout_constraintEnd_toEndOf="parent"
|
||||
app:layout_constraintStart_toStartOf="parent"
|
||||
app:layout_constraintTop_toBottomOf="@+id/appsCount"
|
||||
app:selectionRequired="true"
|
||||
app:singleSelection="true"/>
|
||||
<!-- <com.google.android.material.switchmaterial.SwitchMaterial-->
|
||||
<!-- android:id="@+id/appsCountGroup"-->
|
||||
<!-- android:layout_width="wrap_content"-->
|
||||
<!-- android:layout_height="wrap_content"-->
|
||||
<!-- app:layout_constraintEnd_toEndOf="parent"-->
|
||||
<!-- app:layout_constraintStart_toStartOf="parent"-->
|
||||
<!-- app:layout_constraintTop_toBottomOf="@+id/appsCount"-->
|
||||
<!-- app:selectionRequired="true"-->
|
||||
<!-- app:singleSelection="true"/>-->
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<com.google.android.material.textview.MaterialTextView
|
||||
android:id="@+id/columnsCountTitle"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginTop="@dimen/twelve"
|
||||
android:textSize="@dimen/normalText"
|
||||
android:text="@string/grid_columns_count"
|
||||
app:layout_constraintStart_toStartOf="parent"
|
||||
app:layout_constraintEnd_toEndOf="parent"
|
||||
app:layout_constraintTop_toBottomOf="@+id/appsCountGroup" />
|
||||
<!-- <com.google.android.material.textview.MaterialTextView-->
|
||||
<!-- android:id="@+id/columnsCountTitle"-->
|
||||
<!-- android:layout_width="wrap_content"-->
|
||||
<!-- android:layout_height="wrap_content"-->
|
||||
<!-- android:layout_marginTop="@dimen/twelve"-->
|
||||
<!-- android:textSize="@dimen/normalText"-->
|
||||
<!-- android:text="@string/grid_columns_count"-->
|
||||
<!-- app:layout_constraintStart_toStartOf="parent"-->
|
||||
<!-- app:layout_constraintEnd_toEndOf="parent"-->
|
||||
<!-- app:layout_constraintTop_toBottomOf="@+id/appsCountGroup" />-->
|
||||
|
||||
<com.google.android.material.slider.Slider
|
||||
android:id="@+id/columnsCount"
|
||||
android:layout_width="@dimen/zero"
|
||||
android:layout_height="wrap_content"
|
||||
android:valueFrom="5"
|
||||
android:valueTo="40"
|
||||
android:stepSize="1"
|
||||
app:layout_constraintEnd_toEndOf="parent"
|
||||
app:layout_constraintStart_toStartOf="parent"
|
||||
app:layout_constraintTop_toBottomOf="@+id/columnsCountTitle" />
|
||||
<!-- <com.google.android.material.slider.Slider-->
|
||||
<!-- android:id="@+id/columnsCount"-->
|
||||
<!-- android:layout_width="@dimen/zero"-->
|
||||
<!-- android:layout_height="wrap_content"-->
|
||||
<!-- android:valueFrom="5"-->
|
||||
<!-- android:valueTo="40"-->
|
||||
<!-- android:stepSize="1"-->
|
||||
<!-- app:layout_constraintEnd_toEndOf="parent"-->
|
||||
<!-- app:layout_constraintStart_toStartOf="parent"-->
|
||||
<!-- app:layout_constraintTop_toBottomOf="@+id/columnsCountTitle" />-->
|
||||
|
||||
<com.google.android.material.textview.MaterialTextView
|
||||
android:id="@+id/shortTimeTitle"
|
||||
@ -111,7 +111,7 @@
|
||||
android:textSize="@dimen/normalText"
|
||||
app:layout_constraintStart_toStartOf="parent"
|
||||
app:layout_constraintEnd_toEndOf="parent"
|
||||
app:layout_constraintTop_toBottomOf="@+id/columnsCount" />
|
||||
app:layout_constraintTop_toTopOf="parent" />
|
||||
|
||||
<com.google.android.material.slider.Slider
|
||||
android:id="@+id/shortTime"
|
||||
|
||||
@ -114,7 +114,25 @@
|
||||
|
||||
|
||||
</com.google.android.material.textfield.TextInputLayout>
|
||||
<com.google.android.material.textfield.TextInputLayout
|
||||
android:id="@+id/owmInputLayout"
|
||||
android:layout_width="@dimen/threeTwentyFour"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginTop="@dimen/twelve"
|
||||
android:hint="@string/owm_key"
|
||||
app:endIconMode="clear_text"
|
||||
app:layout_constraintEnd_toEndOf="parent"
|
||||
app:layout_constraintStart_toStartOf="parent"
|
||||
app:layout_constraintTop_toBottomOf="@id/feedInputLayout5">
|
||||
|
||||
<com.google.android.material.textfield.TextInputEditText
|
||||
android:id="@+id/inputOwm"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent"
|
||||
android:gravity="center"
|
||||
android:imeOptions="actionDone"
|
||||
android:singleLine="true" />
|
||||
</com.google.android.material.textfield.TextInputLayout>
|
||||
|
||||
<!-- <com.google.android.material.textview.MaterialTextView-->
|
||||
<!-- android:id="@+id/doubleTapLock"-->
|
||||
|
||||
@ -5,26 +5,26 @@
|
||||
android:layout_height="wrap_content"
|
||||
android:padding="@dimen/twelve">
|
||||
|
||||
<com.google.android.material.textview.MaterialTextView
|
||||
android:id="@+id/phoneTitle"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:text="통화목록"
|
||||
android:textSize="@dimen/normalText"
|
||||
app:layout_constraintEnd_toEndOf="parent"
|
||||
app:layout_constraintStart_toStartOf="parent"
|
||||
app:layout_constraintTop_toTopOf="parent" />
|
||||
<!-- <com.google.android.material.textview.MaterialTextView-->
|
||||
<!-- android:id="@+id/phoneTitle"-->
|
||||
<!-- android:layout_width="wrap_content"-->
|
||||
<!-- android:layout_height="wrap_content"-->
|
||||
<!-- android:text="통화목록"-->
|
||||
<!-- android:textSize="@dimen/normalText"-->
|
||||
<!-- app:layout_constraintEnd_toEndOf="parent"-->
|
||||
<!-- app:layout_constraintStart_toStartOf="parent"-->
|
||||
<!-- app:layout_constraintTop_toTopOf="parent" />-->
|
||||
|
||||
<com.google.android.material.switchmaterial.SwitchMaterial
|
||||
android:id="@+id/callInfo"
|
||||
android:text="사용 여부"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
app:layout_constraintEnd_toEndOf="parent"
|
||||
app:layout_constraintStart_toStartOf="parent"
|
||||
app:layout_constraintTop_toBottomOf="@+id/phoneTitle"
|
||||
app:selectionRequired="true"
|
||||
app:singleSelection="true"/>
|
||||
<!-- <com.google.android.material.switchmaterial.SwitchMaterial-->
|
||||
<!-- android:id="@+id/callInfo"-->
|
||||
<!-- android:text="사용 여부"-->
|
||||
<!-- android:layout_width="wrap_content"-->
|
||||
<!-- android:layout_height="wrap_content"-->
|
||||
<!-- app:layout_constraintEnd_toEndOf="parent"-->
|
||||
<!-- app:layout_constraintStart_toStartOf="parent"-->
|
||||
<!-- app:layout_constraintTop_toBottomOf="@+id/phoneTitle"-->
|
||||
<!-- app:selectionRequired="true"-->
|
||||
<!-- app:singleSelection="true"/>-->
|
||||
|
||||
<com.google.android.material.textview.MaterialTextView
|
||||
android:id="@+id/newsTitle"
|
||||
@ -34,7 +34,7 @@
|
||||
android:textSize="@dimen/normalText"
|
||||
app:layout_constraintEnd_toEndOf="parent"
|
||||
app:layout_constraintStart_toStartOf="parent"
|
||||
app:layout_constraintTop_toBottomOf="@id/callInfo" />
|
||||
app:layout_constraintTop_toTopOf="parent" />
|
||||
|
||||
<TableLayout
|
||||
android:id="@+id/contentsTypes"
|
||||
@ -142,67 +142,67 @@
|
||||
</TableRow>
|
||||
|
||||
</TableLayout>
|
||||
<com.google.android.material.textview.MaterialTextView
|
||||
android:id="@+id/smsTitle"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:text="문자 내역"
|
||||
android:textSize="@dimen/normalText"
|
||||
app:layout_constraintEnd_toEndOf="parent"
|
||||
app:layout_constraintStart_toStartOf="parent"
|
||||
app:layout_constraintTop_toBottomOf="@id/contentsTypes" />
|
||||
<!-- <com.google.android.material.textview.MaterialTextView-->
|
||||
<!-- android:id="@+id/smsTitle"-->
|
||||
<!-- android:layout_width="wrap_content"-->
|
||||
<!-- android:layout_height="wrap_content"-->
|
||||
<!-- android:text="문자 내역"-->
|
||||
<!-- android:textSize="@dimen/normalText"-->
|
||||
<!-- app:layout_constraintEnd_toEndOf="parent"-->
|
||||
<!-- app:layout_constraintStart_toStartOf="parent"-->
|
||||
<!-- app:layout_constraintTop_toBottomOf="@id/contentsTypes" />-->
|
||||
|
||||
<com.google.android.material.switchmaterial.SwitchMaterial
|
||||
android:id="@+id/smsInfos"
|
||||
android:text="사용 여부"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
app:layout_constraintEnd_toEndOf="parent"
|
||||
app:layout_constraintStart_toStartOf="parent"
|
||||
app:layout_constraintTop_toBottomOf="@+id/smsTitle"
|
||||
app:selectionRequired="true"
|
||||
app:singleSelection="true"/>
|
||||
<!-- <com.google.android.material.switchmaterial.SwitchMaterial-->
|
||||
<!-- android:id="@+id/smsInfos"-->
|
||||
<!-- android:text="사용 여부"-->
|
||||
<!-- android:layout_width="wrap_content"-->
|
||||
<!-- android:layout_height="wrap_content"-->
|
||||
<!-- app:layout_constraintEnd_toEndOf="parent"-->
|
||||
<!-- app:layout_constraintStart_toStartOf="parent"-->
|
||||
<!-- app:layout_constraintTop_toBottomOf="@+id/smsTitle"-->
|
||||
<!-- app:selectionRequired="true"-->
|
||||
<!-- app:singleSelection="true"/>-->
|
||||
|
||||
<com.google.android.material.textview.MaterialTextView
|
||||
android:id="@+id/notificationTitle"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:text="알림 내역"
|
||||
android:textSize="@dimen/normalText"
|
||||
app:layout_constraintEnd_toEndOf="parent"
|
||||
app:layout_constraintStart_toStartOf="parent"
|
||||
app:layout_constraintTop_toBottomOf="@id/smsInfos" />
|
||||
<!-- <com.google.android.material.textview.MaterialTextView-->
|
||||
<!-- android:id="@+id/notificationTitle"-->
|
||||
<!-- android:layout_width="wrap_content"-->
|
||||
<!-- android:layout_height="wrap_content"-->
|
||||
<!-- android:text="알림 내역"-->
|
||||
<!-- android:textSize="@dimen/normalText"-->
|
||||
<!-- app:layout_constraintEnd_toEndOf="parent"-->
|
||||
<!-- app:layout_constraintStart_toStartOf="parent"-->
|
||||
<!-- app:layout_constraintTop_toBottomOf="@id/smsInfos" />-->
|
||||
|
||||
<com.google.android.material.switchmaterial.SwitchMaterial
|
||||
android:id="@+id/notificationInfos"
|
||||
android:text="표시 여부"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
app:layout_constraintEnd_toEndOf="parent"
|
||||
app:layout_constraintStart_toStartOf="parent"
|
||||
app:layout_constraintTop_toBottomOf="@+id/notificationTitle"
|
||||
app:selectionRequired="true"
|
||||
app:singleSelection="true"/>
|
||||
<!-- <com.google.android.material.switchmaterial.SwitchMaterial-->
|
||||
<!-- android:id="@+id/notificationInfos"-->
|
||||
<!-- android:text="표시 여부"-->
|
||||
<!-- android:layout_width="wrap_content"-->
|
||||
<!-- android:layout_height="wrap_content"-->
|
||||
<!-- app:layout_constraintEnd_toEndOf="parent"-->
|
||||
<!-- app:layout_constraintStart_toStartOf="parent"-->
|
||||
<!-- app:layout_constraintTop_toBottomOf="@+id/notificationTitle"-->
|
||||
<!-- app:selectionRequired="true"-->
|
||||
<!-- app:singleSelection="true"/>-->
|
||||
|
||||
<com.google.android.material.textview.MaterialTextView
|
||||
android:id="@+id/nowPlayingTitle"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:text="재생중인 곡"
|
||||
android:textSize="@dimen/normalText"
|
||||
app:layout_constraintEnd_toEndOf="parent"
|
||||
app:layout_constraintStart_toStartOf="parent"
|
||||
app:layout_constraintTop_toBottomOf="@id/notificationInfos" />
|
||||
<!-- <com.google.android.material.textview.MaterialTextView-->
|
||||
<!-- android:id="@+id/nowPlayingTitle"-->
|
||||
<!-- android:layout_width="wrap_content"-->
|
||||
<!-- android:layout_height="wrap_content"-->
|
||||
<!-- android:text="재생중인 곡"-->
|
||||
<!-- android:textSize="@dimen/normalText"-->
|
||||
<!-- app:layout_constraintEnd_toEndOf="parent"-->
|
||||
<!-- app:layout_constraintStart_toStartOf="parent"-->
|
||||
<!-- app:layout_constraintTop_toBottomOf="@id/notificationInfos" />-->
|
||||
|
||||
<com.google.android.material.switchmaterial.SwitchMaterial
|
||||
android:id="@+id/nowPlaying"
|
||||
android:text="사용 여부"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
app:layout_constraintEnd_toEndOf="parent"
|
||||
app:layout_constraintStart_toStartOf="parent"
|
||||
app:layout_constraintTop_toBottomOf="@+id/nowPlayingTitle"
|
||||
app:selectionRequired="true"
|
||||
app:singleSelection="true"/>
|
||||
<!-- <com.google.android.material.switchmaterial.SwitchMaterial-->
|
||||
<!-- android:id="@+id/nowPlaying"-->
|
||||
<!-- android:text="사용 여부"-->
|
||||
<!-- android:layout_width="wrap_content"-->
|
||||
<!-- android:layout_height="wrap_content"-->
|
||||
<!-- app:layout_constraintEnd_toEndOf="parent"-->
|
||||
<!-- app:layout_constraintStart_toStartOf="parent"-->
|
||||
<!-- app:layout_constraintTop_toBottomOf="@+id/nowPlayingTitle"-->
|
||||
<!-- app:selectionRequired="true"-->
|
||||
<!-- app:singleSelection="true"/>-->
|
||||
|
||||
</androidx.constraintlayout.widget.ConstraintLayout>
|
||||
@ -27,47 +27,47 @@
|
||||
</com.google.android.material.textfield.TextInputLayout>
|
||||
|
||||
|
||||
<com.google.android.material.textview.MaterialTextView
|
||||
android:id="@+id/dressTitle"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:text="옷차림 보기"
|
||||
android:textSize="@dimen/normalText"
|
||||
app:layout_constraintEnd_toEndOf="parent"
|
||||
app:layout_constraintStart_toStartOf="parent"
|
||||
app:layout_constraintTop_toBottomOf="@id/owmInputLayout" />
|
||||
<!-- <com.google.android.material.textview.MaterialTextView-->
|
||||
<!-- android:id="@+id/dressTitle"-->
|
||||
<!-- android:layout_width="wrap_content"-->
|
||||
<!-- android:layout_height="wrap_content"-->
|
||||
<!-- android:text="옷차림 보기"-->
|
||||
<!-- android:textSize="@dimen/normalText"-->
|
||||
<!-- app:layout_constraintEnd_toEndOf="parent"-->
|
||||
<!-- app:layout_constraintStart_toStartOf="parent"-->
|
||||
<!-- app:layout_constraintTop_toBottomOf="@id/owmInputLayout" />-->
|
||||
|
||||
<com.google.android.material.switchmaterial.SwitchMaterial
|
||||
android:id="@+id/dress"
|
||||
android:text="사용 여부"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
app:layout_constraintEnd_toEndOf="parent"
|
||||
app:layout_constraintStart_toStartOf="parent"
|
||||
app:layout_constraintTop_toBottomOf="@+id/dressTitle"
|
||||
app:selectionRequired="true"
|
||||
app:singleSelection="true"/>
|
||||
<!-- <com.google.android.material.switchmaterial.SwitchMaterial-->
|
||||
<!-- android:id="@+id/dress"-->
|
||||
<!-- android:text="사용 여부"-->
|
||||
<!-- android:layout_width="wrap_content"-->
|
||||
<!-- android:layout_height="wrap_content"-->
|
||||
<!-- app:layout_constraintEnd_toEndOf="parent"-->
|
||||
<!-- app:layout_constraintStart_toStartOf="parent"-->
|
||||
<!-- app:layout_constraintTop_toBottomOf="@+id/dressTitle"-->
|
||||
<!-- app:selectionRequired="true"-->
|
||||
<!-- app:singleSelection="true"/>-->
|
||||
|
||||
<com.google.android.material.textview.MaterialTextView
|
||||
android:id="@+id/weatherTitle"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:text="날씨 보기"
|
||||
android:textSize="@dimen/normalText"
|
||||
app:layout_constraintEnd_toEndOf="parent"
|
||||
app:layout_constraintStart_toStartOf="parent"
|
||||
app:layout_constraintTop_toBottomOf="@id/dress" />
|
||||
<!-- <com.google.android.material.textview.MaterialTextView-->
|
||||
<!-- android:id="@+id/weatherTitle"-->
|
||||
<!-- android:layout_width="wrap_content"-->
|
||||
<!-- android:layout_height="wrap_content"-->
|
||||
<!-- android:text="날씨 보기"-->
|
||||
<!-- android:textSize="@dimen/normalText"-->
|
||||
<!-- app:layout_constraintEnd_toEndOf="parent"-->
|
||||
<!-- app:layout_constraintStart_toStartOf="parent"-->
|
||||
<!-- app:layout_constraintTop_toBottomOf="@id/dress" />-->
|
||||
|
||||
<com.google.android.material.switchmaterial.SwitchMaterial
|
||||
android:id="@+id/weather"
|
||||
android:text="사용 여부"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
app:layout_constraintEnd_toEndOf="parent"
|
||||
app:layout_constraintStart_toStartOf="parent"
|
||||
app:layout_constraintTop_toBottomOf="@+id/weatherTitle"
|
||||
app:selectionRequired="true"
|
||||
app:singleSelection="true"/>
|
||||
<!-- <com.google.android.material.switchmaterial.SwitchMaterial-->
|
||||
<!-- android:id="@+id/weather"-->
|
||||
<!-- android:text="사용 여부"-->
|
||||
<!-- android:layout_width="wrap_content"-->
|
||||
<!-- android:layout_height="wrap_content"-->
|
||||
<!-- app:layout_constraintEnd_toEndOf="parent"-->
|
||||
<!-- app:layout_constraintStart_toStartOf="parent"-->
|
||||
<!-- app:layout_constraintTop_toBottomOf="@+id/weatherTitle"-->
|
||||
<!-- app:selectionRequired="true"-->
|
||||
<!-- app:singleSelection="true"/>-->
|
||||
|
||||
|
||||
</androidx.constraintlayout.widget.ConstraintLayout>
|
||||
@ -79,7 +79,7 @@
|
||||
<string name="light_theme">Light</string>
|
||||
<string name="list">List</string>
|
||||
<string name="list_with_icon">List with Icon</string>
|
||||
<string name="lunar_settings">Lunar Settings</string>
|
||||
<string name="lunar_settings">Bum\'s Settings</string>
|
||||
<string name="misc">Misc</string>
|
||||
<string name="misc_info_titles">
|
||||
Device Uptime\nSystem Active\nMemory Threshold\nBattery Temperature\nBattery Voltage
|
||||
|
||||
@ -1,7 +1,7 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<resources xmlns:tools="http://schemas.android.com/tools">
|
||||
<style name="Theme.LunarLauncher.Starting" parent="Theme.SplashScreen">
|
||||
<item name="windowSplashScreenBackground">@color/ic_launcher_primary</item>
|
||||
<item name="windowSplashScreenBackground">@color/ic_launcher_secondary</item>
|
||||
<item name="windowSplashScreenAnimatedIcon">@drawable/ic_launcher</item>
|
||||
<item name="windowSplashScreenAnimationDuration">1000</item>
|
||||
<item name="postSplashScreenTheme">@style/Theme.LunarLauncher</item>
|
||||
@ -37,8 +37,8 @@
|
||||
<item name="civ_border_color">#000000</item>
|
||||
</style>
|
||||
<style name="asdda" parent="Widget.Material3.Button.OutlinedButton">
|
||||
<!-- <item name="android:paddingLeft">@dimen/m3_btn_padding_left</item>-->
|
||||
<!-- <item name="android:paddingRight">@dimen/m3_btn_padding_right</item>-->
|
||||
<!-- <item name="android:paddingLeft">@dimen/m3_btn_padding_left</item>-->
|
||||
<!-- <item name="android:paddingRight">@dimen/m3_btn_padding_right</item>-->
|
||||
<item name="strokeColor">#00FFFFFF</item>
|
||||
<item name="strokeWidth">2dp</item>
|
||||
</style>
|
||||
@ -117,4 +117,15 @@
|
||||
</style>
|
||||
|
||||
|
||||
<style name="CommonBottom">
|
||||
<item name="android:scaleType">fitCenter</item>
|
||||
<item name="android:adjustViewBounds">true</item>
|
||||
<item name="android:visibility">visible</item>
|
||||
<item name="android:background">@android:color/transparent</item>
|
||||
<item name="android:tint">@color/white</item>
|
||||
<item name="android:foregroundTint">@color/white</item>
|
||||
<item name="android:layout_width">@dimen/main_top_height</item>
|
||||
<item name="android:layout_height">@dimen/main_top_height</item>
|
||||
</style>
|
||||
|
||||
</resources>
|
||||
@ -1,14 +1,15 @@
|
||||
<resources xmlns:tools="http://schemas.android.com/tools">
|
||||
<!-- Base application theme. -->
|
||||
<style name="Theme.LunarLauncher" parent="Theme.Material3.Light.NoActionBar">
|
||||
|
||||
<style name="Theme.LunarLauncher" parent="Theme.Material3.DynamicColors.DayNight.NoActionBar">
|
||||
<!-- Background -->
|
||||
<item name="android:windowShowWallpaper">true</item>
|
||||
<!-- System bars -->
|
||||
<item name="android:windowDrawsSystemBarBackgrounds">true</item>
|
||||
<item name="android:statusBarColor">@android:color/transparent</item>
|
||||
<item name="android:navigationBarColor">@color/navigation_bar</item>
|
||||
<item name="android:windowLightStatusBar">true</item>
|
||||
<item name="android:windowLightNavigationBar" tools:targetApi="27">true</item>
|
||||
<!-- <item name="android:windowDrawsSystemBarBackgrounds">true</item>-->
|
||||
<!-- <item name="android:statusBarColor">@android:color/transparent</item>-->
|
||||
<!-- <item name="android:navigationBarColor">@color/navigation_bar</item>-->
|
||||
<!-- <item name="android:windowLightStatusBar">false</item>-->
|
||||
<!-- <item name="android:windowLightNavigationBar" tools:targetApi="27">false</item>-->
|
||||
<item name="android:windowIsTranslucent">true</item>
|
||||
<item name="android:windowBackground">@android:color/transparent</item>
|
||||
<!-- Widgets -->
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user