mirror of
https://github.com/afollestad/nock-nock.git
synced 2025-08-10 09:58:44 +00:00
0.8.1
This commit is contained in:
parent
44d31dd5c3
commit
1d2b79d5a3
25 changed files with 47 additions and 204 deletions
Binary file not shown.
|
@ -31,14 +31,12 @@
|
||||||
android:name="com.afollestad.nocknock.ui.addsite.AddSiteActivity"
|
android:name="com.afollestad.nocknock.ui.addsite.AddSiteActivity"
|
||||||
android:label="@string/add_site"
|
android:label="@string/add_site"
|
||||||
android:launchMode="singleTop"
|
android:launchMode="singleTop"
|
||||||
android:theme="@style/AppTheme.Transparent"
|
|
||||||
android:windowSoftInputMode="stateHidden"/>
|
android:windowSoftInputMode="stateHidden"/>
|
||||||
|
|
||||||
<activity
|
<activity
|
||||||
android:name="com.afollestad.nocknock.ui.viewsite.ViewSiteActivity"
|
android:name="com.afollestad.nocknock.ui.viewsite.ViewSiteActivity"
|
||||||
android:label="@string/view_site"
|
android:label="@string/view_site"
|
||||||
android:launchMode="singleTop"
|
android:launchMode="singleTop"
|
||||||
android:theme="@style/AppTheme.Ink"
|
|
||||||
android:windowSoftInputMode="stateHidden"/>
|
android:windowSoftInputMode="stateHidden"/>
|
||||||
|
|
||||||
<service
|
<service
|
||||||
|
|
|
@ -22,10 +22,7 @@ import android.content.ActivityNotFoundException
|
||||||
import android.content.Intent
|
import android.content.Intent
|
||||||
import android.net.Uri
|
import android.net.Uri
|
||||||
import android.os.Bundle
|
import android.os.Bundle
|
||||||
import androidx.annotation.AttrRes
|
|
||||||
import androidx.annotation.ColorRes
|
|
||||||
import androidx.browser.customtabs.CustomTabsIntent
|
import androidx.browser.customtabs.CustomTabsIntent
|
||||||
import androidx.core.content.ContextCompat
|
|
||||||
import androidx.core.text.HtmlCompat.FROM_HTML_MODE_LEGACY
|
import androidx.core.text.HtmlCompat.FROM_HTML_MODE_LEGACY
|
||||||
import androidx.core.text.HtmlCompat.fromHtml
|
import androidx.core.text.HtmlCompat.fromHtml
|
||||||
import com.afollestad.materialdialogs.utils.MDUtil.resolveColor
|
import com.afollestad.materialdialogs.utils.MDUtil.resolveColor
|
||||||
|
@ -62,20 +59,6 @@ fun String.toHtml() = fromHtml(this, FROM_HTML_MODE_LEGACY)
|
||||||
|
|
||||||
fun String.toUri() = Uri.parse(this)!!
|
fun String.toUri() = Uri.parse(this)!!
|
||||||
|
|
||||||
fun Activity.setStatusBarColor(
|
|
||||||
@ColorRes res: Int? = null,
|
|
||||||
@AttrRes attr: Int? = null
|
|
||||||
) {
|
|
||||||
require(res != null || attr != null) { "Must specify at least one arg." }
|
|
||||||
if (res != null) {
|
|
||||||
val color = ContextCompat.getColor(this, res)
|
|
||||||
window.statusBarColor = color
|
|
||||||
} else if (attr != null) {
|
|
||||||
val color = resolveColor(this, attr = attr)
|
|
||||||
window.statusBarColor = color
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
fun Activity.viewUrl(url: String) {
|
fun Activity.viewUrl(url: String) {
|
||||||
val customTabsIntent = CustomTabsIntent.Builder()
|
val customTabsIntent = CustomTabsIntent.Builder()
|
||||||
.apply {
|
.apply {
|
||||||
|
|
|
@ -31,7 +31,7 @@ abstract class DarkModeSwitchActivity : AppCompatActivity() {
|
||||||
private val darkModePref by inject<Pref<Boolean>>(name = PREF_DARK_MODE)
|
private val darkModePref by inject<Pref<Boolean>>(name = PREF_DARK_MODE)
|
||||||
|
|
||||||
override fun onCreate(savedInstanceState: Bundle?) {
|
override fun onCreate(savedInstanceState: Bundle?) {
|
||||||
isDarkModeEnabled = darkModePref.get()
|
isDarkModeEnabled = isDarkMode()
|
||||||
setTheme(themeRes())
|
setTheme(themeRes())
|
||||||
super.onCreate(savedInstanceState)
|
super.onCreate(savedInstanceState)
|
||||||
|
|
||||||
|
@ -44,7 +44,13 @@ abstract class DarkModeSwitchActivity : AppCompatActivity() {
|
||||||
.attachLifecycle(this)
|
.attachLifecycle(this)
|
||||||
}
|
}
|
||||||
|
|
||||||
private fun themeRes() = if (darkModePref.get()) {
|
protected fun isDarkMode() = darkModePref.get()
|
||||||
|
|
||||||
|
protected fun toggleDarkMode() = setDarkMode(!isDarkMode())
|
||||||
|
|
||||||
|
private fun setDarkMode(darkMode: Boolean) = darkModePref.set(darkMode)
|
||||||
|
|
||||||
|
private fun themeRes() = if (isDarkMode()) {
|
||||||
R.style.AppTheme_Dark
|
R.style.AppTheme_Dark
|
||||||
} else {
|
} else {
|
||||||
R.style.AppTheme
|
R.style.AppTheme
|
||||||
|
|
|
@ -18,12 +18,9 @@ package com.afollestad.nocknock.ui.addsite
|
||||||
import android.annotation.SuppressLint
|
import android.annotation.SuppressLint
|
||||||
import android.os.Bundle
|
import android.os.Bundle
|
||||||
import android.widget.ArrayAdapter
|
import android.widget.ArrayAdapter
|
||||||
import androidx.appcompat.app.AppCompatActivity
|
|
||||||
import com.afollestad.nocknock.R
|
import com.afollestad.nocknock.R
|
||||||
import com.afollestad.nocknock.data.model.ValidationMode
|
import com.afollestad.nocknock.data.model.ValidationMode
|
||||||
import com.afollestad.nocknock.setStatusBarColor
|
import com.afollestad.nocknock.ui.DarkModeSwitchActivity
|
||||||
import com.afollestad.nocknock.viewcomponents.ext.conceal
|
|
||||||
import com.afollestad.nocknock.viewcomponents.ext.onLayout
|
|
||||||
import com.afollestad.nocknock.viewcomponents.livedata.attachLiveData
|
import com.afollestad.nocknock.viewcomponents.livedata.attachLiveData
|
||||||
import com.afollestad.nocknock.viewcomponents.livedata.toViewError
|
import com.afollestad.nocknock.viewcomponents.livedata.toViewError
|
||||||
import com.afollestad.nocknock.viewcomponents.livedata.toViewText
|
import com.afollestad.nocknock.viewcomponents.livedata.toViewText
|
||||||
|
@ -36,35 +33,21 @@ import kotlinx.android.synthetic.main.activity_addsite.loadingProgress
|
||||||
import kotlinx.android.synthetic.main.activity_addsite.responseTimeoutInput
|
import kotlinx.android.synthetic.main.activity_addsite.responseTimeoutInput
|
||||||
import kotlinx.android.synthetic.main.activity_addsite.responseValidationMode
|
import kotlinx.android.synthetic.main.activity_addsite.responseValidationMode
|
||||||
import kotlinx.android.synthetic.main.activity_addsite.responseValidationSearchTerm
|
import kotlinx.android.synthetic.main.activity_addsite.responseValidationSearchTerm
|
||||||
import kotlinx.android.synthetic.main.activity_addsite.rootView
|
|
||||||
import kotlinx.android.synthetic.main.activity_addsite.scriptInputLayout
|
import kotlinx.android.synthetic.main.activity_addsite.scriptInputLayout
|
||||||
import kotlinx.android.synthetic.main.activity_addsite.textUrlWarning
|
import kotlinx.android.synthetic.main.activity_addsite.textUrlWarning
|
||||||
import kotlinx.android.synthetic.main.activity_addsite.validationModeDescription
|
import kotlinx.android.synthetic.main.activity_addsite.validationModeDescription
|
||||||
import kotlinx.android.synthetic.main.include_app_bar.toolbar
|
import kotlinx.android.synthetic.main.include_app_bar.toolbar
|
||||||
import org.koin.androidx.viewmodel.ext.android.viewModel
|
import org.koin.androidx.viewmodel.ext.android.viewModel
|
||||||
import kotlin.math.max
|
|
||||||
import kotlin.properties.Delegates.notNull
|
|
||||||
import kotlinx.android.synthetic.main.include_app_bar.toolbar_title as toolbarTitle
|
import kotlinx.android.synthetic.main.include_app_bar.toolbar_title as toolbarTitle
|
||||||
|
|
||||||
const val KEY_FAB_X = "fab_x"
|
|
||||||
const val KEY_FAB_Y = "fab_y"
|
|
||||||
const val KEY_FAB_SIZE = "fab_size"
|
|
||||||
|
|
||||||
/** @author Aidan Follestad (@afollestad) */
|
/** @author Aidan Follestad (@afollestad) */
|
||||||
class AddSiteActivity : AppCompatActivity() {
|
class AddSiteActivity : DarkModeSwitchActivity() {
|
||||||
|
|
||||||
var revealCx by notNull<Int>()
|
|
||||||
var revealCy by notNull<Int>()
|
|
||||||
var revealRadius by notNull<Float>()
|
|
||||||
|
|
||||||
internal var isClosing = false
|
|
||||||
|
|
||||||
private val viewModel by viewModel<AddSiteViewModel>()
|
private val viewModel by viewModel<AddSiteViewModel>()
|
||||||
|
|
||||||
@SuppressLint("SetTextI18n")
|
@SuppressLint("SetTextI18n")
|
||||||
override fun onCreate(savedInstanceState: Bundle?) {
|
override fun onCreate(savedInstanceState: Bundle?) {
|
||||||
super.onCreate(savedInstanceState)
|
super.onCreate(savedInstanceState)
|
||||||
setStatusBarColor(res = R.color.inkColorDark)
|
|
||||||
setContentView(R.layout.activity_addsite)
|
setContentView(R.layout.activity_addsite)
|
||||||
setupUi(savedInstanceState)
|
setupUi(savedInstanceState)
|
||||||
|
|
||||||
|
@ -139,24 +122,7 @@ class AddSiteActivity : AppCompatActivity() {
|
||||||
toolbarTitle.setText(R.string.add_site)
|
toolbarTitle.setText(R.string.add_site)
|
||||||
toolbar.run {
|
toolbar.run {
|
||||||
setNavigationIcon(R.drawable.ic_action_close)
|
setNavigationIcon(R.drawable.ic_action_close)
|
||||||
setNavigationOnClickListener { closeActivityWithReveal() }
|
setNavigationOnClickListener { finish() }
|
||||||
}
|
|
||||||
|
|
||||||
if (savedInstanceState == null) {
|
|
||||||
rootView.conceal()
|
|
||||||
rootView.onLayout {
|
|
||||||
val fabSize = intent.getIntExtra(KEY_FAB_SIZE, 0)
|
|
||||||
val fabX = intent.getFloatExtra(KEY_FAB_X, 0f)
|
|
||||||
.toInt()
|
|
||||||
val fabY = intent.getFloatExtra(KEY_FAB_Y, 0f)
|
|
||||||
.toInt()
|
|
||||||
|
|
||||||
revealCx = fabX + fabSize / 2
|
|
||||||
revealCy = (fabY + toolbar.measuredHeight + fabSize / 2)
|
|
||||||
revealRadius = max(revealCx, revealCy).toFloat()
|
|
||||||
|
|
||||||
circularRevealActivity()
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
val validationOptionsAdapter = ArrayAdapter(
|
val validationOptionsAdapter = ArrayAdapter(
|
||||||
|
@ -167,6 +133,4 @@ class AddSiteActivity : AppCompatActivity() {
|
||||||
validationOptionsAdapter.setDropDownViewResource(R.layout.list_item_spinner_dropdown)
|
validationOptionsAdapter.setDropDownViewResource(R.layout.list_item_spinner_dropdown)
|
||||||
responseValidationMode.adapter = validationOptionsAdapter
|
responseValidationMode.adapter = validationOptionsAdapter
|
||||||
}
|
}
|
||||||
|
|
||||||
override fun onBackPressed() = closeActivityWithReveal()
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,58 +0,0 @@
|
||||||
/**
|
|
||||||
* Designed and developed by Aidan Follestad (@afollestad)
|
|
||||||
*
|
|
||||||
* 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.afollestad.nocknock.ui.addsite
|
|
||||||
|
|
||||||
import android.view.ViewAnimationUtils.createCircularReveal
|
|
||||||
import android.view.animation.AccelerateInterpolator
|
|
||||||
import android.view.animation.DecelerateInterpolator
|
|
||||||
import com.afollestad.nocknock.R
|
|
||||||
import com.afollestad.nocknock.setStatusBarColor
|
|
||||||
import com.afollestad.nocknock.utilities.ext.onEnd
|
|
||||||
import com.afollestad.nocknock.viewcomponents.ext.conceal
|
|
||||||
import com.afollestad.nocknock.viewcomponents.ext.show
|
|
||||||
import kotlinx.android.synthetic.main.activity_addsite.rootView
|
|
||||||
|
|
||||||
const val REVEAL_DURATION = 300L
|
|
||||||
|
|
||||||
internal fun AddSiteActivity.circularRevealActivity() {
|
|
||||||
val circularReveal =
|
|
||||||
createCircularReveal(rootView, revealCx, revealCy, 0f, revealRadius)
|
|
||||||
.apply {
|
|
||||||
duration = REVEAL_DURATION
|
|
||||||
interpolator = DecelerateInterpolator()
|
|
||||||
}
|
|
||||||
rootView.show()
|
|
||||||
circularReveal.start()
|
|
||||||
}
|
|
||||||
|
|
||||||
internal fun AddSiteActivity.closeActivityWithReveal() {
|
|
||||||
if (isClosing) {
|
|
||||||
return
|
|
||||||
}
|
|
||||||
setStatusBarColor(attr = R.attr.colorPrimary)
|
|
||||||
isClosing = true
|
|
||||||
createCircularReveal(rootView, revealCx, revealCy, revealRadius, 0f)
|
|
||||||
.apply {
|
|
||||||
duration = REVEAL_DURATION
|
|
||||||
interpolator = AccelerateInterpolator()
|
|
||||||
onEnd {
|
|
||||||
rootView.conceal()
|
|
||||||
finish()
|
|
||||||
overridePendingTransition(0, 0)
|
|
||||||
}
|
|
||||||
start()
|
|
||||||
}
|
|
||||||
}
|
|
|
@ -29,7 +29,6 @@ import com.afollestad.nocknock.adapter.SiteAdapter
|
||||||
import com.afollestad.nocknock.broadcasts.StatusUpdateIntentReceiver
|
import com.afollestad.nocknock.broadcasts.StatusUpdateIntentReceiver
|
||||||
import com.afollestad.nocknock.data.model.Site
|
import com.afollestad.nocknock.data.model.Site
|
||||||
import com.afollestad.nocknock.dialogs.AboutDialog
|
import com.afollestad.nocknock.dialogs.AboutDialog
|
||||||
import com.afollestad.nocknock.koin.PREF_DARK_MODE
|
|
||||||
import com.afollestad.nocknock.notifications.NockNotificationManager
|
import com.afollestad.nocknock.notifications.NockNotificationManager
|
||||||
import com.afollestad.nocknock.ui.DarkModeSwitchActivity
|
import com.afollestad.nocknock.ui.DarkModeSwitchActivity
|
||||||
import com.afollestad.nocknock.utilities.providers.IntentProvider
|
import com.afollestad.nocknock.utilities.providers.IntentProvider
|
||||||
|
@ -37,7 +36,6 @@ import com.afollestad.nocknock.utilities.ui.toast
|
||||||
import com.afollestad.nocknock.viewUrl
|
import com.afollestad.nocknock.viewUrl
|
||||||
import com.afollestad.nocknock.viewUrlWithApp
|
import com.afollestad.nocknock.viewUrlWithApp
|
||||||
import com.afollestad.nocknock.viewcomponents.ext.showOrHide
|
import com.afollestad.nocknock.viewcomponents.ext.showOrHide
|
||||||
import com.afollestad.rxkprefs.Pref
|
|
||||||
import kotlinx.android.synthetic.main.activity_main.fab
|
import kotlinx.android.synthetic.main.activity_main.fab
|
||||||
import kotlinx.android.synthetic.main.activity_main.list
|
import kotlinx.android.synthetic.main.activity_main.list
|
||||||
import kotlinx.android.synthetic.main.activity_main.loadingProgress
|
import kotlinx.android.synthetic.main.activity_main.loadingProgress
|
||||||
|
@ -51,7 +49,6 @@ class MainActivity : DarkModeSwitchActivity() {
|
||||||
|
|
||||||
private val notificationManager by inject<NockNotificationManager>()
|
private val notificationManager by inject<NockNotificationManager>()
|
||||||
private val intentProvider by inject<IntentProvider>()
|
private val intentProvider by inject<IntentProvider>()
|
||||||
private val darkModePref by inject<Pref<Boolean>>(name = PREF_DARK_MODE)
|
|
||||||
|
|
||||||
internal val viewModel by viewModel<MainViewModel>()
|
internal val viewModel by viewModel<MainViewModel>()
|
||||||
|
|
||||||
|
@ -89,11 +86,11 @@ class MainActivity : DarkModeSwitchActivity() {
|
||||||
toolbar.run {
|
toolbar.run {
|
||||||
inflateMenu(R.menu.menu_main)
|
inflateMenu(R.menu.menu_main)
|
||||||
menu.findItem(R.id.dark_mode)
|
menu.findItem(R.id.dark_mode)
|
||||||
.isChecked = darkModePref.get()
|
.isChecked = isDarkMode()
|
||||||
setOnMenuItemClickListener { item ->
|
setOnMenuItemClickListener { item ->
|
||||||
when (item.itemId) {
|
when (item.itemId) {
|
||||||
R.id.about -> AboutDialog.show(this@MainActivity)
|
R.id.about -> AboutDialog.show(this@MainActivity)
|
||||||
R.id.dark_mode -> darkModePref.set(!darkModePref.get())
|
R.id.dark_mode -> toggleDarkMode()
|
||||||
R.id.support_me -> supportMe()
|
R.id.support_me -> supportMe()
|
||||||
}
|
}
|
||||||
return@setOnMenuItemClickListener true
|
return@setOnMenuItemClickListener true
|
||||||
|
|
|
@ -21,30 +21,15 @@ import com.afollestad.nocknock.R
|
||||||
import com.afollestad.nocknock.data.model.Site
|
import com.afollestad.nocknock.data.model.Site
|
||||||
import com.afollestad.nocknock.toHtml
|
import com.afollestad.nocknock.toHtml
|
||||||
import com.afollestad.nocknock.ui.addsite.AddSiteActivity
|
import com.afollestad.nocknock.ui.addsite.AddSiteActivity
|
||||||
import com.afollestad.nocknock.ui.addsite.KEY_FAB_SIZE
|
|
||||||
import com.afollestad.nocknock.ui.addsite.KEY_FAB_X
|
|
||||||
import com.afollestad.nocknock.ui.addsite.KEY_FAB_Y
|
|
||||||
import com.afollestad.nocknock.ui.viewsite.KEY_SITE
|
import com.afollestad.nocknock.ui.viewsite.KEY_SITE
|
||||||
import com.afollestad.nocknock.ui.viewsite.ViewSiteActivity
|
import com.afollestad.nocknock.ui.viewsite.ViewSiteActivity
|
||||||
import com.afollestad.nocknock.utilities.providers.RealIntentProvider.Companion.KEY_VIEW_NOTIFICATION_MODEL
|
import com.afollestad.nocknock.utilities.providers.RealIntentProvider.Companion.KEY_VIEW_NOTIFICATION_MODEL
|
||||||
import kotlinx.android.synthetic.main.activity_main.fab
|
|
||||||
|
|
||||||
internal const val VIEW_SITE_RQ = 6923
|
internal const val VIEW_SITE_RQ = 6923
|
||||||
internal const val ADD_SITE_RQ = 6969
|
internal const val ADD_SITE_RQ = 6969
|
||||||
|
|
||||||
internal fun MainActivity.addSite() {
|
internal fun MainActivity.addSite() {
|
||||||
startActivityForResult(intentToAdd(fab.x, fab.y, fab.measuredWidth), ADD_SITE_RQ)
|
startActivityForResult(Intent(this, AddSiteActivity::class.java), ADD_SITE_RQ)
|
||||||
}
|
|
||||||
|
|
||||||
private fun MainActivity.intentToAdd(
|
|
||||||
x: Float,
|
|
||||||
y: Float,
|
|
||||||
size: Int
|
|
||||||
) = Intent(this, AddSiteActivity::class.java).apply {
|
|
||||||
putExtra(KEY_FAB_X, x)
|
|
||||||
putExtra(KEY_FAB_Y, y)
|
|
||||||
putExtra(KEY_FAB_SIZE, size)
|
|
||||||
addFlags(Intent.FLAG_ACTIVITY_NO_ANIMATION)
|
|
||||||
}
|
}
|
||||||
|
|
||||||
internal fun MainActivity.viewSite(model: Site) {
|
internal fun MainActivity.viewSite(model: Site) {
|
||||||
|
|
|
@ -19,13 +19,12 @@ import android.annotation.SuppressLint
|
||||||
import android.content.Intent
|
import android.content.Intent
|
||||||
import android.os.Bundle
|
import android.os.Bundle
|
||||||
import android.widget.ArrayAdapter
|
import android.widget.ArrayAdapter
|
||||||
import androidx.appcompat.app.AppCompatActivity
|
|
||||||
import androidx.lifecycle.Observer
|
import androidx.lifecycle.Observer
|
||||||
import com.afollestad.nocknock.R
|
import com.afollestad.nocknock.R
|
||||||
import com.afollestad.nocknock.broadcasts.StatusUpdateIntentReceiver
|
import com.afollestad.nocknock.broadcasts.StatusUpdateIntentReceiver
|
||||||
import com.afollestad.nocknock.data.model.Site
|
import com.afollestad.nocknock.data.model.Site
|
||||||
import com.afollestad.nocknock.data.model.ValidationMode
|
import com.afollestad.nocknock.data.model.ValidationMode
|
||||||
import com.afollestad.nocknock.setStatusBarColor
|
import com.afollestad.nocknock.ui.DarkModeSwitchActivity
|
||||||
import com.afollestad.nocknock.utilities.providers.IntentProvider
|
import com.afollestad.nocknock.utilities.providers.IntentProvider
|
||||||
import com.afollestad.nocknock.viewcomponents.ext.dimenFloat
|
import com.afollestad.nocknock.viewcomponents.ext.dimenFloat
|
||||||
import com.afollestad.nocknock.viewcomponents.ext.onScroll
|
import com.afollestad.nocknock.viewcomponents.ext.onScroll
|
||||||
|
@ -55,7 +54,7 @@ import org.koin.androidx.viewmodel.ext.android.viewModel
|
||||||
import kotlinx.android.synthetic.main.include_app_bar.toolbar_title as toolbarTitle
|
import kotlinx.android.synthetic.main.include_app_bar.toolbar_title as toolbarTitle
|
||||||
|
|
||||||
/** @author Aidan Follestad (@afollestad) */
|
/** @author Aidan Follestad (@afollestad) */
|
||||||
class ViewSiteActivity : AppCompatActivity() {
|
class ViewSiteActivity : DarkModeSwitchActivity() {
|
||||||
|
|
||||||
internal val viewModel by viewModel<ViewSiteViewModel>()
|
internal val viewModel by viewModel<ViewSiteViewModel>()
|
||||||
|
|
||||||
|
@ -69,7 +68,6 @@ class ViewSiteActivity : AppCompatActivity() {
|
||||||
@SuppressLint("SetTextI18n")
|
@SuppressLint("SetTextI18n")
|
||||||
override fun onCreate(savedInstanceState: Bundle?) {
|
override fun onCreate(savedInstanceState: Bundle?) {
|
||||||
super.onCreate(savedInstanceState)
|
super.onCreate(savedInstanceState)
|
||||||
setStatusBarColor(res = R.color.inkColorDark)
|
|
||||||
setContentView(R.layout.activity_viewsite)
|
setContentView(R.layout.activity_viewsite)
|
||||||
setupUi()
|
setupUi()
|
||||||
|
|
||||||
|
@ -159,7 +157,7 @@ class ViewSiteActivity : AppCompatActivity() {
|
||||||
}
|
}
|
||||||
|
|
||||||
private fun setupUi() {
|
private fun setupUi() {
|
||||||
toolbarTitle.setText(R.string.add_site)
|
toolbarTitle.setText(R.string.view_site)
|
||||||
toolbar.run {
|
toolbar.run {
|
||||||
setNavigationIcon(R.drawable.ic_action_close)
|
setNavigationIcon(R.drawable.ic_action_close)
|
||||||
setNavigationOnClickListener { finish() }
|
setNavigationOnClickListener { finish() }
|
||||||
|
|
|
@ -4,6 +4,6 @@
|
||||||
android:viewportHeight="24.0"
|
android:viewportHeight="24.0"
|
||||||
android:viewportWidth="24.0">
|
android:viewportWidth="24.0">
|
||||||
<path
|
<path
|
||||||
android:fillColor="#fff"
|
android:fillColor="?iconColor"
|
||||||
android:pathData="M19,6.41L17.59,5 12,10.59 6.41,5 5,6.41 10.59,12 5,17.59 6.41,19 12,13.41 17.59,19 19,17.59 13.41,12z"/>
|
android:pathData="M19,6.41L17.59,5 12,10.59 6.41,5 5,6.41 10.59,12 5,17.59 6.41,19 12,13.41 17.59,19 19,17.59 13.41,12z"/>
|
||||||
</vector>
|
</vector>
|
||||||
|
|
|
@ -4,6 +4,6 @@
|
||||||
android:viewportHeight="24.0"
|
android:viewportHeight="24.0"
|
||||||
android:viewportWidth="24.0">
|
android:viewportWidth="24.0">
|
||||||
<path
|
<path
|
||||||
android:fillColor="#fff"
|
android:fillColor="?iconColor"
|
||||||
android:pathData="M6,19c0,1.1 0.9,2 2,2h8c1.1,0 2,-0.9 2,-2V7H6v12zM19,4h-3.5l-1,-1h-5l-1,1H5v2h14V4z"/>
|
android:pathData="M6,19c0,1.1 0.9,2 2,2h8c1.1,0 2,-0.9 2,-2V7H6v12zM19,4h-3.5l-1,-1h-5l-1,1H5v2h14V4z"/>
|
||||||
</vector>
|
</vector>
|
||||||
|
|
|
@ -4,6 +4,6 @@
|
||||||
android:viewportHeight="24.0"
|
android:viewportHeight="24.0"
|
||||||
android:viewportWidth="24.0">
|
android:viewportWidth="24.0">
|
||||||
<path
|
<path
|
||||||
android:fillColor="#fff"
|
android:fillColor="?iconColor"
|
||||||
android:pathData="M17.65,6.35C16.2,4.9 14.21,4 12,4c-4.42,0 -7.99,3.58 -7.99,8s3.57,8 7.99,8c3.73,0 6.84,-2.55 7.73,-6h-2.08c-0.82,2.33 -3.04,4 -5.65,4 -3.31,0 -6,-2.69 -6,-6s2.69,-6 6,-6c1.66,0 3.14,0.69 4.22,1.78L13,11h7V4l-2.35,2.35z"/>
|
android:pathData="M17.65,6.35C16.2,4.9 14.21,4 12,4c-4.42,0 -7.99,3.58 -7.99,8s3.57,8 7.99,8c3.73,0 6.84,-2.55 7.73,-6h-2.08c-0.82,2.33 -3.04,4 -5.65,4 -3.31,0 -6,-2.69 -6,-6s2.69,-6 6,-6c1.66,0 3.14,0.69 4.22,1.78L13,11h7V4l-2.35,2.35z"/>
|
||||||
</vector>
|
</vector>
|
||||||
|
|
|
@ -10,7 +10,6 @@
|
||||||
android:id="@+id/rootView"
|
android:id="@+id/rootView"
|
||||||
android:layout_width="match_parent"
|
android:layout_width="match_parent"
|
||||||
android:layout_height="match_parent"
|
android:layout_height="match_parent"
|
||||||
android:background="?colorPrimary"
|
|
||||||
android:orientation="vertical"
|
android:orientation="vertical"
|
||||||
>
|
>
|
||||||
|
|
||||||
|
@ -45,7 +44,6 @@
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:hint="@string/site_name"
|
android:hint="@string/site_name"
|
||||||
android:inputType="textPersonName|textCapWords|textAutoCorrect"
|
android:inputType="textPersonName|textCapWords|textAutoCorrect"
|
||||||
android:textColor="#FFFFFF"
|
|
||||||
style="@style/NockText.Body"
|
style="@style/NockText.Body"
|
||||||
/>
|
/>
|
||||||
|
|
||||||
|
@ -66,7 +64,6 @@
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:hint="@string/site_url"
|
android:hint="@string/site_url"
|
||||||
android:inputType="textUri"
|
android:inputType="textUri"
|
||||||
android:textColor="#FFFFFF"
|
|
||||||
style="@style/NockText.Body"
|
style="@style/NockText.Body"
|
||||||
/>
|
/>
|
||||||
|
|
||||||
|
@ -108,9 +105,8 @@
|
||||||
android:hint="@string/response_timeout_default"
|
android:hint="@string/response_timeout_default"
|
||||||
android:inputType="number"
|
android:inputType="number"
|
||||||
android:maxLength="8"
|
android:maxLength="8"
|
||||||
android:textColor="#FFFFFF"
|
|
||||||
tools:ignore="Autofill,HardcodedText,LabelFor"
|
tools:ignore="Autofill,HardcodedText,LabelFor"
|
||||||
style="@style/NockText.Body.Light"
|
style="@style/NockText.Body"
|
||||||
/>
|
/>
|
||||||
|
|
||||||
<TextView
|
<TextView
|
||||||
|
@ -139,7 +135,7 @@
|
||||||
android:hint="@string/search_term"
|
android:hint="@string/search_term"
|
||||||
android:visibility="gone"
|
android:visibility="gone"
|
||||||
tools:ignore="Autofill,TextFields"
|
tools:ignore="Autofill,TextFields"
|
||||||
style="@style/NockText.Body.Light"
|
style="@style/NockText.Body"
|
||||||
/>
|
/>
|
||||||
|
|
||||||
<com.afollestad.nocknock.viewcomponents.js.JavaScriptInputLayout
|
<com.afollestad.nocknock.viewcomponents.js.JavaScriptInputLayout
|
||||||
|
@ -148,7 +144,7 @@
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:layout_marginBottom="@dimen/content_inset"
|
android:layout_marginBottom="@dimen/content_inset"
|
||||||
android:layout_marginTop="@dimen/content_inset_half"
|
android:layout_marginTop="@dimen/content_inset_half"
|
||||||
android:background="@color/inkColorDark"
|
android:background="@color/lighterGray"
|
||||||
/>
|
/>
|
||||||
|
|
||||||
<TextView
|
<TextView
|
||||||
|
|
|
@ -29,7 +29,7 @@
|
||||||
android:paddingBottom="@dimen/content_inset"
|
android:paddingBottom="@dimen/content_inset"
|
||||||
android:paddingLeft="@dimen/content_inset"
|
android:paddingLeft="@dimen/content_inset"
|
||||||
android:paddingRight="@dimen/content_inset"
|
android:paddingRight="@dimen/content_inset"
|
||||||
android:paddingTop="@dimen/content_inset_half"
|
android:paddingTop="@dimen/content_inset"
|
||||||
>
|
>
|
||||||
|
|
||||||
<LinearLayout
|
<LinearLayout
|
||||||
|
@ -62,7 +62,6 @@
|
||||||
android:hint="@string/site_name"
|
android:hint="@string/site_name"
|
||||||
android:inputType="textPersonName|textCapWords|textAutoCorrect"
|
android:inputType="textPersonName|textCapWords|textAutoCorrect"
|
||||||
android:singleLine="true"
|
android:singleLine="true"
|
||||||
android:textColor="#FFFFFF"
|
|
||||||
android:transitionName="site_name"
|
android:transitionName="site_name"
|
||||||
tools:ignore="Autofill,UnusedAttribute"
|
tools:ignore="Autofill,UnusedAttribute"
|
||||||
style="@style/NockText.Body"
|
style="@style/NockText.Body"
|
||||||
|
@ -75,7 +74,6 @@
|
||||||
android:hint="@string/site_url"
|
android:hint="@string/site_url"
|
||||||
android:inputType="textUri"
|
android:inputType="textUri"
|
||||||
android:singleLine="true"
|
android:singleLine="true"
|
||||||
android:textColor="#FFFFFF"
|
|
||||||
android:transitionName="site_url"
|
android:transitionName="site_url"
|
||||||
tools:ignore="Autofill,UnusedAttribute"
|
tools:ignore="Autofill,UnusedAttribute"
|
||||||
style="@style/NockText.Body"
|
style="@style/NockText.Body"
|
||||||
|
@ -128,16 +126,15 @@
|
||||||
android:hint="@string/response_timeout_default"
|
android:hint="@string/response_timeout_default"
|
||||||
android:inputType="number"
|
android:inputType="number"
|
||||||
android:maxLength="8"
|
android:maxLength="8"
|
||||||
android:textColor="#FFFFFF"
|
|
||||||
tools:ignore="Autofill,HardcodedText,LabelFor"
|
tools:ignore="Autofill,HardcodedText,LabelFor"
|
||||||
style="@style/NockText.Body.Light"
|
style="@style/NockText.Body"
|
||||||
/>
|
/>
|
||||||
|
|
||||||
<View
|
<View
|
||||||
android:layout_width="match_parent"
|
android:layout_width="match_parent"
|
||||||
android:layout_height="1dp"
|
android:layout_height="1dp"
|
||||||
android:layout_marginTop="@dimen/content_inset_less"
|
android:layout_marginTop="@dimen/content_inset_less"
|
||||||
android:background="@color/dividerColorDark"
|
android:background="?dividerColor"
|
||||||
/>
|
/>
|
||||||
|
|
||||||
<TextView
|
<TextView
|
||||||
|
@ -164,10 +161,9 @@
|
||||||
android:layout_marginRight="-4dp"
|
android:layout_marginRight="-4dp"
|
||||||
android:layout_marginTop="-4dp"
|
android:layout_marginTop="-4dp"
|
||||||
android:hint="@string/search_term"
|
android:hint="@string/search_term"
|
||||||
android:textColor="#FFFFFF"
|
|
||||||
android:visibility="gone"
|
android:visibility="gone"
|
||||||
tools:ignore="Autofill,TextFields"
|
tools:ignore="Autofill,TextFields"
|
||||||
style="@style/NockText.Body.Light"
|
style="@style/NockText.Body"
|
||||||
/>
|
/>
|
||||||
|
|
||||||
<com.afollestad.nocknock.viewcomponents.js.JavaScriptInputLayout
|
<com.afollestad.nocknock.viewcomponents.js.JavaScriptInputLayout
|
||||||
|
@ -176,7 +172,7 @@
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:layout_marginBottom="@dimen/content_inset"
|
android:layout_marginBottom="@dimen/content_inset"
|
||||||
android:layout_marginTop="@dimen/content_inset_half"
|
android:layout_marginTop="@dimen/content_inset_half"
|
||||||
android:background="@color/inkColorDark"
|
android:background="@color/lighterGray"
|
||||||
/>
|
/>
|
||||||
|
|
||||||
<TextView
|
<TextView
|
||||||
|
@ -238,7 +234,7 @@
|
||||||
android:id="@+id/disableChecksButton"
|
android:id="@+id/disableChecksButton"
|
||||||
android:layout_width="match_parent"
|
android:layout_width="match_parent"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:layout_marginTop="@dimen/content_inset_half"
|
android:layout_marginTop="@dimen/content_inset_half_quarter"
|
||||||
android:text="@string/disable_automatic_checks"
|
android:text="@string/disable_automatic_checks"
|
||||||
style="@style/PrimaryDarkButton"
|
style="@style/PrimaryDarkButton"
|
||||||
/>
|
/>
|
||||||
|
|
|
@ -4,5 +4,5 @@
|
||||||
android:layout_width="match_parent"
|
android:layout_width="match_parent"
|
||||||
android:layout_height="1dp"
|
android:layout_height="1dp"
|
||||||
android:layout_marginTop="@dimen/content_inset"
|
android:layout_marginTop="@dimen/content_inset"
|
||||||
android:background="@color/dividerColorDark"
|
android:background="?dividerColor"
|
||||||
/>
|
/>
|
|
@ -7,8 +7,7 @@
|
||||||
<color name="colorPrimary_darkTheme">#212121</color>
|
<color name="colorPrimary_darkTheme">#212121</color>
|
||||||
<color name="colorPrimaryDark_darkTheme">#252525</color>
|
<color name="colorPrimaryDark_darkTheme">#252525</color>
|
||||||
|
|
||||||
<color name="inkColor">#455A64</color>
|
<color name="lighterGray">#303030</color>
|
||||||
<color name="inkColorDark">#37474F</color>
|
|
||||||
<color name="colorAccent">#FF6E40</color>
|
<color name="colorAccent">#FF6E40</color>
|
||||||
|
|
||||||
</resources>
|
</resources>
|
||||||
|
|
|
@ -4,26 +4,6 @@
|
||||||
|
|
||||||
<style name="AppTheme.Dark" parent="AppThemeParent.Dark"/>
|
<style name="AppTheme.Dark" parent="AppThemeParent.Dark"/>
|
||||||
|
|
||||||
<style name="AppTheme.Ink" parent="AppThemeParent.Ink">
|
|
||||||
<item name="colorPrimary">@color/inkColor</item>
|
|
||||||
<item name="colorPrimaryDark">@color/inkColorDark</item>
|
|
||||||
<item name="colorAccent">@color/colorAccent</item>
|
|
||||||
<item name="colorButtonNormal">@color/inkColor</item>
|
|
||||||
|
|
||||||
<item name="android:listDivider">@drawable/divider</item>
|
|
||||||
|
|
||||||
<item name="md_corner_radius">16dp</item>
|
|
||||||
<item name="md_font_title">@font/lato_black</item>
|
|
||||||
<item name="md_font_body">@font/lato</item>
|
|
||||||
<item name="md_font_button">@font/lato_bold</item>
|
|
||||||
</style>
|
|
||||||
|
|
||||||
<style name="AppTheme.Transparent" parent="AppTheme.Ink">
|
|
||||||
<item name="android:windowIsTranslucent">true</item>
|
|
||||||
<item name="android:statusBarColor">@android:color/transparent</item>
|
|
||||||
<item name="android:windowBackground">@android:color/transparent</item>
|
|
||||||
</style>
|
|
||||||
|
|
||||||
<style name="AccentButton" parent="Widget.MaterialComponents.Button">
|
<style name="AccentButton" parent="Widget.MaterialComponents.Button">
|
||||||
<item name="android:textColor">#fff</item>
|
<item name="android:textColor">#fff</item>
|
||||||
<item name="backgroundTint">@color/colorAccent</item>
|
<item name="backgroundTint">@color/colorAccent</item>
|
||||||
|
@ -32,7 +12,7 @@
|
||||||
|
|
||||||
<style name="PrimaryDarkButton" parent="Widget.MaterialComponents.Button">
|
<style name="PrimaryDarkButton" parent="Widget.MaterialComponents.Button">
|
||||||
<item name="android:textColor">#fff</item>
|
<item name="android:textColor">#fff</item>
|
||||||
<item name="backgroundTint">@color/inkColorDark</item>
|
<item name="backgroundTint">@color/lighterGray</item>
|
||||||
<item name="android:fontFamily">@font/lato</item>
|
<item name="android:fontFamily">@font/lato</item>
|
||||||
</style>
|
</style>
|
||||||
|
|
||||||
|
|
|
@ -4,12 +4,15 @@
|
||||||
<item name="colorPrimary">@color/colorPrimary_lightTheme</item>
|
<item name="colorPrimary">@color/colorPrimary_lightTheme</item>
|
||||||
<item name="colorPrimaryDark">@color/colorPrimaryDark_lightTheme</item>
|
<item name="colorPrimaryDark">@color/colorPrimaryDark_lightTheme</item>
|
||||||
<item name="colorAccent">@color/colorAccent</item>
|
<item name="colorAccent">@color/colorAccent</item>
|
||||||
<item name="colorButtonNormal">@color/inkColorDark</item>
|
<item name="colorButtonNormal">@color/colorAccent</item>
|
||||||
|
|
||||||
<item name="toolbarTitleColor">#000000</item>
|
<item name="toolbarTitleColor">#000000</item>
|
||||||
<item name="dividerColor">#1f000000</item>
|
<item name="dividerColor">#1f000000</item>
|
||||||
<item name="iconColor">#000000</item>
|
<item name="iconColor">#000000</item>
|
||||||
|
|
||||||
|
<item name="android:textColorPrimary">#212121</item>
|
||||||
|
<item name="android:textColorSecondary">#727272</item>
|
||||||
|
|
||||||
<item name="android:windowBackground">@color/colorPrimary_lightTheme</item>
|
<item name="android:windowBackground">@color/colorPrimary_lightTheme</item>
|
||||||
<item name="android:listDivider">@drawable/divider</item>
|
<item name="android:listDivider">@drawable/divider</item>
|
||||||
|
|
||||||
|
@ -25,12 +28,15 @@
|
||||||
<item name="colorPrimary">@color/colorPrimary_darkTheme</item>
|
<item name="colorPrimary">@color/colorPrimary_darkTheme</item>
|
||||||
<item name="colorPrimaryDark">@color/colorPrimaryDark_darkTheme</item>
|
<item name="colorPrimaryDark">@color/colorPrimaryDark_darkTheme</item>
|
||||||
<item name="colorAccent">@color/colorAccent</item>
|
<item name="colorAccent">@color/colorAccent</item>
|
||||||
<item name="colorButtonNormal">@color/inkColorDark</item>
|
<item name="colorButtonNormal">@color/colorAccent</item>
|
||||||
|
|
||||||
<item name="toolbarTitleColor">#ffffff</item>
|
<item name="toolbarTitleColor">#ffffff</item>
|
||||||
<item name="dividerColor">#1fffffff</item>
|
<item name="dividerColor">#1f000000</item>
|
||||||
<item name="iconColor">#FFFFFF</item>
|
<item name="iconColor">#FFFFFF</item>
|
||||||
|
|
||||||
|
<item name="android:textColorPrimary">#FFFFFF</item>
|
||||||
|
<item name="android:textColorSecondary">#F0F0F0</item>
|
||||||
|
|
||||||
<item name="android:windowBackground">@color/colorPrimary_darkTheme</item>
|
<item name="android:windowBackground">@color/colorPrimary_darkTheme</item>
|
||||||
<item name="android:listDivider">@drawable/divider</item>
|
<item name="android:listDivider">@drawable/divider</item>
|
||||||
|
|
||||||
|
@ -43,8 +49,4 @@
|
||||||
<item name="md_font_button">@font/lato_bold</item>
|
<item name="md_font_button">@font/lato_bold</item>
|
||||||
</style>
|
</style>
|
||||||
|
|
||||||
<style name="AppThemeParent.Ink" parent="AppThemeParent.Dark">
|
|
||||||
<item name="android:navigationBarColor">@color/inkColorDark</item>
|
|
||||||
</style>
|
|
||||||
|
|
||||||
</resources>
|
</resources>
|
||||||
|
|
|
@ -3,8 +3,8 @@ ext.versions = [
|
||||||
minSdk : 21,
|
minSdk : 21,
|
||||||
compileSdk : 28,
|
compileSdk : 28,
|
||||||
buildTools : '28.0.3',
|
buildTools : '28.0.3',
|
||||||
publishVersion : '0.8.0',
|
publishVersion : '0.8.1',
|
||||||
publishVersionCode : 28,
|
publishVersionCode : 30,
|
||||||
|
|
||||||
// Plugins
|
// Plugins
|
||||||
gradlePlugin : '3.2.1',
|
gradlePlugin : '3.2.1',
|
||||||
|
|
|
@ -4,6 +4,5 @@
|
||||||
android:layout_width="match_parent"
|
android:layout_width="match_parent"
|
||||||
android:layout_height="@dimen/button_height"
|
android:layout_height="@dimen/button_height"
|
||||||
android:gravity="center_vertical|start"
|
android:gravity="center_vertical|start"
|
||||||
android:textColor="#FFFFFF"
|
|
||||||
style="@style/NockText.Body"
|
style="@style/NockText.Body"
|
||||||
/>
|
/>
|
||||||
|
|
|
@ -6,6 +6,5 @@
|
||||||
android:gravity="center_vertical|start"
|
android:gravity="center_vertical|start"
|
||||||
android:paddingLeft="@dimen/content_inset"
|
android:paddingLeft="@dimen/content_inset"
|
||||||
android:paddingRight="@dimen/content_inset"
|
android:paddingRight="@dimen/content_inset"
|
||||||
android:textColor="#FFFFFF"
|
|
||||||
style="@style/NockText.Body"
|
style="@style/NockText.Body"
|
||||||
/>
|
/>
|
||||||
|
|
|
@ -34,9 +34,8 @@
|
||||||
android:hint="0"
|
android:hint="0"
|
||||||
android:inputType="number"
|
android:inputType="number"
|
||||||
android:maxLength="6"
|
android:maxLength="6"
|
||||||
android:textColor="#FFFFFF"
|
|
||||||
tools:ignore="Autofill,HardcodedText,LabelFor"
|
tools:ignore="Autofill,HardcodedText,LabelFor"
|
||||||
style="@style/NockText.Body.Light"
|
style="@style/NockText.Body"
|
||||||
/>
|
/>
|
||||||
|
|
||||||
<Spinner
|
<Spinner
|
||||||
|
|
|
@ -1,8 +1,6 @@
|
||||||
<?xml version="1.0" encoding="utf-8"?>
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
<resources>
|
<resources>
|
||||||
|
|
||||||
<color name="dividerColorDark">#37474F</color>
|
|
||||||
|
|
||||||
<color name="loading_indicator_frame_background">#40000000</color>
|
<color name="loading_indicator_frame_background">#40000000</color>
|
||||||
|
|
||||||
<color name="md_red">#E53935</color>
|
<color name="md_red">#E53935</color>
|
||||||
|
|
|
@ -5,6 +5,7 @@
|
||||||
|
|
||||||
<dimen name="default_elevation">4dp</dimen>
|
<dimen name="default_elevation">4dp</dimen>
|
||||||
|
|
||||||
|
<dimen name="content_inset_half_quarter">4dp</dimen>
|
||||||
<dimen name="content_inset_half">8dp</dimen>
|
<dimen name="content_inset_half">8dp</dimen>
|
||||||
<dimen name="content_inset_less">12dp</dimen>
|
<dimen name="content_inset_less">12dp</dimen>
|
||||||
<dimen name="content_inset">16dp</dimen>
|
<dimen name="content_inset">16dp</dimen>
|
||||||
|
|
|
@ -18,11 +18,12 @@
|
||||||
<style name="NockText.Body">
|
<style name="NockText.Body">
|
||||||
<item name="android:textSize">@dimen/body_font_size</item>
|
<item name="android:textSize">@dimen/body_font_size</item>
|
||||||
<item name="android:fontFamily">@font/lato</item>
|
<item name="android:fontFamily">@font/lato</item>
|
||||||
<item name="android:textColor">?android:textColorSecondary</item>
|
<item name="android:textColor">?android:textColorPrimary</item>
|
||||||
</style>
|
</style>
|
||||||
|
|
||||||
<style name="NockText.Body.Light" parent="NockText.Body">
|
<style name="NockText.Body.Light" parent="NockText.Body">
|
||||||
<item name="android:fontFamily">@font/lato_light</item>
|
<item name="android:fontFamily">@font/lato_light</item>
|
||||||
|
<item name="android:textColor">?android:textColorSecondary</item>
|
||||||
</style>
|
</style>
|
||||||
|
|
||||||
<style name="NockText.Caption">
|
<style name="NockText.Caption">
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue