Implemented DayNight theme

- Apply night mode from prefs
- Update icon colors to be based on theme
- Make server names more visible
This commit is contained in:
Gaurav Ujjwal 2021-02-10 12:29:45 +05:30
parent 78f360ab04
commit e4b1f816c1
46 changed files with 181 additions and 128 deletions

View file

@ -80,7 +80,7 @@ android {
dependencies {
def version = [
appCompat : '1.1.0',
appCompat : '1.2.0',
navigation: '2.3.0',
lifecycle : '2.2.0',
room : '2.2.5',
@ -95,8 +95,6 @@ dependencies {
implementation 'androidx.preference:preference:1.1.1'
implementation "androidx.navigation:navigation-fragment:$version.navigation"
implementation "androidx.navigation:navigation-ui:$version.navigation"
implementation "androidx.lifecycle:lifecycle-viewmodel-ktx:$version.lifecycle"
implementation "androidx.room:room-runtime:$version.room"
implementation "androidx.room:room-ktx:$version.room"

View file

@ -12,6 +12,7 @@
<uses-permission android:name="android.permission.INTERNET" />
<application
android:name=".App"
android:allowBackup="true"
android:fullBackupContent="true"
android:icon="@mipmap/ic_launcher"
@ -43,26 +44,18 @@
</intent-filter>
</activity-alias>
<activity
android:name=".ui.home.HomeActivity"
android:label="@string/app_name" />
<activity android:name=".ui.home.HomeActivity" />
<activity
android:name=".ui.home.UrlBarActivity"
android:parentActivityName=".ui.home.HomeActivity"
android:windowSoftInputMode="stateVisible" />
<activity
android:name=".ui.vnc.VncActivity"
android:theme="@style/AppTheme.NoActionBar" />
<activity android:name=".ui.vnc.VncActivity" />
<activity
android:name=".ui.vnc.UriReceiverActivity"
android:theme="@style/AppTheme.NoActionBar" />
<activity android:name=".ui.vnc.UriReceiverActivity" />
<activity
android:name=".ui.prefs.PrefsActivity"
android:label="@string/title_pref_activity" />
<activity android:name=".ui.prefs.PrefsActivity" />
</application>
</manifest>

View file

@ -0,0 +1,23 @@
/*
* Copyright (c) 2021 Gaurav Ujjwal.
*
* SPDX-License-Identifier: GPL-3.0-or-later
*
* See COPYING.txt for more details.
*/
package com.gaurav.avnc
import android.app.Application
import androidx.appcompat.app.AppCompatDelegate
import com.gaurav.avnc.util.AppPreferences
class App : Application() {
override fun onCreate() {
super.onCreate()
val nightMode = AppPreferences(this).appearance.nightMode
AppCompatDelegate.setDefaultNightMode(nightMode)
}
}

View file

@ -44,9 +44,9 @@ class HomeActivity : AppCompatActivity() {
tabController = TabController(supportFragmentManager, binding.pager, binding.tabs)
binding.drawerNav.setNavigationItemSelectedListener { onMenuItemSelected(it.itemId) }
binding.toolbar.setNavigationOnClickListener { binding.drawerLayout.open() }
binding.toolbar.setOnMenuItemClickListener { onMenuItemSelected(it.itemId) }
binding.toolbar.setOnClickListener { showUrlActivity() }
binding.urlbar.setNavigationOnClickListener { binding.drawerLayout.open() }
binding.urlbar.setOnMenuItemClickListener { onMenuItemSelected(it.itemId) }
binding.urlbar.setOnClickListener { showUrlActivity() }
//Observers
viewModel.profileEditEvent.observe(this) { showProfileEditor() }
@ -82,7 +82,7 @@ class HomeActivity : AppCompatActivity() {
* Launches VNC Url activity
*/
private fun showUrlActivity() {
val anim = ActivityOptions.makeSceneTransitionAnimation(this, binding.toolbar, "urlbar")
val anim = ActivityOptions.makeSceneTransitionAnimation(this, binding.urlbar, "urlbar")
startActivity(Intent(this, UrlBarActivity::class.java), anim.toBundle())
}

View file

@ -16,6 +16,8 @@ import androidx.preference.ListPreference
import androidx.preference.Preference
import androidx.preference.PreferenceFragmentCompat
import com.gaurav.avnc.R
import com.gaurav.avnc.util.layoutBehindStatusBar
import com.google.android.material.appbar.MaterialToolbar
class PrefsActivity : AppCompatActivity(), PreferenceFragmentCompat.OnPreferenceStartFragmentCallback {
@ -30,9 +32,15 @@ class PrefsActivity : AppCompatActivity(), PreferenceFragmentCompat.OnPreference
.commit()
}
setSupportActionBar(findViewById<MaterialToolbar>(R.id.toolbar))
supportActionBar?.setDisplayHomeAsUpEnabled(true)
}
override fun onResume() {
super.onResume()
layoutBehindStatusBar(window.decorView)
}
override fun onSupportNavigateUp(): Boolean {
onBackPressed()
return true

View file

@ -10,6 +10,7 @@ package com.gaurav.avnc.util
import android.content.Context
import android.content.SharedPreferences
import androidx.appcompat.app.AppCompatDelegate
import androidx.preference.PreferenceManager
/**
@ -22,7 +23,11 @@ class AppPreferences(private val context: Context) {
private val prefs: SharedPreferences by lazy { PreferenceManager.getDefaultSharedPreferences(context) }
inner class Appearance {
val theme; get() = prefs.getString("theme", "system")
val nightMode = when (prefs.getString("theme", "system")) {
"light" -> AppCompatDelegate.MODE_NIGHT_NO
"dark" -> AppCompatDelegate.MODE_NIGHT_YES
else -> AppCompatDelegate.MODE_NIGHT_FOLLOW_SYSTEM
}
}
inner class Display {

View file

@ -11,5 +11,5 @@ package com.gaurav.avnc.util
import android.view.View
fun layoutBehindStatusBar(v: View) {
v.systemUiVisibility = View.SYSTEM_UI_FLAG_LAYOUT_STABLE or View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN
v.systemUiVisibility = v.systemUiVisibility or View.SYSTEM_UI_FLAG_LAYOUT_STABLE or View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN
}

View file

@ -1,12 +0,0 @@
<?xml version="1.0" encoding="utf-8"?><!--
~ Copyright (c) 2020 Gaurav Ujjwal.
~
~ SPDX-License-Identifier: GPL-3.0-or-later
~
~ See COPYING.txt for more details.
-->
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:color="?attr/colorSecondary" android:state_selected="true" />
<item android:color="?attr/colorOnSurface" />
</selector>

View file

@ -9,5 +9,5 @@
<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="rectangle">
<corners android:radius="@dimen/toolbar_bg_corner_radius" />
<solid android:color="@color/colorToolbarBackground" />
<solid android:color="@color/colorUrlBarBackground" />
</shape>

View file

@ -1,10 +1,9 @@
<vector xmlns:android="http://schemas.android.com/apk/res/android"
android:width="24dp"
android:height="24dp"
android:tint="@color/iconTintColor"
android:viewportWidth="24"
android:viewportHeight="24">
<path
android:fillColor="#FF000000"
android:fillColor="?colorOnSurface"
android:pathData="M20,11H7.83l5.59,-5.59L12,4l-8,8 8,8 1.41,-1.41L7.83,13H20v-2z" />
</vector>

View file

@ -1,10 +1,9 @@
<vector xmlns:android="http://schemas.android.com/apk/res/android"
android:width="24dp"
android:height="24dp"
android:tint="@color/iconTintColor"
android:viewportWidth="24"
android:viewportHeight="24">
<path
android:fillColor="#FF000000"
android:fillColor="?colorOnSurface"
android:pathData="M12,17.27L18.18,21l-1.64,-7.03L22,9.24l-7.19,-0.61L12,2 9.19,8.63 2,9.24l5.46,4.73L5.82,21z" />
</vector>

View file

@ -1,10 +1,9 @@
<vector xmlns:android="http://schemas.android.com/apk/res/android"
android:width="24dp"
android:height="24dp"
android:tint="@color/iconTintColor"
android:viewportWidth="24"
android:viewportHeight="24">
<path
android:fillColor="#FF000000"
android:fillColor="?colorOnSurface"
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>

View file

@ -1,10 +1,9 @@
<vector xmlns:android="http://schemas.android.com/apk/res/android"
android:width="24dp"
android:height="24dp"
android:tint="@color/iconTintColor"
android:viewportWidth="24"
android:viewportHeight="24">
<path
android:fillColor="#FF000000"
android:fillColor="?colorOnSurface"
android:pathData="M20,18c1.1,0 1.99,-0.9 1.99,-2L22,6c0,-1.1 -0.9,-2 -2,-2H4c-1.1,0 -2,0.9 -2,2v10c0,1.1 0.9,2 2,2H0v2h24v-2h-4zM4,6h16v10H4V6z" />
</vector>

View file

@ -1,10 +1,9 @@
<vector xmlns:android="http://schemas.android.com/apk/res/android"
android:width="24dp"
android:height="24dp"
android:tint="@color/iconTintColor"
android:viewportWidth="24.0"
android:viewportHeight="24.0">
<path
android:fillColor="#FF000000"
android:fillColor="?colorOnSurface"
android:pathData="M3,13h8L11,3L3,3v10zM3,21h8v-6L3,15v6zM13,21h8L21,11h-8v10zM13,3v6h8L21,3h-8z" />
</vector>

View file

@ -1,10 +1,9 @@
<vector xmlns:android="http://schemas.android.com/apk/res/android"
android:width="24dp"
android:height="24dp"
android:tint="@color/iconTintColor"
android:viewportWidth="24"
android:viewportHeight="24">
<path
android:fillColor="#000000"
android:fillColor="?colorOnSurface"
android:pathData="M19.8,18.4L14,10.67V6.5l1.35,-1.69C15.61,4.48 15.38,4 14.96,4H9.04C8.62,4 8.39,4.48 8.65,4.81L10,6.5v4.17L4.2,18.4C3.71,19.06 4.18,20 5,20h14C19.82,20 20.29,19.06 19.8,18.4z" />
</vector>

View file

@ -4,10 +4,9 @@
<vector xmlns:android="http://schemas.android.com/apk/res/android"
android:width="24dp"
android:height="24dp"
android:tint="@color/iconTintColor"
android:viewportWidth="24"
android:viewportHeight="24">
<path
android:fillColor="#000000"
android:fillColor="?colorOnSurface"
android:pathData="M12.293,3.293a1,1 0,0 1,1.414 0l8,8a1,1 0,0 1,0 1.414l-8,8a1,1 0,0 1,-1.414 -1.414L18.586,13H3a1,1 0,1 1,0 -2h15.586l-6.293,-6.293a1,1 0,0 1,0 -1.414z" />
</vector>

View file

@ -1,10 +1,9 @@
<vector xmlns:android="http://schemas.android.com/apk/res/android"
android:width="24dp"
android:height="24dp"
android:tint="@color/iconTintColor"
android:viewportWidth="24"
android:viewportHeight="24">
<path
android:fillColor="#000000"
android:fillColor="?colorOnSurface"
android:pathData="M4.59,6.89c0.7,-0.71 1.4,-1.35 1.71,-1.22 0.5,0.2 0,1.03 -0.3,1.52 -0.25,0.42 -2.86,3.89 -2.86,6.31 0,1.28 0.48,2.34 1.34,2.98 0.75,0.56 1.74,0.73 2.64,0.46 1.07,-0.31 1.95,-1.4 3.06,-2.77 1.21,-1.49 2.83,-3.44 4.08,-3.44 1.63,0 1.65,1.01 1.76,1.79 -3.78,0.64 -5.38,3.67 -5.38,5.37 0,1.7 1.44,3.09 3.21,3.09 1.63,0 4.29,-1.33 4.69,-6.1L21,14.88v-2.5h-2.47c-0.15,-1.65 -1.09,-4.2 -4.03,-4.2 -2.25,0 -4.18,1.91 -4.94,2.84 -0.58,0.73 -2.06,2.48 -2.29,2.72 -0.25,0.3 -0.68,0.84 -1.11,0.84 -0.45,0 -0.72,-0.83 -0.36,-1.92 0.35,-1.09 1.4,-2.86 1.85,-3.52 0.78,-1.14 1.3,-1.92 1.3,-3.28C8.95,3.69 7.31,3 6.44,3 5.12,3 3.97,4 3.72,4.25c-0.36,0.36 -0.66,0.66 -0.88,0.93l1.75,1.71zM13.88,18.55c-0.31,0 -0.74,-0.26 -0.74,-0.72 0,-0.6 0.73,-2.2 2.87,-2.76 -0.3,2.69 -1.43,3.48 -2.13,3.48z" />
</vector>

View file

@ -1,10 +1,9 @@
<vector xmlns:android="http://schemas.android.com/apk/res/android"
android:width="24dp"
android:height="24dp"
android:tint="@color/iconTintColor"
android:viewportWidth="24"
android:viewportHeight="24">
<path
android:fillColor="#FF000000"
android:fillColor="?colorOnSurface"
android:pathData="M13,3c-4.97,0 -9,4.03 -9,9L1,12l3.89,3.89 0.07,0.14L9,12L6,12c0,-3.87 3.13,-7 7,-7s7,3.13 7,7 -3.13,7 -7,7c-1.93,0 -3.68,-0.79 -4.94,-2.06l-1.42,1.42C8.27,19.99 10.51,21 13,21c4.97,0 9,-4.03 9,-9s-4.03,-9 -9,-9zM12,8v5l4.28,2.54 0.72,-1.21 -3.5,-2.08L13.5,8L12,8z" />
</vector>

View file

@ -1,10 +1,9 @@
<vector xmlns:android="http://schemas.android.com/apk/res/android"
android:width="24dp"
android:height="24dp"
android:tint="@color/iconTintColor"
android:viewportWidth="24.0"
android:viewportHeight="24.0">
<path
android:fillColor="#FF000000"
android:fillColor="?colorOnSurface"
android:pathData="M10,20v-6h4v6h5v-8h3L12,3 2,12h3v8z" />
</vector>

View file

@ -1,10 +1,9 @@
<vector xmlns:android="http://schemas.android.com/apk/res/android"
android:width="24dp"
android:height="24dp"
android:tint="@color/iconTintColor"
android:viewportWidth="24"
android:viewportHeight="24">
<path
android:fillColor="#000000"
android:fillColor="?colorOnSurface"
android:pathData="M12.65,10C11.83,7.67 9.61,6 7,6c-3.31,0 -6,2.69 -6,6s2.69,6 6,6c2.61,0 4.83,-1.67 5.65,-4H17v4h4v-4h2v-4H12.65zM7,14c-1.1,0 -2,-0.9 -2,-2s0.9,-2 2,-2 2,0.9 2,2 -0.9,2 -2,2z" />
</vector>

View file

@ -1,10 +1,9 @@
<vector xmlns:android="http://schemas.android.com/apk/res/android"
android:width="24dp"
android:height="24dp"
android:tint="@color/iconTintColor"
android:viewportWidth="24"
android:viewportHeight="24">
<path
android:fillColor="#000000"
android:fillColor="?colorOnSurface"
android:pathData="M20,5L4,5c-1.1,0 -1.99,0.9 -1.99,2L2,17c0,1.1 0.9,2 2,2h16c1.1,0 2,-0.9 2,-2L22,7c0,-1.1 -0.9,-2 -2,-2zM11,8h2v2h-2L11,8zM11,11h2v2h-2v-2zM8,8h2v2L8,10L8,8zM8,11h2v2L8,13v-2zM7,13L5,13v-2h2v2zM7,10L5,10L5,8h2v2zM16,17L8,17v-2h8v2zM16,13h-2v-2h2v2zM16,10h-2L14,8h2v2zM19,13h-2v-2h2v2zM19,10h-2L17,8h2v2z" />
</vector>

View file

@ -1,10 +1,9 @@
<vector xmlns:android="http://schemas.android.com/apk/res/android"
android:width="24dp"
android:height="24dp"
android:tint="@color/iconTintColor"
android:viewportWidth="24"
android:viewportHeight="24">
<path
android:fillColor="#000000"
android:fillColor="?colorOnSurface"
android:pathData="M3,18h18v-2L3,16v2zM3,13h18v-2L3,11v2zM3,6v2h18L21,6L3,6z" />
</vector>

View file

@ -1,10 +1,9 @@
<vector xmlns:android="http://schemas.android.com/apk/res/android"
android:width="24dp"
android:height="24dp"
android:tint="@color/iconTintColor"
android:viewportWidth="24"
android:viewportHeight="24">
<path
android:fillColor="#000000"
android:fillColor="?colorOnSurface"
android:pathData="M12,8c1.1,0 2,-0.9 2,-2s-0.9,-2 -2,-2 -2,0.9 -2,2 0.9,2 2,2zM12,10c-1.1,0 -2,0.9 -2,2s0.9,2 2,2 2,-0.9 2,-2 -0.9,-2 -2,-2zM12,16c-1.1,0 -2,0.9 -2,2s0.9,2 2,2 2,-0.9 2,-2 -0.9,-2 -2,-2z" />
</vector>

View file

@ -1,10 +1,9 @@
<vector xmlns:android="http://schemas.android.com/apk/res/android"
android:width="24dp"
android:height="24dp"
android:tint="@color/iconTintColor"
android:viewportWidth="24.0"
android:viewportHeight="24.0">
<path
android:fillColor="#FF000000"
android:fillColor="?colorOnSurface"
android:pathData="M12,22c1.1,0 2,-0.9 2,-2h-4c0,1.1 0.89,2 2,2zM18,16v-5c0,-3.07 -1.64,-5.64 -4.5,-6.32L13.5,4c0,-0.83 -0.67,-1.5 -1.5,-1.5s-1.5,0.67 -1.5,1.5v0.68C7.63,5.36 6,7.92 6,11v5l-2,2v1h16v-1l-2,-2z" />
</vector>

View file

@ -1,10 +1,9 @@
<vector xmlns:android="http://schemas.android.com/apk/res/android"
android:width="24dp"
android:height="24dp"
android:tint="@color/iconTintColor"
android:viewportWidth="24"
android:viewportHeight="24">
<path
android:fillColor="#000000"
android:fillColor="?colorOnSurface"
android:pathData="M12,3c-4.97,0 -9,4.03 -9,9s4.03,9 9,9c0.83,0 1.5,-0.67 1.5,-1.5 0,-0.39 -0.15,-0.74 -0.39,-1.01 -0.23,-0.26 -0.38,-0.61 -0.38,-0.99 0,-0.83 0.67,-1.5 1.5,-1.5L16,16c2.76,0 5,-2.24 5,-5 0,-4.42 -4.03,-8 -9,-8zM6.5,12c-0.83,0 -1.5,-0.67 -1.5,-1.5S5.67,9 6.5,9 8,9.67 8,10.5 7.33,12 6.5,12zM9.5,8C8.67,8 8,7.33 8,6.5S8.67,5 9.5,5s1.5,0.67 1.5,1.5S10.33,8 9.5,8zM14.5,8c-0.83,0 -1.5,-0.67 -1.5,-1.5S13.67,5 14.5,5s1.5,0.67 1.5,1.5S15.33,8 14.5,8zM17.5,12c-0.83,0 -1.5,-0.67 -1.5,-1.5S16.67,9 17.5,9s1.5,0.67 1.5,1.5 -0.67,1.5 -1.5,1.5z" />
</vector>

View file

@ -4,10 +4,9 @@
<vector xmlns:android="http://schemas.android.com/apk/res/android"
android:width="24dp"
android:height="24dp"
android:tint="@color/iconTintColor"
android:viewportWidth="24"
android:viewportHeight="24">
<path
android:fillColor="#000"
android:fillColor="?colorOnSurface"
android:pathData="M13,4a1,1 0,1 0,-2 0v7H4a1,1 0,1 0,0 2h7v7a1,1 0,1 0,2 0v-7h7a1,1 0,1 0,0 -2h-7V4z" />
</vector>

View file

@ -1,10 +1,9 @@
<vector xmlns:android="http://schemas.android.com/apk/res/android"
android:width="24dp"
android:height="24dp"
android:tint="@color/iconTintColor"
android:viewportWidth="24"
android:viewportHeight="24">
<path
android:fillColor="#000000"
android:fillColor="?colorOnSurface"
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>

View file

@ -1,10 +1,9 @@
<vector xmlns:android="http://schemas.android.com/apk/res/android"
android:width="24dp"
android:height="24dp"
android:tint="@color/iconTintColor"
android:viewportWidth="24"
android:viewportHeight="24">
<path
android:fillColor="#000000"
android:fillColor="?colorOnSurface"
android:pathData="M15.5,14h-0.79l-0.28,-0.27C15.41,12.59 16,11.11 16,9.5 16,5.91 13.09,3 9.5,3S3,5.91 3,9.5 5.91,16 9.5,16c1.61,0 3.09,-0.59 4.23,-1.57l0.27,0.28v0.79l5,4.99L20.49,19l-4.99,-5zM9.5,14C7.01,14 5,11.99 5,9.5S7.01,5 9.5,5 14,7.01 14,9.5 11.99,14 9.5,14z" />
</vector>

View file

@ -1,10 +1,9 @@
<vector xmlns:android="http://schemas.android.com/apk/res/android"
android:width="24dp"
android:height="24dp"
android:tint="@color/iconTintColor"
android:viewportWidth="24"
android:viewportHeight="24">
<path
android:fillColor="#FF000000"
android:fillColor="?colorOnSurface"
android:pathData="M19.14,12.94c0.04,-0.3 0.06,-0.61 0.06,-0.94c0,-0.32 -0.02,-0.64 -0.07,-0.94l2.03,-1.58c0.18,-0.14 0.23,-0.41 0.12,-0.61l-1.92,-3.32c-0.12,-0.22 -0.37,-0.29 -0.59,-0.22l-2.39,0.96c-0.5,-0.38 -1.03,-0.7 -1.62,-0.94L14.4,2.81c-0.04,-0.24 -0.24,-0.41 -0.48,-0.41h-3.84c-0.24,0 -0.43,0.17 -0.47,0.41L9.25,5.35C8.66,5.59 8.12,5.92 7.63,6.29L5.24,5.33c-0.22,-0.08 -0.47,0 -0.59,0.22L2.74,8.87C2.62,9.08 2.66,9.34 2.86,9.48l2.03,1.58C4.84,11.36 4.8,11.69 4.8,12s0.02,0.64 0.07,0.94l-2.03,1.58c-0.18,0.14 -0.23,0.41 -0.12,0.61l1.92,3.32c0.12,0.22 0.37,0.29 0.59,0.22l2.39,-0.96c0.5,0.38 1.03,0.7 1.62,0.94l0.36,2.54c0.05,0.24 0.24,0.41 0.48,0.41h3.84c0.24,0 0.44,-0.17 0.47,-0.41l0.36,-2.54c0.59,-0.24 1.13,-0.56 1.62,-0.94l2.39,0.96c0.22,0.08 0.47,0 0.59,-0.22l1.92,-3.32c0.12,-0.22 0.07,-0.47 -0.12,-0.61L19.14,12.94zM12,15.6c-1.98,0 -3.6,-1.62 -3.6,-3.6s1.62,-3.6 3.6,-3.6s3.6,1.62 3.6,3.6S13.98,15.6 12,15.6z" />
</vector>

View file

@ -1,10 +1,9 @@
<vector xmlns:android="http://schemas.android.com/apk/res/android"
android:width="24dp"
android:height="24dp"
android:tint="@color/iconTintColor"
android:viewportWidth="24"
android:viewportHeight="24">
<path
android:fillColor="#000000"
android:fillColor="?colorOnSurface"
android:pathData="M9,11.24V7.5C9,6.12 10.12,5 11.5,5S14,6.12 14,7.5v3.74c1.21,-0.81 2,-2.18 2,-3.74C16,5.01 13.99,3 11.5,3S7,5.01 7,7.5C7,9.06 7.79,10.43 9,11.24zM18.84,15.87l-4.54,-2.26c-0.17,-0.07 -0.35,-0.11 -0.54,-0.11H13v-6C13,6.67 12.33,6 11.5,6S10,6.67 10,7.5v10.74c-3.6,-0.76 -3.54,-0.75 -3.67,-0.75c-0.31,0 -0.59,0.13 -0.79,0.33l-0.79,0.8l4.94,4.94C9.96,23.83 10.34,24 10.75,24h6.79c0.75,0 1.33,-0.55 1.44,-1.28l0.75,-5.27c0.01,-0.07 0.02,-0.14 0.02,-0.2C19.75,16.63 19.37,16.09 18.84,15.87z" />
</vector>

View file

@ -1,11 +1,10 @@
<vector xmlns:android="http://schemas.android.com/apk/res/android"
android:width="24dp"
android:height="24dp"
android:tint="@color/iconTintColor"
android:viewportWidth="24"
android:viewportHeight="24">
<path
android:fillColor="#000000"
android:fillColor="?colorOnSurface"
android:pathData="M9.5556,8.4444L9.5556,15.5556L15.6667,12ZM20.5556,4L3.4444,4C2.1,4 1,4.8 1,5.7778L1,18.2222C1,19.2 2.1,20 3.4444,20L20.5556,20C21.9,20 23,19.2 23,18.2222L23,5.7778C23,4.8 21.9,4 20.5556,4ZM20.5556,18.2222L3.4444,18.2222L3.4444,5.7778L20.5556,5.7778Z"
android:strokeWidth="1.04231" />
</vector>

View file

@ -1,10 +1,9 @@
<vector xmlns:android="http://schemas.android.com/apk/res/android"
android:width="24dp"
android:height="24dp"
android:tint="@color/iconTintColor"
android:viewportWidth="24"
android:viewportHeight="24">
<path
android:fillColor="#FF000000"
android:fillColor="?colorOnSurface"
android:pathData="M1,21h22L12,2 1,21zM13,18h-2v-2h2v2zM13,14h-2v-4h2v4z" />
</vector>

View file

@ -1,13 +1,12 @@
<vector xmlns:android="http://schemas.android.com/apk/res/android"
android:width="24dp"
android:height="24dp"
android:tint="@color/iconTintColor"
android:viewportWidth="24"
android:viewportHeight="24">
<path
android:fillColor="#FF000000"
android:fillColor="?colorOnSurface"
android:pathData="M15.5,14h-0.79l-0.28,-0.27C15.41,12.59 16,11.11 16,9.5 16,5.91 13.09,3 9.5,3S3,5.91 3,9.5 5.91,16 9.5,16c1.61,0 3.09,-0.59 4.23,-1.57l0.27,0.28v0.79l5,4.99L20.49,19l-4.99,-5zM9.5,14C7.01,14 5,11.99 5,9.5S7.01,5 9.5,5 14,7.01 14,9.5 11.99,14 9.5,14z" />
<path
android:fillColor="#FF000000"
android:fillColor="?colorOnSurface"
android:pathData="M12,10h-2v2H9v-2H7V9h2V7h1v2h2v1z" />
</vector>

View file

@ -1,10 +1,9 @@
<vector xmlns:android="http://schemas.android.com/apk/res/android"
android:width="24dp"
android:height="24dp"
android:tint="@color/iconTintColor"
android:viewportWidth="24"
android:viewportHeight="24">
<path
android:fillColor="#000000"
android:fillColor="?colorOnSurface"
android:pathData="M19,12h-2v3h-3v2h5v-5zM7,9h3L10,7L5,7v5h2L7,9zM21,3L3,3c-1.1,0 -2,0.9 -2,2v14c0,1.1 0.9,2 2,2h18c1.1,0 2,-0.9 2,-2L23,5c0,-1.1 -0.9,-2 -2,-2zM21,19.01L3,19.01L3,4.99h18v14.02z" />
</vector>

View file

@ -21,18 +21,13 @@
<com.google.android.material.appbar.AppBarLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:elevation="14dp"
android:fitsSystemWindows="true">
android:layout_height="wrap_content">
<com.google.android.material.appbar.MaterialToolbar
android:id="@+id/toolbar"
android:id="@+id/urlbar"
style="@style/UrlBar"
android:layout_width="match_parent"
android:layout_height="@dimen/toolbar_height"
android:layout_marginHorizontal="@dimen/margin_normal"
android:layout_marginTop="@dimen/margin_large"
android:layout_marginBottom="@dimen/margin_normal"
android:background="@drawable/bg_urlbar"
app:menu="@menu/home"
app:navigationIcon="@drawable/ic_menu">

View file

@ -8,7 +8,18 @@
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent">
android:layout_height="match_parent"
android:orientation="vertical">
<com.google.android.material.appbar.AppBarLayout
android:layout_width="match_parent"
android:layout_height="wrap_content">
<com.google.android.material.appbar.MaterialToolbar
android:id="@+id/toolbar"
android:layout_width="match_parent"
android:layout_height="wrap_content" />
</com.google.android.material.appbar.AppBarLayout>
<FrameLayout
android:id="@+id/settings"

View file

@ -20,13 +20,11 @@
android:fitsSystemWindows="true">
<LinearLayout
style="@style/UrlBar"
android:layout_width="match_parent"
android:layout_height="@dimen/toolbar_height"
android:layout_marginHorizontal="@dimen/margin_normal"
android:layout_marginTop="@dimen/margin_large"
android:layout_marginBottom="@dimen/margin_normal"
android:background="@drawable/bg_urlbar"
android:gravity="center"
android:orientation="horizontal"
android:transitionName="urlbar">
<ImageButton

View file

@ -6,7 +6,8 @@
~ See COPYING.txt for more details.
-->
<layout xmlns:android="http://schemas.android.com/apk/res/android">
<layout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools">
<data>
@ -16,7 +17,7 @@
</data>
<com.google.android.material.card.MaterialCardView
style="@style/ListItem"
style="@style/ServerCard"
android:layout_width="match_parent"
android:layout_height="@dimen/list_item_height">
@ -24,13 +25,16 @@
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="top|start"
android:text="@{viewModel.name}" />
android:text="@{viewModel.name}"
android:textAppearance="@style/TextAppearance.MaterialComponents.Body2"
tools:text="Example Server Name" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="bottom|start"
android:text="@{viewModel.address}" />
android:text="@{viewModel.address}"
tools:text="192.168.1.1" />
<ImageButton
android:id="@+id/add"

View file

@ -6,7 +6,8 @@
~ See COPYING.txt for more details.
-->
<layout xmlns:android="http://schemas.android.com/apk/res/android">
<layout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools">
<data>
@ -16,7 +17,7 @@
</data>
<com.google.android.material.card.MaterialCardView
style="@style/ListItem"
style="@style/ServerCard"
android:layout_width="match_parent"
android:layout_height="@dimen/list_item_height">
@ -24,13 +25,16 @@
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="top|start"
android:text="@{viewModel.name}" />
android:text="@{viewModel.name}"
android:textAppearance="@style/TextAppearance.MaterialComponents.Body2"
tools:text="Example Server Name" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="bottom|start"
android:text="@{viewModel.address}" />
android:text="@{viewModel.address}"
tools:text="192.168.1.1" />
<!--Experimental Feature-->
<View

View file

@ -0,0 +1,11 @@
<?xml version="1.0" encoding="utf-8"?><!--
~ Copyright (c) 2020 Gaurav Ujjwal.
~
~ SPDX-License-Identifier: GPL-3.0-or-later
~
~ See COPYING.txt for more details.
-->
<resources>
<color name="colorUrlBarBackground">#464646</color>
</resources>

View file

@ -0,0 +1,12 @@
<!--
~ Copyright (c) 2020 Gaurav Ujjwal.
~
~ SPDX-License-Identifier: GPL-3.0-or-later
~
~ See COPYING.txt for more details.
-->
<resources>
<dimen name="appbar_elevation">14dp</dimen>
<dimen name="server_card_stroke_width">1dp</dimen>
</resources>

View file

@ -0,0 +1,14 @@
<?xml version="1.0" encoding="utf-8"?><!--
~ Copyright (c) 2021 Gaurav Ujjwal.
~
~ SPDX-License-Identifier: GPL-3.0-or-later
~
~ See COPYING.txt for more details.
-->
<resources>
<style name="AppThemeBase" parent="Theme.MaterialComponents.DayNight.NoActionBar">
<item name="android:statusBarColor">@android:color/transparent</item>
</style>
</resources>

View file

@ -0,0 +1,15 @@
<?xml version="1.0" encoding="utf-8"?><!--
~ Copyright (c) 2021 Gaurav Ujjwal.
~
~ SPDX-License-Identifier: GPL-3.0-or-later
~
~ See COPYING.txt for more details.
-->
<resources>
<style name="AppThemeBase" parent="Theme.MaterialComponents.DayNight.NoActionBar">
<item name="android:statusBarColor">@android:color/transparent</item>
<item name="android:windowLightStatusBar">true</item>
</style>
</resources>

View file

@ -7,10 +7,6 @@
-->
<resources>
<color name="colorPrimary">#232323</color>
<color name="colorPrimaryDark">#121212</color>
<color name="colorBorder">#484848</color>
<color name="colorAccent">#a44900</color>
<color name="iconTintColor">#fff</color>
<color name="colorToolbarBackground">#2fff</color>
<color name="colorUrlBarBackground">#E8E8E8</color>
</resources>

View file

@ -16,5 +16,6 @@
<dimen name="action_btn_size">48dp</dimen>
<dimen name="toolbar_height">48dp</dimen>
<dimen name="toolbar_bg_corner_radius">24dp</dimen>
<dimen name="appbar_elevation">4dp</dimen>
<dimen name="server_card_stroke_width">0dp</dimen>
</resources>

View file

@ -8,23 +8,24 @@
<resources>
<style name="AppTheme" parent="Theme.MaterialComponents.NoActionBar">
<style name="AppThemeBase" parent="Theme.MaterialComponents.DayNight.NoActionBar" />
<!--TODO: Update colors during UI polishing-->
<!-- <item name="colorPrimary">@color/primaryColor</item>
<item name="colorPrimaryDark">@color/primaryDarkColor</item>
<item name="colorPrimaryVariant">@color/primaryLightColor</item>
<item name="colorOnPrimary">@color/primaryTextColor</item>
<item name="colorSecondary">@color/secondaryColor</item>
<item name="colorSecondaryVariant">@color/secondaryDarkColor</item>
<item name="colorOnSecondary">@color/secondaryTextColor</item>-->
<item name="android:statusBarColor">@android:color/transparent</item>
<style name="AppTheme" parent="AppThemeBase">
<item name="appBarLayoutStyle">@style/AppBarLayout</item>
</style>
<style name="AppTheme.NoActionBar">
<item name="windowActionBar">false</item>
<item name="windowNoTitle">true</item>
<style name="AppBarLayout" parent="Widget.MaterialComponents.AppBarLayout.Surface">
<item name="android:fitsSystemWindows">true</item>
<item name="android:elevation">@dimen/appbar_elevation</item>
</style>
<style name="UrlBar" parent="Widget.MaterialComponents.Toolbar">
<item name="android:background">@drawable/bg_urlbar</item>
<item name="android:layout_marginStart">@dimen/margin_normal</item>
<item name="android:layout_marginEnd">@dimen/margin_normal</item>
<item name="android:layout_marginTop">@dimen/margin_large</item>
<item name="android:layout_marginBottom">@dimen/margin_normal</item>
</style>
<style name="FormLabel" parent="Widget.AppCompat.TextView">
@ -51,12 +52,13 @@
<item name="android:clipToPadding">false</item>
</style>
<style name="ListItem">
<style name="ServerCard">
<item name="android:layout_marginTop">@dimen/margin_normal</item>
<item name="android:layout_marginStart">@dimen/margin_normal</item>
<item name="android:layout_marginEnd">@dimen/margin_normal</item>
<item name="android:focusable">true</item>
<item name="strokeWidth">1dp</item>
<item name="cardElevation">2dp</item>
<item name="strokeWidth">@dimen/server_card_stroke_width</item>
<item name="contentPadding">@dimen/padding_normal</item>
<item name="strokeColor">@color/colorBorder</item>
</style>