sduduzog пре 7 година
родитељ
комит
9259800080

+ 7 - 1
app/src/main/java/com/sduduzog/slimlauncher/MainActivity.kt

@@ -16,13 +16,15 @@ class MainActivity : AppCompatActivity(), SharedPreferences.OnSharedPreferenceCh
     private val label = "main_fragment"
     private lateinit var currentLabel: String
     private lateinit var viewModel: MainViewModel
+    private lateinit var navigator: NavController
+    var onBackPressedListener: OnBackPressedListener? = null
 
     override fun onCreate(savedInstanceState: Bundle?) {
         super.onCreate(savedInstanceState)
         setContentView(R.layout.main_activity)
         settings = getSharedPreferences(getString(R.string.prefs_settings), MODE_PRIVATE)
         settings.registerOnSharedPreferenceChangeListener(this)
-        val navigator = findNavController(this, R.id.nav_host_fragment)
+        navigator = findNavController(this, R.id.nav_host_fragment)
         navigator.addOnNavigatedListener(this)
         viewModel = ViewModelProviders.of(this).get(MainViewModel::class.java)
     }
@@ -47,6 +49,7 @@ class MainActivity : AppCompatActivity(), SharedPreferences.OnSharedPreferenceCh
     override fun onBackPressed() {
         if (currentLabel != label)
             super.onBackPressed()
+        else onBackPressedListener?.onBackPressed()
     }
 
     override fun onNavigated(controller: NavController, destination: NavDestination) {
@@ -72,4 +75,7 @@ class MainActivity : AppCompatActivity(), SharedPreferences.OnSharedPreferenceCh
             return R.style.AppTheme
         }
     }
+    interface OnBackPressedListener{
+        fun onBackPressed()
+    }
 }

+ 15 - 3
app/src/main/java/com/sduduzog/slimlauncher/ui/main/MainFragment.kt

@@ -7,11 +7,11 @@ import android.content.*
 import android.net.Uri
 import android.os.Build
 import android.os.Bundle
-import android.support.constraint.ConstraintLayout
 import android.support.design.widget.BottomSheetBehavior
 import android.support.design.widget.BottomSheetBehavior.STATE_COLLAPSED
 import android.support.design.widget.BottomSheetBehavior.STATE_HALF_EXPANDED
 import android.support.v4.app.Fragment
+import android.support.v7.widget.CardView
 import android.util.Log
 import android.view.LayoutInflater
 import android.view.View
@@ -20,6 +20,7 @@ import android.widget.Toast
 import androidx.navigation.Navigation
 import com.daasuu.ei.Ease
 import com.daasuu.ei.EasingInterpolator
+import com.sduduzog.slimlauncher.MainActivity
 import com.sduduzog.slimlauncher.MainViewModel
 import com.sduduzog.slimlauncher.R
 import com.sduduzog.slimlauncher.data.HomeApp
@@ -34,7 +35,7 @@ class MainFragment : Fragment() {
     private lateinit var viewModel: MainViewModel
     private lateinit var receiver: BroadcastReceiver
     private lateinit var adapter: MainAppsAdapter
-    private lateinit var sheetBehavior: BottomSheetBehavior<ConstraintLayout>
+    private lateinit var sheetBehavior: BottomSheetBehavior<CardView>
     private lateinit var themeChooser: ThemeChooserDialog
 
     @Suppress("PropertyName")
@@ -78,6 +79,17 @@ class MainFragment : Fragment() {
         activity?.unregisterReceiver(receiver)
     }
 
+    override fun onAttach(context: Context?) {
+        super.onAttach(context)
+        with(context as MainActivity){
+            this.onBackPressedListener = object : MainActivity.OnBackPressedListener {
+                override fun onBackPressed() {
+                    sheetBehavior.state = STATE_COLLAPSED
+                }
+            }
+        }
+    }
+
     inner class ClockReceiver : BroadcastReceiver() {
         override fun onReceive(ctx: Context?, intent: Intent?) {
             updateUi()
@@ -116,7 +128,7 @@ class MainFragment : Fragment() {
     }
 
     private fun doBounceAnimation(targetView: View) {
-        val animator = ObjectAnimator.ofFloat(targetView, "translationY", 0f, -20f, 0f)
+        val animator = ObjectAnimator.ofFloat(targetView, "translationY", 0f, -40f, 0f)
         animator.interpolator = EasingInterpolator(Ease.QUINT_OUT)
         animator.startDelay = 1000
         animator.duration = 1000

+ 1 - 0
app/src/main/java/com/sduduzog/slimlauncher/ui/main/ThemeChooserDialog.kt

@@ -16,6 +16,7 @@ class ThemeChooserDialog : DialogFragment() {
         val builder = AlertDialog.Builder(context!!)
         settings = context!!.getSharedPreferences(getString(R.string.prefs_settings), MODE_PRIVATE)
         val active = settings.getInt(getString(R.string.prefs_settings_key_theme), 0)
+        builder.setTitle(R.string.theme_chooser_dialog_title)
         builder.setSingleChoiceItems(R.array.themes_array, active) { dialogInterface, i ->
             dialogInterface.dismiss()
             settings.edit().putInt(getString(R.string.prefs_settings_key_theme), i).apply()

+ 85 - 76
app/src/main/res/layout/main_bottom_sheet.xml

@@ -1,92 +1,101 @@
 <?xml version="1.0" encoding="utf-8"?>
-<android.support.constraint.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
+<android.support.v7.widget.CardView xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:app="http://schemas.android.com/apk/res-auto"
     xmlns:tools="http://schemas.android.com/tools"
     android:id="@+id/bottomSheet"
     android:layout_width="match_parent"
     android:layout_height="match_parent"
-    android:background="?android:attr/colorBackground"
     app:behavior_peekHeight="50dp"
     app:behavior_skipCollapsed="true"
+    app:cardBackgroundColor="?android:attr/colorBackground"
+    app:cardCornerRadius="0dp"
+    app:cardElevation="8dp"
     app:layout_behavior="android.support.design.widget.BottomSheetBehavior"
-    tools:context=".MainActivity"
-    tools:layout_editor_absoluteY="25dp"
-    tools:ignore="Overdraw">
+    tools:context=".MainActivity">
 
-    <TextView
-        android:id="@+id/textView"
-        android:layout_width="wrap_content"
-        android:layout_height="wrap_content"
-        android:layout_marginStart="16dp"
-        android:layout_marginLeft="16dp"
-        android:layout_marginTop="16dp"
-        android:text="@string/main_slim_options"
-        app:layout_constraintStart_toStartOf="parent"
-        app:layout_constraintTop_toTopOf="parent" />
+    <android.support.constraint.ConstraintLayout
+        android:layout_width="match_parent"
+        android:layout_height="match_parent"
+        tools:ignore="Overdraw"
+        tools:layout_editor_absoluteY="25dp">
 
-    <TextView
-        android:id="@+id/changeThemeText"
-        android:layout_width="wrap_content"
-        android:layout_height="wrap_content"
-        android:layout_marginTop="32dp"
-        android:text="@string/main_options_change_theme"
-        android:textSize="24sp"
-        app:layout_constraintStart_toStartOf="@+id/deviceSettingsText"
-        app:layout_constraintTop_toBottomOf="@+id/deviceSettingsText" />
+        <TextView
+            android:id="@+id/textView"
+            android:layout_width="wrap_content"
+            android:layout_height="wrap_content"
+            android:layout_marginStart="16dp"
+            android:layout_marginLeft="16dp"
+            android:layout_marginTop="16dp"
+            android:text="@string/main_slim_options"
+            app:layout_constraintStart_toStartOf="parent"
+            app:layout_constraintTop_toTopOf="parent" />
 
-    <TextView
-        android:id="@+id/settingsText"
-        android:layout_width="wrap_content"
-        android:layout_height="0dp"
-        android:layout_marginTop="32dp"
-        android:text="@string/main_options_home_screen_apps"
-        android:textSize="24sp"
-        app:layout_constraintStart_toStartOf="@+id/changeThemeText"
-        app:layout_constraintTop_toBottomOf="@+id/changeThemeText" />
+        <TextView
+            android:id="@+id/changeThemeText"
+            android:layout_width="wrap_content"
+            android:layout_height="wrap_content"
+            android:layout_marginTop="32dp"
+            android:text="@string/main_options_change_theme"
+            android:textSize="24sp"
+            app:layout_constraintStart_toStartOf="@+id/deviceSettingsText"
+            app:layout_constraintTop_toBottomOf="@+id/deviceSettingsText" />
 
-    <TextView
-        android:id="@+id/deviceSettingsText"
-        android:layout_width="wrap_content"
-        android:layout_height="wrap_content"
-        android:layout_marginStart="32dp"
-        android:layout_marginLeft="32dp"
-        android:layout_marginTop="32dp"
-        android:text="@string/main_options_settings"
-        android:textSize="24sp"
-        app:layout_constraintStart_toStartOf="parent"
-        app:layout_constraintTop_toBottomOf="@+id/textView" />
+        <TextView
+            android:id="@+id/settingsText"
+            android:layout_width="wrap_content"
+            android:layout_height="0dp"
+            android:layout_marginTop="32dp"
+            android:text="@string/main_options_home_screen_apps"
+            android:textSize="24sp"
+            app:layout_constraintStart_toStartOf="@+id/changeThemeText"
+            app:layout_constraintTop_toBottomOf="@+id/changeThemeText" />
 
-    <TextView
-        android:id="@+id/aboutText"
-        android:layout_width="wrap_content"
-        android:layout_height="wrap_content"
-        android:layout_marginTop="32dp"
-        android:text="@string/main_options_about_slim"
-        android:textSize="24sp"
-        app:layout_constraintStart_toStartOf="@+id/settingsText"
-        app:layout_constraintTop_toBottomOf="@+id/settingsText" />
+        <TextView
+            android:id="@+id/deviceSettingsText"
+            android:layout_width="wrap_content"
+            android:layout_height="wrap_content"
+            android:layout_marginStart="32dp"
+            android:layout_marginLeft="32dp"
+            android:layout_marginTop="32dp"
+            android:text="@string/main_options_settings"
+            android:textSize="24sp"
+            app:layout_constraintStart_toStartOf="parent"
+            app:layout_constraintTop_toBottomOf="@+id/textView" />
 
-    <TextView
-        android:id="@+id/rateAppText"
-        android:layout_width="wrap_content"
-        android:layout_height="wrap_content"
-        android:layout_marginEnd="32dp"
-        android:layout_marginRight="32dp"
-        android:layout_marginBottom="24dp"
-        android:text="@string/main_options_rate_the_app"
-        android:textSize="16sp"
-        app:layout_constraintBottom_toBottomOf="parent"
-        app:layout_constraintEnd_toEndOf="parent" />
+        <TextView
+            android:id="@+id/aboutText"
+            android:layout_width="wrap_content"
+            android:layout_height="wrap_content"
+            android:layout_marginTop="32dp"
+            android:text="@string/main_options_about_slim"
+            android:textSize="24sp"
+            app:layout_constraintStart_toStartOf="@+id/settingsText"
+            app:layout_constraintTop_toBottomOf="@+id/settingsText" />
 
-    <TextView
-        android:id="@+id/changeLauncherText"
-        android:layout_width="wrap_content"
-        android:layout_height="wrap_content"
-        android:layout_marginStart="32dp"
-        android:layout_marginLeft="32dp"
-        android:layout_marginBottom="24dp"
-        android:text="@string/main_options_change_launcher"
-        android:textSize="16sp"
-        app:layout_constraintBottom_toBottomOf="parent"
-        app:layout_constraintStart_toStartOf="parent" />
-</android.support.constraint.ConstraintLayout>
+        <TextView
+            android:id="@+id/rateAppText"
+            android:layout_width="wrap_content"
+            android:layout_height="wrap_content"
+            android:layout_marginEnd="32dp"
+            android:layout_marginRight="32dp"
+            android:layout_marginBottom="24dp"
+            android:text="@string/main_options_feedback"
+            android:textSize="16sp"
+            app:layout_constraintBottom_toBottomOf="parent"
+            app:layout_constraintEnd_toEndOf="parent" />
+
+        <TextView
+            android:id="@+id/changeLauncherText"
+            android:layout_width="wrap_content"
+            android:layout_height="wrap_content"
+            android:layout_marginStart="32dp"
+            android:layout_marginLeft="32dp"
+            android:layout_marginBottom="24dp"
+            android:text="@string/main_options_change_launcher"
+            android:textSize="16sp"
+            app:layout_constraintBottom_toBottomOf="parent"
+            app:layout_constraintStart_toStartOf="parent" />
+
+
+    </android.support.constraint.ConstraintLayout>
+</android.support.v7.widget.CardView>

+ 14 - 4
app/src/main/res/values/strings.xml

@@ -5,10 +5,10 @@
 
     <string-array name="themes_array">
         <item>Default</item>
-        <item>Dark</item>
-        <item>Grey</item>
+        <item>Midnight</item>
+        <item>Jupiter</item>
         <item>Teal</item>
-        <item>Pink</item>
+        <item>Candy</item>
     </string-array>
 
     <string name="prefs_settings">settings</string>
@@ -18,7 +18,7 @@
     <string name="main_options_home_screen_apps">Home screen apps</string>
     <string name="main_options_settings">Settings</string>
     <string name="main_options_about_slim">About Slim</string>
-    <string name="main_options_rate_the_app">Rate the app</string>
+    <string name="main_options_feedback">Feedback</string>
     <string name="main_options_change_launcher">Change launcher</string>
     <string name="settings_item_button_remove">remove</string>
     <string name="settings_title">Home screen apps</string>
@@ -28,6 +28,15 @@
     <string name="about_text">
         Created by : Beautus S Gumede\n
         Source : <a href="https://github.com/sduduzog/slim-launcher">https://github.com/sduduzog/slim-launcher</a>\n\n
+        Slim is an open source application launcher created to be a minimal and simple launcher to
+        help users spend less time on their phones. Obviously the less you use your phone, the more
+        time spent living life as it was intended.\n\n
+        The moment you ask questions like \"Why can\'t I add more than 5 apps on this launcher?\" Well
+        that\'s the whole point! Do you really NEED and USE more that 5 apps on your phone? EVERYDAY?\n\n
+        Anyways rate the app on google play and leave feedback or drop me an email
+        at <a href="mailto:gumedesduduzo@gmail.com">gumedesduduzo@gmail.com</a>\n\n
+        <a href="https://play.google.com/apps/testing/com.sduduzog.slimlauncher">Become a tester</a>
+        and receive the latest updates of the unreleased version of the app.\n\n
         3rd party credits/licences\n\n
         Copyright 2015 MasayukiSuda\n\n
         MIT License\n\n
@@ -47,5 +56,6 @@
         DEALINGS IN THE SOFTWARE.
     </string>
     <string name="content_description_expand_up">Expand up icon</string>
+    <string name="theme_chooser_dialog_title">Change theme</string>
 
 </resources>