mirror of
https://github.com/afollestad/nock-nock.git
synced 2025-04-19 19:15:23 +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:label="@string/add_site"
|
||||
android:launchMode="singleTop"
|
||||
android:theme="@style/AppTheme.Transparent"
|
||||
android:windowSoftInputMode="stateHidden"/>
|
||||
|
||||
<activity
|
||||
android:name="com.afollestad.nocknock.ui.viewsite.ViewSiteActivity"
|
||||
android:label="@string/view_site"
|
||||
android:launchMode="singleTop"
|
||||
android:theme="@style/AppTheme.Ink"
|
||||
android:windowSoftInputMode="stateHidden"/>
|
||||
|
||||
<service
|
||||
|
|
|
@ -22,10 +22,7 @@ import android.content.ActivityNotFoundException
|
|||
import android.content.Intent
|
||||
import android.net.Uri
|
||||
import android.os.Bundle
|
||||
import androidx.annotation.AttrRes
|
||||
import androidx.annotation.ColorRes
|
||||
import androidx.browser.customtabs.CustomTabsIntent
|
||||
import androidx.core.content.ContextCompat
|
||||
import androidx.core.text.HtmlCompat.FROM_HTML_MODE_LEGACY
|
||||
import androidx.core.text.HtmlCompat.fromHtml
|
||||
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 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) {
|
||||
val customTabsIntent = CustomTabsIntent.Builder()
|
||||
.apply {
|
||||
|
|
|
@ -31,7 +31,7 @@ abstract class DarkModeSwitchActivity : AppCompatActivity() {
|
|||
private val darkModePref by inject<Pref<Boolean>>(name = PREF_DARK_MODE)
|
||||
|
||||
override fun onCreate(savedInstanceState: Bundle?) {
|
||||
isDarkModeEnabled = darkModePref.get()
|
||||
isDarkModeEnabled = isDarkMode()
|
||||
setTheme(themeRes())
|
||||
super.onCreate(savedInstanceState)
|
||||
|
||||
|
@ -44,7 +44,13 @@ abstract class DarkModeSwitchActivity : AppCompatActivity() {
|
|||
.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
|
||||
} else {
|
||||
R.style.AppTheme
|
||||
|
|
|
@ -18,12 +18,9 @@ package com.afollestad.nocknock.ui.addsite
|
|||
import android.annotation.SuppressLint
|
||||
import android.os.Bundle
|
||||
import android.widget.ArrayAdapter
|
||||
import androidx.appcompat.app.AppCompatActivity
|
||||
import com.afollestad.nocknock.R
|
||||
import com.afollestad.nocknock.data.model.ValidationMode
|
||||
import com.afollestad.nocknock.setStatusBarColor
|
||||
import com.afollestad.nocknock.viewcomponents.ext.conceal
|
||||
import com.afollestad.nocknock.viewcomponents.ext.onLayout
|
||||
import com.afollestad.nocknock.ui.DarkModeSwitchActivity
|
||||
import com.afollestad.nocknock.viewcomponents.livedata.attachLiveData
|
||||
import com.afollestad.nocknock.viewcomponents.livedata.toViewError
|
||||
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.responseValidationMode
|
||||
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.textUrlWarning
|
||||
import kotlinx.android.synthetic.main.activity_addsite.validationModeDescription
|
||||
import kotlinx.android.synthetic.main.include_app_bar.toolbar
|
||||
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
|
||||
|
||||
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) */
|
||||
class AddSiteActivity : AppCompatActivity() {
|
||||
|
||||
var revealCx by notNull<Int>()
|
||||
var revealCy by notNull<Int>()
|
||||
var revealRadius by notNull<Float>()
|
||||
|
||||
internal var isClosing = false
|
||||
class AddSiteActivity : DarkModeSwitchActivity() {
|
||||
|
||||
private val viewModel by viewModel<AddSiteViewModel>()
|
||||
|
||||
@SuppressLint("SetTextI18n")
|
||||
override fun onCreate(savedInstanceState: Bundle?) {
|
||||
super.onCreate(savedInstanceState)
|
||||
setStatusBarColor(res = R.color.inkColorDark)
|
||||
setContentView(R.layout.activity_addsite)
|
||||
setupUi(savedInstanceState)
|
||||
|
||||
|
@ -139,24 +122,7 @@ class AddSiteActivity : AppCompatActivity() {
|
|||
toolbarTitle.setText(R.string.add_site)
|
||||
toolbar.run {
|
||||
setNavigationIcon(R.drawable.ic_action_close)
|
||||
setNavigationOnClickListener { closeActivityWithReveal() }
|
||||
}
|
||||
|
||||
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()
|
||||
}
|
||||
setNavigationOnClickListener { finish() }
|
||||
}
|
||||
|
||||
val validationOptionsAdapter = ArrayAdapter(
|
||||
|
@ -167,6 +133,4 @@ class AddSiteActivity : AppCompatActivity() {
|
|||
validationOptionsAdapter.setDropDownViewResource(R.layout.list_item_spinner_dropdown)
|
||||
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.data.model.Site
|
||||
import com.afollestad.nocknock.dialogs.AboutDialog
|
||||
import com.afollestad.nocknock.koin.PREF_DARK_MODE
|
||||
import com.afollestad.nocknock.notifications.NockNotificationManager
|
||||
import com.afollestad.nocknock.ui.DarkModeSwitchActivity
|
||||
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.viewUrlWithApp
|
||||
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.list
|
||||
import kotlinx.android.synthetic.main.activity_main.loadingProgress
|
||||
|
@ -51,7 +49,6 @@ class MainActivity : DarkModeSwitchActivity() {
|
|||
|
||||
private val notificationManager by inject<NockNotificationManager>()
|
||||
private val intentProvider by inject<IntentProvider>()
|
||||
private val darkModePref by inject<Pref<Boolean>>(name = PREF_DARK_MODE)
|
||||
|
||||
internal val viewModel by viewModel<MainViewModel>()
|
||||
|
||||
|
@ -89,11 +86,11 @@ class MainActivity : DarkModeSwitchActivity() {
|
|||
toolbar.run {
|
||||
inflateMenu(R.menu.menu_main)
|
||||
menu.findItem(R.id.dark_mode)
|
||||
.isChecked = darkModePref.get()
|
||||
.isChecked = isDarkMode()
|
||||
setOnMenuItemClickListener { item ->
|
||||
when (item.itemId) {
|
||||
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()
|
||||
}
|
||||
return@setOnMenuItemClickListener true
|
||||
|
|
|
@ -21,30 +21,15 @@ import com.afollestad.nocknock.R
|
|||
import com.afollestad.nocknock.data.model.Site
|
||||
import com.afollestad.nocknock.toHtml
|
||||
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.ViewSiteActivity
|
||||
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 ADD_SITE_RQ = 6969
|
||||
|
||||
internal fun MainActivity.addSite() {
|
||||
startActivityForResult(intentToAdd(fab.x, fab.y, fab.measuredWidth), 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)
|
||||
startActivityForResult(Intent(this, AddSiteActivity::class.java), ADD_SITE_RQ)
|
||||
}
|
||||
|
||||
internal fun MainActivity.viewSite(model: Site) {
|
||||
|
|
|
@ -19,13 +19,12 @@ import android.annotation.SuppressLint
|
|||
import android.content.Intent
|
||||
import android.os.Bundle
|
||||
import android.widget.ArrayAdapter
|
||||
import androidx.appcompat.app.AppCompatActivity
|
||||
import androidx.lifecycle.Observer
|
||||
import com.afollestad.nocknock.R
|
||||
import com.afollestad.nocknock.broadcasts.StatusUpdateIntentReceiver
|
||||
import com.afollestad.nocknock.data.model.Site
|
||||
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.viewcomponents.ext.dimenFloat
|
||||
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
|
||||
|
||||
/** @author Aidan Follestad (@afollestad) */
|
||||
class ViewSiteActivity : AppCompatActivity() {
|
||||
class ViewSiteActivity : DarkModeSwitchActivity() {
|
||||
|
||||
internal val viewModel by viewModel<ViewSiteViewModel>()
|
||||
|
||||
|
@ -69,7 +68,6 @@ class ViewSiteActivity : AppCompatActivity() {
|
|||
@SuppressLint("SetTextI18n")
|
||||
override fun onCreate(savedInstanceState: Bundle?) {
|
||||
super.onCreate(savedInstanceState)
|
||||
setStatusBarColor(res = R.color.inkColorDark)
|
||||
setContentView(R.layout.activity_viewsite)
|
||||
setupUi()
|
||||
|
||||
|
@ -159,7 +157,7 @@ class ViewSiteActivity : AppCompatActivity() {
|
|||
}
|
||||
|
||||
private fun setupUi() {
|
||||
toolbarTitle.setText(R.string.add_site)
|
||||
toolbarTitle.setText(R.string.view_site)
|
||||
toolbar.run {
|
||||
setNavigationIcon(R.drawable.ic_action_close)
|
||||
setNavigationOnClickListener { finish() }
|
||||
|
|
|
@ -4,6 +4,6 @@
|
|||
android:viewportHeight="24.0"
|
||||
android:viewportWidth="24.0">
|
||||
<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"/>
|
||||
</vector>
|
||||
|
|
|
@ -4,6 +4,6 @@
|
|||
android:viewportHeight="24.0"
|
||||
android:viewportWidth="24.0">
|
||||
<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"/>
|
||||
</vector>
|
||||
|
|
|
@ -4,6 +4,6 @@
|
|||
android:viewportHeight="24.0"
|
||||
android:viewportWidth="24.0">
|
||||
<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"/>
|
||||
</vector>
|
||||
|
|
|
@ -10,7 +10,6 @@
|
|||
android:id="@+id/rootView"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent"
|
||||
android:background="?colorPrimary"
|
||||
android:orientation="vertical"
|
||||
>
|
||||
|
||||
|
@ -45,7 +44,6 @@
|
|||
android:layout_height="wrap_content"
|
||||
android:hint="@string/site_name"
|
||||
android:inputType="textPersonName|textCapWords|textAutoCorrect"
|
||||
android:textColor="#FFFFFF"
|
||||
style="@style/NockText.Body"
|
||||
/>
|
||||
|
||||
|
@ -66,7 +64,6 @@
|
|||
android:layout_height="wrap_content"
|
||||
android:hint="@string/site_url"
|
||||
android:inputType="textUri"
|
||||
android:textColor="#FFFFFF"
|
||||
style="@style/NockText.Body"
|
||||
/>
|
||||
|
||||
|
@ -108,9 +105,8 @@
|
|||
android:hint="@string/response_timeout_default"
|
||||
android:inputType="number"
|
||||
android:maxLength="8"
|
||||
android:textColor="#FFFFFF"
|
||||
tools:ignore="Autofill,HardcodedText,LabelFor"
|
||||
style="@style/NockText.Body.Light"
|
||||
style="@style/NockText.Body"
|
||||
/>
|
||||
|
||||
<TextView
|
||||
|
@ -139,7 +135,7 @@
|
|||
android:hint="@string/search_term"
|
||||
android:visibility="gone"
|
||||
tools:ignore="Autofill,TextFields"
|
||||
style="@style/NockText.Body.Light"
|
||||
style="@style/NockText.Body"
|
||||
/>
|
||||
|
||||
<com.afollestad.nocknock.viewcomponents.js.JavaScriptInputLayout
|
||||
|
@ -148,7 +144,7 @@
|
|||
android:layout_height="wrap_content"
|
||||
android:layout_marginBottom="@dimen/content_inset"
|
||||
android:layout_marginTop="@dimen/content_inset_half"
|
||||
android:background="@color/inkColorDark"
|
||||
android:background="@color/lighterGray"
|
||||
/>
|
||||
|
||||
<TextView
|
||||
|
|
|
@ -29,7 +29,7 @@
|
|||
android:paddingBottom="@dimen/content_inset"
|
||||
android:paddingLeft="@dimen/content_inset"
|
||||
android:paddingRight="@dimen/content_inset"
|
||||
android:paddingTop="@dimen/content_inset_half"
|
||||
android:paddingTop="@dimen/content_inset"
|
||||
>
|
||||
|
||||
<LinearLayout
|
||||
|
@ -62,7 +62,6 @@
|
|||
android:hint="@string/site_name"
|
||||
android:inputType="textPersonName|textCapWords|textAutoCorrect"
|
||||
android:singleLine="true"
|
||||
android:textColor="#FFFFFF"
|
||||
android:transitionName="site_name"
|
||||
tools:ignore="Autofill,UnusedAttribute"
|
||||
style="@style/NockText.Body"
|
||||
|
@ -75,7 +74,6 @@
|
|||
android:hint="@string/site_url"
|
||||
android:inputType="textUri"
|
||||
android:singleLine="true"
|
||||
android:textColor="#FFFFFF"
|
||||
android:transitionName="site_url"
|
||||
tools:ignore="Autofill,UnusedAttribute"
|
||||
style="@style/NockText.Body"
|
||||
|
@ -128,16 +126,15 @@
|
|||
android:hint="@string/response_timeout_default"
|
||||
android:inputType="number"
|
||||
android:maxLength="8"
|
||||
android:textColor="#FFFFFF"
|
||||
tools:ignore="Autofill,HardcodedText,LabelFor"
|
||||
style="@style/NockText.Body.Light"
|
||||
style="@style/NockText.Body"
|
||||
/>
|
||||
|
||||
<View
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="1dp"
|
||||
android:layout_marginTop="@dimen/content_inset_less"
|
||||
android:background="@color/dividerColorDark"
|
||||
android:background="?dividerColor"
|
||||
/>
|
||||
|
||||
<TextView
|
||||
|
@ -164,10 +161,9 @@
|
|||
android:layout_marginRight="-4dp"
|
||||
android:layout_marginTop="-4dp"
|
||||
android:hint="@string/search_term"
|
||||
android:textColor="#FFFFFF"
|
||||
android:visibility="gone"
|
||||
tools:ignore="Autofill,TextFields"
|
||||
style="@style/NockText.Body.Light"
|
||||
style="@style/NockText.Body"
|
||||
/>
|
||||
|
||||
<com.afollestad.nocknock.viewcomponents.js.JavaScriptInputLayout
|
||||
|
@ -176,7 +172,7 @@
|
|||
android:layout_height="wrap_content"
|
||||
android:layout_marginBottom="@dimen/content_inset"
|
||||
android:layout_marginTop="@dimen/content_inset_half"
|
||||
android:background="@color/inkColorDark"
|
||||
android:background="@color/lighterGray"
|
||||
/>
|
||||
|
||||
<TextView
|
||||
|
@ -238,7 +234,7 @@
|
|||
android:id="@+id/disableChecksButton"
|
||||
android:layout_width="match_parent"
|
||||
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"
|
||||
style="@style/PrimaryDarkButton"
|
||||
/>
|
||||
|
|
|
@ -4,5 +4,5 @@
|
|||
android:layout_width="match_parent"
|
||||
android:layout_height="1dp"
|
||||
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="colorPrimaryDark_darkTheme">#252525</color>
|
||||
|
||||
<color name="inkColor">#455A64</color>
|
||||
<color name="inkColorDark">#37474F</color>
|
||||
<color name="lighterGray">#303030</color>
|
||||
<color name="colorAccent">#FF6E40</color>
|
||||
|
||||
</resources>
|
||||
|
|
|
@ -4,26 +4,6 @@
|
|||
|
||||
<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">
|
||||
<item name="android:textColor">#fff</item>
|
||||
<item name="backgroundTint">@color/colorAccent</item>
|
||||
|
@ -32,7 +12,7 @@
|
|||
|
||||
<style name="PrimaryDarkButton" parent="Widget.MaterialComponents.Button">
|
||||
<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>
|
||||
</style>
|
||||
|
||||
|
|
|
@ -4,12 +4,15 @@
|
|||
<item name="colorPrimary">@color/colorPrimary_lightTheme</item>
|
||||
<item name="colorPrimaryDark">@color/colorPrimaryDark_lightTheme</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="dividerColor">#1f000000</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:listDivider">@drawable/divider</item>
|
||||
|
||||
|
@ -25,12 +28,15 @@
|
|||
<item name="colorPrimary">@color/colorPrimary_darkTheme</item>
|
||||
<item name="colorPrimaryDark">@color/colorPrimaryDark_darkTheme</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="dividerColor">#1fffffff</item>
|
||||
<item name="dividerColor">#1f000000</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:listDivider">@drawable/divider</item>
|
||||
|
||||
|
@ -43,8 +49,4 @@
|
|||
<item name="md_font_button">@font/lato_bold</item>
|
||||
</style>
|
||||
|
||||
<style name="AppThemeParent.Ink" parent="AppThemeParent.Dark">
|
||||
<item name="android:navigationBarColor">@color/inkColorDark</item>
|
||||
</style>
|
||||
|
||||
</resources>
|
||||
|
|
|
@ -3,8 +3,8 @@ ext.versions = [
|
|||
minSdk : 21,
|
||||
compileSdk : 28,
|
||||
buildTools : '28.0.3',
|
||||
publishVersion : '0.8.0',
|
||||
publishVersionCode : 28,
|
||||
publishVersion : '0.8.1',
|
||||
publishVersionCode : 30,
|
||||
|
||||
// Plugins
|
||||
gradlePlugin : '3.2.1',
|
||||
|
|
|
@ -4,6 +4,5 @@
|
|||
android:layout_width="match_parent"
|
||||
android:layout_height="@dimen/button_height"
|
||||
android:gravity="center_vertical|start"
|
||||
android:textColor="#FFFFFF"
|
||||
style="@style/NockText.Body"
|
||||
/>
|
||||
|
|
|
@ -6,6 +6,5 @@
|
|||
android:gravity="center_vertical|start"
|
||||
android:paddingLeft="@dimen/content_inset"
|
||||
android:paddingRight="@dimen/content_inset"
|
||||
android:textColor="#FFFFFF"
|
||||
style="@style/NockText.Body"
|
||||
/>
|
||||
|
|
|
@ -34,9 +34,8 @@
|
|||
android:hint="0"
|
||||
android:inputType="number"
|
||||
android:maxLength="6"
|
||||
android:textColor="#FFFFFF"
|
||||
tools:ignore="Autofill,HardcodedText,LabelFor"
|
||||
style="@style/NockText.Body.Light"
|
||||
style="@style/NockText.Body"
|
||||
/>
|
||||
|
||||
<Spinner
|
||||
|
|
|
@ -1,8 +1,6 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<resources>
|
||||
|
||||
<color name="dividerColorDark">#37474F</color>
|
||||
|
||||
<color name="loading_indicator_frame_background">#40000000</color>
|
||||
|
||||
<color name="md_red">#E53935</color>
|
||||
|
|
|
@ -5,6 +5,7 @@
|
|||
|
||||
<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_less">12dp</dimen>
|
||||
<dimen name="content_inset">16dp</dimen>
|
||||
|
|
|
@ -18,11 +18,12 @@
|
|||
<style name="NockText.Body">
|
||||
<item name="android:textSize">@dimen/body_font_size</item>
|
||||
<item name="android:fontFamily">@font/lato</item>
|
||||
<item name="android:textColor">?android:textColorSecondary</item>
|
||||
<item name="android:textColor">?android:textColorPrimary</item>
|
||||
</style>
|
||||
|
||||
<style name="NockText.Body.Light" parent="NockText.Body">
|
||||
<item name="android:fontFamily">@font/lato_light</item>
|
||||
<item name="android:textColor">?android:textColorSecondary</item>
|
||||
</style>
|
||||
|
||||
<style name="NockText.Caption">
|
||||
|
|
Loading…
Add table
Reference in a new issue