diff --git a/app/build.gradle b/app/build.gradle index e323f32..13fce12 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -54,9 +54,9 @@ dependencies { implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk7:$kotlin_version" implementation 'org.jetbrains.anko:anko-common:0.9' - implementation "androidx.appcompat:appcompat:1.0.0-rc02" - implementation "com.google.android.material:material:1.0.0-rc01" - implementation "androidx.cardview:cardview:1.0.0-rc02" + implementation "androidx.appcompat:appcompat:1.0.0" + implementation "com.google.android.material:material:1.0.0" + implementation "androidx.cardview:cardview:1.0.0" implementation "androidx.constraintlayout:constraintlayout:1.1.3" @@ -64,6 +64,6 @@ dependencies { implementation 'eu.chainfire:libsuperuser:1.0.0.201704021214' testImplementation 'junit:junit:4.12' - androidTestImplementation 'androidx.test:runner:1.1.0-alpha4' - androidTestImplementation 'androidx.test.espresso:espresso-core:3.1.0-alpha4' + androidTestImplementation 'androidx.test:runner:1.1.0-beta02' + androidTestImplementation 'androidx.test.espresso:espresso-core:3.1.0-beta02' } diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index d3fba68..eded4fc 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -148,7 +148,7 @@ + android:theme="@style/AppTheme.Launcher"> diff --git a/app/src/main/java/com/github/simonpham/devtiles/ui/home/MainActivity.kt b/app/src/main/java/com/github/simonpham/devtiles/ui/home/MainActivity.kt index cbffd2c..43431c6 100644 --- a/app/src/main/java/com/github/simonpham/devtiles/ui/home/MainActivity.kt +++ b/app/src/main/java/com/github/simonpham/devtiles/ui/home/MainActivity.kt @@ -4,6 +4,7 @@ import android.os.Bundle import android.view.Menu import android.view.MenuItem import androidx.appcompat.app.AppCompatActivity +import androidx.recyclerview.widget.RecyclerView import com.github.simonpham.devtiles.BuildConfig import com.github.simonpham.devtiles.R import com.github.simonpham.devtiles.SingletonInstances @@ -20,6 +21,7 @@ import org.jetbrains.anko.uiThread class MainActivity : AppCompatActivity() { + private val context = SingletonInstances.getAppContext() private val sharedPrefs = SingletonInstances.getSharedPrefs() private val devSettings = SingletonInstances.getDevSettings() @@ -31,14 +33,10 @@ class MainActivity : AppCompatActivity() { } override fun onCreate(savedInstanceState: Bundle?) { + setTheme(R.style.AppTheme) super.onCreate(savedInstanceState) - val sharedPrefs = SingletonInstances.getSharedPrefs() - if (sharedPrefs.isFirstLaunch - || sharedPrefs.lastKnownVersionCode < BuildConfig.VERSION_CODE) { - sharedPrefs.isFirstLaunch = false - showPermissionWizard(this) - } + showPermissionWizard() setContentView(R.layout.activity_main) setSupportActionBar(toolbar) @@ -46,14 +44,23 @@ class MainActivity : AppCompatActivity() { recyclerView.adapter = adapter refresh() - if (sharedPrefs.lastKnownVersionCode < BuildConfig.VERSION_CODE) { - viewChangelog(this) - sharedPrefs.lastKnownVersionCode = BuildConfig.VERSION_CODE - } + showChangeLog() swiperefresh.setOnRefreshListener { refresh() } + + recyclerView.addOnScrollListener(object : RecyclerView.OnScrollListener() { + override fun onScrolled(recyclerView: RecyclerView, dx: Int, dy: Int) { + super.onScrolled(recyclerView, dx, dy) + val scrollOffset = recyclerView.computeVerticalScrollOffset() + if (scrollOffset > 0) { + appbar.elevation = 4F + } else { + appbar.elevation = 0F + } + } + }) } override fun onResume() { @@ -61,20 +68,6 @@ class MainActivity : AppCompatActivity() { refresh() } - private fun refresh() { - catchAll { - swiperefresh.isRefreshing = true - doAsync { - devSettings.checkCompatibility() - val data = makeAdapterData() - uiThread { - adapter.setData(data) - swiperefresh.isRefreshing = false - } - } - } - } - override fun onCreateOptionsMenu(menu: Menu?): Boolean { menuInflater.inflate(R.menu.menu_action, menu) return true @@ -103,6 +96,35 @@ class MainActivity : AppCompatActivity() { } } + private fun refresh() { + catchAll { + swiperefresh.isRefreshing = true + doAsync { + devSettings.checkCompatibility() + val data = makeAdapterData() + uiThread { + adapter.setData(data) + swiperefresh.isRefreshing = false + } + } + } + } + + private fun showPermissionWizard() { + if (sharedPrefs.isFirstLaunch + || sharedPrefs.lastKnownVersionCode < BuildConfig.VERSION_CODE) { + sharedPrefs.isFirstLaunch = false + showPermissionWizard(context) + } + } + + private fun showChangeLog() { + if (sharedPrefs.lastKnownVersionCode < BuildConfig.VERSION_CODE) { + viewChangelog(context) + sharedPrefs.lastKnownVersionCode = BuildConfig.VERSION_CODE + } + } + private fun makeAdapterData(): List { val adapterModels = mutableListOf() diff --git a/app/src/main/res/drawable/launch_screen.xml b/app/src/main/res/drawable/launch_screen.xml new file mode 100644 index 0000000..23be96a --- /dev/null +++ b/app/src/main/res/drawable/launch_screen.xml @@ -0,0 +1,9 @@ + + + + + + \ No newline at end of file diff --git a/app/src/main/res/drawable/logo.png b/app/src/main/res/drawable/logo.png new file mode 100755 index 0000000..08992fa Binary files /dev/null and b/app/src/main/res/drawable/logo.png differ diff --git a/app/src/main/res/values/styles.xml b/app/src/main/res/values/styles.xml index 3f42431..249fe96 100644 --- a/app/src/main/res/values/styles.xml +++ b/app/src/main/res/values/styles.xml @@ -7,6 +7,10 @@ @color/white + +