From 7669c44b4d15e53e75903cbb17f48a4ccd8132c3 Mon Sep 17 00:00:00 2001 From: Finn M Glas Date: Wed, 17 Jun 2020 20:42:45 +0200 Subject: [PATCH] Rename packages and move files - Rename MainActivity to HomeActivity - Move functions.kt one level up - Rename package `extern` to `libraries` - Fix layouts and layout elements (nomenclature: `activity_fragment_element`) - Move SectionsPagerAdapter code into the related activity kotlin file --- app/src/main/AndroidManifest.xml | 4 +- .../launcher/{extern => }/Functions.kt | 7 +- .../{MainActivity.kt => HomeActivity.kt} | 97 +++++++++++++------ .../choose/ChooseSectionsPagerAdapter.kt | 38 -------- .../{extern => libraries}/FontAwesome.kt | 2 +- .../ListActivity.kt} | 69 +++++++++---- .../launcher/{choose => list}/apps/AppInfo.kt | 2 +- .../apps/AppsRecyclerAdapter.kt | 29 +++--- .../apps/ChooseFragmentApps.kt | 17 ++-- .../other/ChooseFragmentOther.kt | 14 +-- .../{choose => list}/other/OtherInfo.kt | 2 +- .../other/OtherRecyclerAdapter.kt | 13 +-- .../launcher/settings/SettingsActivity.kt | 60 +++++++++--- .../settings/SettingsSectionsPagerAdapter.kt | 36 ------- .../actions/ActionsRecyclerAdapter.kt | 71 +++++++++----- ...mentApps.kt => SettingsFragmentActions.kt} | 31 +++--- .../settings/meta/SettingsFragmentMeta.kt | 89 +++++++++++------ .../settings/theme/SettingsFragmentTheme.kt | 72 +++++++++----- .../launcher/tutorial/TutorialActivity.kt | 36 +++---- .../main/res/layout/fragment_choose_apps.xml | 33 ------- .../main/res/layout/fragment_choose_other.xml | 33 ------- .../res/layout/fragment_settings_apps.xml | 60 ------------ .../layout/{activity_main.xml => home.xml} | 15 +-- .../layout/{activity_choose.xml => list.xml} | 19 ++-- app/src/main/res/layout/list_apps.xml | 23 +++++ ...ecycler_apps_row.xml => list_apps_row.xml} | 14 +-- app/src/main/res/layout/list_other.xml | 23 +++++ ...ycler_other_row.xml => list_other_row.xml} | 11 ++- .../{activity_settings.xml => settings.xml} | 21 ++-- app/src/main/res/layout/settings_actions.xml | 49 ++++++++++ ...tions_row.xml => settings_actions_row.xml} | 30 +++--- ...nt_settings_meta.xml => settings_meta.xml} | 29 +++--- ..._settings_theme.xml => settings_theme.xml} | 23 +++-- .../{activity_tutorial.xml => tutorial.xml} | 21 ++-- 34 files changed, 604 insertions(+), 489 deletions(-) rename app/src/main/java/com/finnmglas/launcher/{extern => }/Functions.kt (98%) rename app/src/main/java/com/finnmglas/launcher/{MainActivity.kt => HomeActivity.kt} (77%) delete mode 100644 app/src/main/java/com/finnmglas/launcher/choose/ChooseSectionsPagerAdapter.kt rename app/src/main/java/com/finnmglas/launcher/{extern => libraries}/FontAwesome.kt (96%) rename app/src/main/java/com/finnmglas/launcher/{choose/ChooseActivity.kt => list/ListActivity.kt} (56%) rename app/src/main/java/com/finnmglas/launcher/{choose => list}/apps/AppInfo.kt (82%) rename app/src/main/java/com/finnmglas/launcher/{choose => list}/apps/AppsRecyclerAdapter.kt (85%) rename app/src/main/java/com/finnmglas/launcher/{choose => list}/apps/ChooseFragmentApps.kt (70%) rename app/src/main/java/com/finnmglas/launcher/{choose => list}/other/ChooseFragmentOther.kt (70%) rename app/src/main/java/com/finnmglas/launcher/{choose => list}/other/OtherInfo.kt (78%) rename app/src/main/java/com/finnmglas/launcher/{choose => list}/other/OtherRecyclerAdapter.kt (82%) delete mode 100644 app/src/main/java/com/finnmglas/launcher/settings/SettingsSectionsPagerAdapter.kt rename app/src/main/java/com/finnmglas/launcher/settings/actions/{SettingsFragmentApps.kt => SettingsFragmentActions.kt} (69%) delete mode 100644 app/src/main/res/layout/fragment_choose_apps.xml delete mode 100644 app/src/main/res/layout/fragment_choose_other.xml delete mode 100644 app/src/main/res/layout/fragment_settings_apps.xml rename app/src/main/res/layout/{activity_main.xml => home.xml} (85%) rename app/src/main/res/layout/{activity_choose.xml => list.xml} (84%) create mode 100644 app/src/main/res/layout/list_apps.xml rename app/src/main/res/layout/{recycler_apps_row.xml => list_apps_row.xml} (75%) create mode 100644 app/src/main/res/layout/list_other.xml rename app/src/main/res/layout/{recycler_other_row.xml => list_other_row.xml} (75%) rename app/src/main/res/layout/{activity_settings.xml => settings.xml} (86%) create mode 100644 app/src/main/res/layout/settings_actions.xml rename app/src/main/res/layout/{recycler_actions_row.xml => settings_actions_row.xml} (64%) rename app/src/main/res/layout/{fragment_settings_meta.xml => settings_meta.xml} (79%) rename app/src/main/res/layout/{fragment_settings_theme.xml => settings_theme.xml} (85%) rename app/src/main/res/layout/{activity_tutorial.xml => tutorial.xml} (85%) diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index d9008aa..4da5647 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -14,7 +14,7 @@ android:supportsRtl="true" android:theme="@style/finnmglasTheme"> - @@ -28,7 +28,7 @@ android:screenOrientation="portrait" tools:ignore="LockedOrientationActivity"> - diff --git a/app/src/main/java/com/finnmglas/launcher/extern/Functions.kt b/app/src/main/java/com/finnmglas/launcher/Functions.kt similarity index 98% rename from app/src/main/java/com/finnmglas/launcher/extern/Functions.kt rename to app/src/main/java/com/finnmglas/launcher/Functions.kt index f079f5b..77a6ff4 100644 --- a/app/src/main/java/com/finnmglas/launcher/extern/Functions.kt +++ b/app/src/main/java/com/finnmglas/launcher/Functions.kt @@ -1,4 +1,4 @@ -package com.finnmglas.launcher.extern +package com.finnmglas.launcher import android.app.Activity import android.app.AlertDialog @@ -17,8 +17,7 @@ import android.view.animation.* import android.widget.Button import android.widget.ImageView import android.widget.Toast -import com.finnmglas.launcher.choose.ChooseActivity -import com.finnmglas.launcher.R +import com.finnmglas.launcher.list.ListActivity import com.finnmglas.launcher.settings.SettingsActivity import com.finnmglas.launcher.settings.intendedSettingsPause import kotlin.math.roundToInt @@ -217,7 +216,7 @@ fun openSettings(activity: Activity){ } fun openAppsList(activity: Activity){ - val intent = Intent(activity, ChooseActivity::class.java) + val intent = Intent(activity, ListActivity::class.java) intent.putExtra("action", "view") intendedSettingsPause = true activity.startActivity(intent) diff --git a/app/src/main/java/com/finnmglas/launcher/MainActivity.kt b/app/src/main/java/com/finnmglas/launcher/HomeActivity.kt similarity index 77% rename from app/src/main/java/com/finnmglas/launcher/MainActivity.kt rename to app/src/main/java/com/finnmglas/launcher/HomeActivity.kt index 3768a38..93d40ea 100644 --- a/app/src/main/java/com/finnmglas/launcher/MainActivity.kt +++ b/app/src/main/java/com/finnmglas/launcher/HomeActivity.kt @@ -11,10 +11,9 @@ import android.view.* import androidx.appcompat.app.AppCompatActivity import androidx.core.view.GestureDetectorCompat import androidx.recyclerview.widget.RecyclerView -import com.finnmglas.launcher.choose.apps.AppsRecyclerAdapter -import com.finnmglas.launcher.extern.* +import com.finnmglas.launcher.list.apps.AppsRecyclerAdapter import com.finnmglas.launcher.tutorial.TutorialActivity -import kotlinx.android.synthetic.main.activity_main.* +import kotlinx.android.synthetic.main.home.* import java.text.SimpleDateFormat import java.util.* import kotlin.concurrent.fixedRateTimer @@ -24,7 +23,7 @@ import kotlin.math.abs lateinit var viewAdapter: RecyclerView.Adapter<*> lateinit var viewManager: RecyclerView.LayoutManager -class MainActivity : AppCompatActivity(), +class HomeActivity : AppCompatActivity(), GestureDetector.OnGestureListener, GestureDetector.OnDoubleTapListener { private var currentTheme = "" // keep track of theme changes @@ -74,13 +73,13 @@ class MainActivity : AppCompatActivity(), else -> R.style.customTheme } ) - setContentView(R.layout.activity_main) + setContentView(R.layout.home) // Start by showing the settings icon showSettingsIcon() // As older APIs somehow do not recognize the xml defined onClick - activity_main_settings_icon.setOnClickListener() { + home_settings_icon.setOnClickListener() { openSettings(this) overridePendingTransition(R.anim.bottom_up, android.R.anim.fade_out) } @@ -107,7 +106,7 @@ class MainActivity : AppCompatActivity(), loadSettings(sharedPref) if (currentTheme == "custom") { - activity_main_settings_icon.setTextColor(vibrantColor) + home_settings_icon.setTextColor(vibrantColor) } mDetector = GestureDetectorCompat(this, this) @@ -121,21 +120,23 @@ class MainActivity : AppCompatActivity(), // TODO: do this immediately after changing preferences if (currentTheme != getSavedTheme(this)) recreate() - if (activity_main_background_image != null && getSavedTheme(this) == "custom") - activity_main_background_image.setImageBitmap(background) + if (home_background_image != null && getSavedTheme( + this + ) == "custom") + home_background_image.setImageBitmap(background) val dateFormat = SimpleDateFormat("yyyy-MM-dd", Locale.getDefault()) val timeFormat = SimpleDateFormat("HH:mm:ss", Locale.getDefault()) clockTimer = fixedRateTimer("clockTimer", true, 0L, 100) { - this@MainActivity.runOnUiThread { + this@HomeActivity.runOnUiThread { val t = timeFormat.format(Date()) - if (activity_main_time_view.text != t) - activity_main_time_view.text = t + if (home_time_view.text != t) + home_time_view.text = t val d = dateFormat.format(Date()) - if (activity_main_date_view.text != d) - activity_main_date_view.text = d + if (home_date_view.text != d) + home_date_view.text = d } } } @@ -149,13 +150,29 @@ class MainActivity : AppCompatActivity(), override fun onKeyDown(keyCode: Int, event: KeyEvent?): Boolean { if (keyCode == KeyEvent.KEYCODE_BACK) { if (settingsIconShown) hideSettingsIcon() } - else if (keyCode == KeyEvent.KEYCODE_VOLUME_UP) launch(volumeUpApp, this) - else if (keyCode == KeyEvent.KEYCODE_VOLUME_DOWN) launch(volumeDownApp, this) + else if (keyCode == KeyEvent.KEYCODE_VOLUME_UP) launch( + volumeUpApp, + this + ) + else if (keyCode == KeyEvent.KEYCODE_VOLUME_DOWN) launch( + volumeDownApp, + this + ) return true } - fun dateViewOnTouch(v: View) { launch(calendarApp, this) } - fun timeViewOnTouch(v: View) { launch(clockApp, this) } + fun dateViewOnTouch(v: View) { + launch( + calendarApp, + this + ) + } + fun timeViewOnTouch(v: View) { + launch( + clockApp, + this + ) + } override fun onFling(e1: MotionEvent, e2: MotionEvent, dX: Float, dY: Float): Boolean { @@ -168,24 +185,42 @@ class MainActivity : AppCompatActivity(), val strictness = 4 // how distinguished the swipe has to be to be accepted // Only open if the swipe was not from the phones top edge - if (diffY < -height / 8 && abs(diffY) > strictness * abs(diffX) && e1.y > 100) launch(downApp, this) + if (diffY < -height / 8 && abs(diffY) > strictness * abs(diffX) && e1.y > 100) launch( + downApp, + this + ) else if (diffY > height / 8 && abs(diffY) > strictness * abs(diffX)) { - launch(upApp, this) + launch( + upApp, + this + ) overridePendingTransition(R.anim.bottom_up, android.R.anim.fade_out) } - else if (diffX > width / 4 && abs(diffX) > strictness * abs(diffY)) launch(leftApp, this) - else if (diffX < -width / 4 && abs(diffX) > strictness * abs(diffY)) launch(rightApp, this) + else if (diffX > width / 4 && abs(diffX) > strictness * abs(diffY)) launch( + leftApp, + this + ) + else if (diffX < -width / 4 && abs(diffX) > strictness * abs(diffY)) launch( + rightApp, + this + ) return true } override fun onLongPress(event: MotionEvent) { - if(longClickApp != "") launch(longClickApp, this) + if(longClickApp != "") launch( + longClickApp, + this + ) else openSettings(this) } override fun onDoubleTap(event: MotionEvent): Boolean { - launch(doubleClickApp, this) + launch( + doubleClickApp, + this + ) return false } @@ -201,23 +236,25 @@ class MainActivity : AppCompatActivity(), } private fun showSettingsIcon(){ - activity_main_settings_icon.fadeRotateIn() - activity_main_settings_icon.visibility = View.VISIBLE + home_settings_icon.fadeRotateIn() + home_settings_icon.visibility = View.VISIBLE settingsIconShown = true tooltipTimer = fixedRateTimer("tooltipTimer", true, 10000, 1000) { - this@MainActivity.runOnUiThread { hideSettingsIcon() } + this@HomeActivity.runOnUiThread { hideSettingsIcon() } } } private fun hideSettingsIcon(){ tooltipTimer.cancel() - activity_main_settings_icon.fadeRotateOut() - activity_main_settings_icon.visibility = View.INVISIBLE + home_settings_icon.fadeRotateOut() + home_settings_icon.visibility = View.INVISIBLE settingsIconShown = false } - fun settingsIconOnTouch(view: View){ openSettings(this) } + fun settingsIconOnTouch(view: View){ + openSettings(this) + } override fun onTouchEvent(event: MotionEvent): Boolean { return if (mDetector.onTouchEvent(event)) { false } else { super.onTouchEvent(event) } diff --git a/app/src/main/java/com/finnmglas/launcher/choose/ChooseSectionsPagerAdapter.kt b/app/src/main/java/com/finnmglas/launcher/choose/ChooseSectionsPagerAdapter.kt deleted file mode 100644 index 62563b6..0000000 --- a/app/src/main/java/com/finnmglas/launcher/choose/ChooseSectionsPagerAdapter.kt +++ /dev/null @@ -1,38 +0,0 @@ -package com.finnmglas.launcher.choose - -import android.content.Context -import androidx.fragment.app.Fragment -import androidx.fragment.app.FragmentManager -import androidx.fragment.app.FragmentPagerAdapter -import com.finnmglas.launcher.* -import com.finnmglas.launcher.choose.apps.ChooseFragmentApps -import com.finnmglas.launcher.choose.other.ChooseFragmentOther - -private val TAB_TITLES = arrayOf( - R.string.choose_tab_app, - R.string.choose_tab_other -) - -/** Returns the fragment corresponding to the selected tab.*/ -class ChooseSectionsPagerAdapter(private val context: Context, fm: FragmentManager) - : FragmentPagerAdapter(fm, BEHAVIOR_RESUME_ONLY_CURRENT_FRAGMENT) { - - override fun getItem(position: Int): Fragment { - return when (position){ - 0 -> ChooseFragmentApps() - 1 -> ChooseFragmentOther() - else -> Fragment() - } - } - - override fun getPageTitle(position: Int): CharSequence? { - return context.resources.getString(TAB_TITLES[position]) - } - - override fun getCount(): Int { - return when (action) { - "view" -> 1 - else -> 2 - } - } -} \ No newline at end of file diff --git a/app/src/main/java/com/finnmglas/launcher/extern/FontAwesome.kt b/app/src/main/java/com/finnmglas/launcher/libraries/FontAwesome.kt similarity index 96% rename from app/src/main/java/com/finnmglas/launcher/extern/FontAwesome.kt rename to app/src/main/java/com/finnmglas/launcher/libraries/FontAwesome.kt index 4b8f2fb..99cbf71 100644 --- a/app/src/main/java/com/finnmglas/launcher/extern/FontAwesome.kt +++ b/app/src/main/java/com/finnmglas/launcher/libraries/FontAwesome.kt @@ -1,4 +1,4 @@ -package com.finnmglas.launcher.extern // replace with your package +package com.finnmglas.launcher.libraries // replace with your package // On GitHub: https://github.com/finnmglas/fontawesome-android diff --git a/app/src/main/java/com/finnmglas/launcher/choose/ChooseActivity.kt b/app/src/main/java/com/finnmglas/launcher/list/ListActivity.kt similarity index 56% rename from app/src/main/java/com/finnmglas/launcher/choose/ChooseActivity.kt rename to app/src/main/java/com/finnmglas/launcher/list/ListActivity.kt index f582dc2..0264291 100644 --- a/app/src/main/java/com/finnmglas/launcher/choose/ChooseActivity.kt +++ b/app/src/main/java/com/finnmglas/launcher/list/ListActivity.kt @@ -1,4 +1,4 @@ -package com.finnmglas.launcher.choose +package com.finnmglas.launcher.list import android.app.Activity import android.content.Intent @@ -8,20 +8,26 @@ import android.view.WindowManager import android.widget.Toast import androidx.appcompat.app.AppCompatActivity import androidx.viewpager.widget.ViewPager -import com.finnmglas.launcher.R -import com.finnmglas.launcher.extern.* +import com.finnmglas.launcher.* import com.finnmglas.launcher.settings.intendedSettingsPause import com.google.android.material.tabs.TabLayout -import kotlinx.android.synthetic.main.activity_choose.* +import kotlinx.android.synthetic.main.list.* + +import android.content.Context +import androidx.fragment.app.Fragment +import androidx.fragment.app.FragmentManager +import androidx.fragment.app.FragmentPagerAdapter +import com.finnmglas.launcher.list.apps.ChooseFragmentApps +import com.finnmglas.launcher.list.other.ChooseFragmentOther var intendedChoosePause = false // know when to close -// TODO: Better solution for this (used in choose-fragments) +// TODO: Better solution for this (used in list-fragments) var action = "view" var forApp = "" -class ChooseActivity : AppCompatActivity() { +class ListActivity : AppCompatActivity() { override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) @@ -36,16 +42,16 @@ class ChooseActivity : AppCompatActivity() { else -> R.style.finnmglasTheme } ) - setContentView(R.layout.activity_choose) + setContentView(R.layout.list) if (getSavedTheme(this) == "custom") { - activity_choose_container.setBackgroundColor(dominantColor) - activity_choose_app_bar.setBackgroundColor(dominantColor) - activity_choose_close.setTextColor(vibrantColor) + list_container.setBackgroundColor(dominantColor) + list_appbar.setBackgroundColor(dominantColor) + list_close.setTextColor(vibrantColor) } // As older APIs somehow do not recognize the xml defined onClick - activity_choose_close.setOnClickListener() { finish() } + list_close.setOnClickListener() { finish() } // get info about which action this activity is open for val bundle = intent.extras @@ -57,18 +63,18 @@ class ChooseActivity : AppCompatActivity() { // Hide tabs for the "view" action if (action == "view") { - activity_choose_tabs.visibility = View.GONE + list_tabs.visibility = View.GONE } when (action) { - "view" -> activity_choose_heading.text = getString(R.string.choose_title_view) - "pick" -> activity_choose_heading.text = getString(R.string.choose_title) + "view" -> list_heading.text = getString(R.string.choose_title_view) + "pick" -> list_heading.text = getString(R.string.choose_title) } - val sectionsPagerAdapter = ChooseSectionsPagerAdapter(this, supportFragmentManager) - val viewPager: ViewPager = findViewById(R.id.activity_choose_view_pager) + val sectionsPagerAdapter = ListSectionsPagerAdapter(this, supportFragmentManager) + val viewPager: ViewPager = findViewById(R.id.list_viewpager) viewPager.adapter = sectionsPagerAdapter - val tabs: TabLayout = findViewById(R.id.activity_choose_tabs) + val tabs: TabLayout = findViewById(R.id.list_tabs) tabs.setupWithViewPager(viewPager) } @@ -101,3 +107,32 @@ class ChooseActivity : AppCompatActivity() { fun backHome(view: View) { finish() } } + +private val TAB_TITLES = arrayOf( + R.string.choose_tab_app, + R.string.choose_tab_other +) + +/** Returns the fragment corresponding to the selected tab.*/ +class ListSectionsPagerAdapter(private val context: Context, fm: FragmentManager) + : FragmentPagerAdapter(fm, BEHAVIOR_RESUME_ONLY_CURRENT_FRAGMENT) { + + override fun getItem(position: Int): Fragment { + return when (position){ + 0 -> ChooseFragmentApps() + 1 -> ChooseFragmentOther() + else -> Fragment() + } + } + + override fun getPageTitle(position: Int): CharSequence? { + return context.resources.getString(TAB_TITLES[position]) + } + + override fun getCount(): Int { + return when (action) { + "view" -> 1 + else -> 2 + } + } +} \ No newline at end of file diff --git a/app/src/main/java/com/finnmglas/launcher/choose/apps/AppInfo.kt b/app/src/main/java/com/finnmglas/launcher/list/apps/AppInfo.kt similarity index 82% rename from app/src/main/java/com/finnmglas/launcher/choose/apps/AppInfo.kt rename to app/src/main/java/com/finnmglas/launcher/list/apps/AppInfo.kt index 9de1cdd..3266d63 100644 --- a/app/src/main/java/com/finnmglas/launcher/choose/apps/AppInfo.kt +++ b/app/src/main/java/com/finnmglas/launcher/list/apps/AppInfo.kt @@ -1,4 +1,4 @@ -package com.finnmglas.launcher.choose.apps +package com.finnmglas.launcher.list.apps import android.graphics.drawable.Drawable diff --git a/app/src/main/java/com/finnmglas/launcher/choose/apps/AppsRecyclerAdapter.kt b/app/src/main/java/com/finnmglas/launcher/list/apps/AppsRecyclerAdapter.kt similarity index 85% rename from app/src/main/java/com/finnmglas/launcher/choose/apps/AppsRecyclerAdapter.kt rename to app/src/main/java/com/finnmglas/launcher/list/apps/AppsRecyclerAdapter.kt index a365086..082c211 100644 --- a/app/src/main/java/com/finnmglas/launcher/choose/apps/AppsRecyclerAdapter.kt +++ b/app/src/main/java/com/finnmglas/launcher/list/apps/AppsRecyclerAdapter.kt @@ -1,4 +1,4 @@ -package com.finnmglas.launcher.choose.apps +package com.finnmglas.launcher.list.apps import android.app.Activity import android.content.Context @@ -12,9 +12,9 @@ import android.widget.ImageView import android.widget.PopupMenu import android.widget.TextView import androidx.recyclerview.widget.RecyclerView -import com.finnmglas.launcher.R -import com.finnmglas.launcher.extern.* -import com.finnmglas.launcher.choose.intendedChoosePause +import com.finnmglas.launcher.* +import com.finnmglas.launcher.libraries.* +import com.finnmglas.launcher.list.intendedChoosePause class AppsRecyclerAdapter(val activity: Activity, val action: String?, val forApp: String?): RecyclerView.Adapter() { @@ -23,9 +23,9 @@ class AppsRecyclerAdapter(val activity: Activity, val action: String?, val forAp inner class ViewHolder(itemView: View) : RecyclerView.ViewHolder(itemView), View.OnClickListener { - var textView: TextView = itemView.findViewById(R.id.choose_row_app_name) - var img: ImageView = itemView.findViewById(R.id.choose_row_app_icon) as ImageView - var menuDots: FontAwesome = itemView.findViewById(R.id.choose_row_app_menu) + var textView: TextView = itemView.findViewById(R.id.list_apps_row_name) + var img: ImageView = itemView.findViewById(R.id.list_apps_row_icon) as ImageView + var menuDots: FontAwesome = itemView.findViewById(R.id.list_apps_row_menu) override fun onClick(v: View) { val pos = adapterPosition @@ -60,7 +60,9 @@ class AppsRecyclerAdapter(val activity: Activity, val action: String?, val forAp viewHolder.textView.text = appLabel viewHolder.img.setImageDrawable(appIcon) - if (getSavedTheme(activity) == "dark") transformGrayscale(viewHolder.img) + if (getSavedTheme(activity) == "dark") transformGrayscale( + viewHolder.img + ) // decide when to show the options popup menu about if (isSystemApp || action == "pick") { @@ -93,13 +95,18 @@ class AppsRecyclerAdapter(val activity: Activity, val action: String?, val forAp val intent = Intent(Intent.ACTION_UNINSTALL_PACKAGE) intent.data = Uri.parse("package:$appPackageName") intent.putExtra(Intent.EXTRA_RETURN_RESULT, true) - activity.startActivityForResult(intent, REQUEST_UNINSTALL) + activity.startActivityForResult(intent, + REQUEST_UNINSTALL + ) true } R.id.app_menu_info -> { // open app settings intendedChoosePause = true - openAppSettings(appPackageName, activity) + openAppSettings( + appPackageName, + activity + ) true } else -> false @@ -114,7 +121,7 @@ class AppsRecyclerAdapter(val activity: Activity, val action: String?, val forAp override fun onCreateViewHolder(parent: ViewGroup, viewType: Int): ViewHolder { val inflater = LayoutInflater.from(parent.context) - val view: View = inflater.inflate(R.layout.recycler_apps_row, parent, false) + val view: View = inflater.inflate(R.layout.list_apps_row, parent, false) return ViewHolder(view) } diff --git a/app/src/main/java/com/finnmglas/launcher/choose/apps/ChooseFragmentApps.kt b/app/src/main/java/com/finnmglas/launcher/list/apps/ChooseFragmentApps.kt similarity index 70% rename from app/src/main/java/com/finnmglas/launcher/choose/apps/ChooseFragmentApps.kt rename to app/src/main/java/com/finnmglas/launcher/list/apps/ChooseFragmentApps.kt index b7e6dee..12cc683 100644 --- a/app/src/main/java/com/finnmglas/launcher/choose/apps/ChooseFragmentApps.kt +++ b/app/src/main/java/com/finnmglas/launcher/list/apps/ChooseFragmentApps.kt @@ -1,4 +1,4 @@ -package com.finnmglas.launcher.choose.apps +package com.finnmglas.launcher.list.apps import android.os.Bundle import android.view.LayoutInflater @@ -7,10 +7,11 @@ import android.view.ViewGroup import androidx.fragment.app.Fragment import androidx.recyclerview.widget.LinearLayoutManager import com.finnmglas.launcher.R -import com.finnmglas.launcher.choose.action -import com.finnmglas.launcher.extern.* -import com.finnmglas.launcher.choose.forApp -import kotlinx.android.synthetic.main.fragment_choose_apps.* +import com.finnmglas.launcher.list.action +import com.finnmglas.launcher.list.forApp +import com.finnmglas.launcher.dominantColor +import com.finnmglas.launcher.getSavedTheme +import kotlinx.android.synthetic.main.list_apps.* /** The 'Apps' Tab associated Fragment in the Chooser */ @@ -23,14 +24,14 @@ class ChooseFragmentApps : Fragment() { inflater: LayoutInflater, container: ViewGroup?, savedInstanceState: Bundle? ): View? { - return inflater.inflate(R.layout.fragment_choose_apps, container, false) + return inflater.inflate(R.layout.list_apps, container, false) } override fun onStart() { super.onStart() if (getSavedTheme(context!!) == "custom") { - fragment_choose_apps_container.setBackgroundColor(dominantColor) + list_apps_container.setBackgroundColor(dominantColor) } // set up the list / recycler @@ -41,7 +42,7 @@ class ChooseFragmentApps : Fragment() { forApp ) - fragment_choose_apps_recycler_view.apply { + list_apps_rview.apply { // improve performance (since content changes don't change the layout size) setHasFixedSize(true) layoutManager = viewManager diff --git a/app/src/main/java/com/finnmglas/launcher/choose/other/ChooseFragmentOther.kt b/app/src/main/java/com/finnmglas/launcher/list/other/ChooseFragmentOther.kt similarity index 70% rename from app/src/main/java/com/finnmglas/launcher/choose/other/ChooseFragmentOther.kt rename to app/src/main/java/com/finnmglas/launcher/list/other/ChooseFragmentOther.kt index 6e1d55c..05dd933 100644 --- a/app/src/main/java/com/finnmglas/launcher/choose/other/ChooseFragmentOther.kt +++ b/app/src/main/java/com/finnmglas/launcher/list/other/ChooseFragmentOther.kt @@ -1,4 +1,4 @@ -package com.finnmglas.launcher.choose.other +package com.finnmglas.launcher.list.other import android.os.Bundle import android.view.LayoutInflater @@ -7,9 +7,9 @@ import android.view.ViewGroup import androidx.fragment.app.Fragment import androidx.recyclerview.widget.LinearLayoutManager import com.finnmglas.launcher.R -import com.finnmglas.launcher.extern.dominantColor -import com.finnmglas.launcher.extern.getSavedTheme -import kotlinx.android.synthetic.main.fragment_choose_other.* +import com.finnmglas.launcher.dominantColor +import com.finnmglas.launcher.getSavedTheme +import kotlinx.android.synthetic.main.list_other.* /** The 'Other' Tab associated Fragment in the Chooser */ @@ -21,19 +21,19 @@ class ChooseFragmentOther : Fragment() { inflater: LayoutInflater, container: ViewGroup?, savedInstanceState: Bundle? ): View? { - return inflater.inflate(R.layout.fragment_choose_other, container, false) + return inflater.inflate(R.layout.list_other, container, false) } override fun onStart() { if (getSavedTheme(context!!) == "custom") { - fragment_choose_other_container.setBackgroundColor(dominantColor) + list_other_container.setBackgroundColor(dominantColor) } // set up the list / recycler val viewManager = LinearLayoutManager(context) val viewAdapter = OtherRecyclerAdapter(activity!!) - fragment_choose_other_recycler_view.apply { + list_other_rview.apply { // improve performance (since content changes don't change the layout size) setHasFixedSize(true) layoutManager = viewManager diff --git a/app/src/main/java/com/finnmglas/launcher/choose/other/OtherInfo.kt b/app/src/main/java/com/finnmglas/launcher/list/other/OtherInfo.kt similarity index 78% rename from app/src/main/java/com/finnmglas/launcher/choose/other/OtherInfo.kt rename to app/src/main/java/com/finnmglas/launcher/list/other/OtherInfo.kt index e93c275..db96a31 100644 --- a/app/src/main/java/com/finnmglas/launcher/choose/other/OtherInfo.kt +++ b/app/src/main/java/com/finnmglas/launcher/list/other/OtherInfo.kt @@ -1,4 +1,4 @@ -package com.finnmglas.launcher.choose.other +package com.finnmglas.launcher.list.other class OtherInfo(label: String, data: String, icon: String) { var label: CharSequence? = label diff --git a/app/src/main/java/com/finnmglas/launcher/choose/other/OtherRecyclerAdapter.kt b/app/src/main/java/com/finnmglas/launcher/list/other/OtherRecyclerAdapter.kt similarity index 82% rename from app/src/main/java/com/finnmglas/launcher/choose/other/OtherRecyclerAdapter.kt rename to app/src/main/java/com/finnmglas/launcher/list/other/OtherRecyclerAdapter.kt index 36ab5dc..4b9f147 100644 --- a/app/src/main/java/com/finnmglas/launcher/choose/other/OtherRecyclerAdapter.kt +++ b/app/src/main/java/com/finnmglas/launcher/list/other/OtherRecyclerAdapter.kt @@ -1,4 +1,4 @@ -package com.finnmglas.launcher.choose.other +package com.finnmglas.launcher.list.other import android.app.Activity import android.content.Intent @@ -8,8 +8,9 @@ import android.view.ViewGroup import android.widget.TextView import androidx.recyclerview.widget.RecyclerView import com.finnmglas.launcher.R -import com.finnmglas.launcher.extern.* -import com.finnmglas.launcher.choose.forApp +import com.finnmglas.launcher.REQUEST_CHOOSE_APP +import com.finnmglas.launcher.libraries.* +import com.finnmglas.launcher.list.forApp /* Will only be used if an app / action is picked */ class OtherRecyclerAdapter(val activity: Activity): @@ -19,8 +20,8 @@ class OtherRecyclerAdapter(val activity: Activity): inner class ViewHolder(itemView: View) : RecyclerView.ViewHolder(itemView), View.OnClickListener { - var textView: TextView = itemView.findViewById(R.id.row_other_name) - var iconView: FontAwesome = itemView.findViewById(R.id.row_other_fa_icon) + var textView: TextView = itemView.findViewById(R.id.list_other_row_name) + var iconView: FontAwesome = itemView.findViewById(R.id.list_other_row_icon) override fun onClick(v: View) { @@ -45,7 +46,7 @@ class OtherRecyclerAdapter(val activity: Activity): override fun onCreateViewHolder(parent: ViewGroup, viewType: Int): ViewHolder { val inflater = LayoutInflater.from(parent.context) - val view: View = inflater.inflate(R.layout.recycler_other_row, parent, false) + val view: View = inflater.inflate(R.layout.list_other_row, parent, false) return ViewHolder(view) } diff --git a/app/src/main/java/com/finnmglas/launcher/settings/SettingsActivity.kt b/app/src/main/java/com/finnmglas/launcher/settings/SettingsActivity.kt index 192bb39..4805a22 100644 --- a/app/src/main/java/com/finnmglas/launcher/settings/SettingsActivity.kt +++ b/app/src/main/java/com/finnmglas/launcher/settings/SettingsActivity.kt @@ -9,10 +9,17 @@ import android.view.View import android.view.WindowManager import androidx.appcompat.app.AppCompatActivity import androidx.viewpager.widget.ViewPager -import com.finnmglas.launcher.R -import com.finnmglas.launcher.extern.* +import com.finnmglas.launcher.* import com.google.android.material.tabs.TabLayout -import kotlinx.android.synthetic.main.activity_settings.* +import kotlinx.android.synthetic.main.settings.* + +import androidx.fragment.app.Fragment +import androidx.fragment.app.FragmentManager +import androidx.fragment.app.FragmentPagerAdapter +import com.finnmglas.launcher.settings.actions.SettingsFragmentActions +import com.finnmglas.launcher.settings.meta.SettingsFragmentMeta +import com.finnmglas.launcher.settings.theme.SettingsFragmentTheme + var intendedSettingsPause = false // know when to close @@ -31,21 +38,21 @@ class SettingsActivity : AppCompatActivity() { } ) - setContentView(R.layout.activity_settings) + setContentView(R.layout.settings) window.setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, WindowManager.LayoutParams.FLAG_FULLSCREEN) window.addFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON) val sectionsPagerAdapter = SettingsSectionsPagerAdapter(this, supportFragmentManager) - val viewPager: ViewPager = findViewById(R.id.activity_settings_view_pager) + val viewPager: ViewPager = findViewById(R.id.settings_viewpager) viewPager.adapter = sectionsPagerAdapter - val tabs: TabLayout = findViewById(R.id.activity_settings_tabs) + val tabs: TabLayout = findViewById(R.id.settings_tabs) tabs.setupWithViewPager(viewPager) // As older APIs somehow do not recognize the xml defined onClick - activity_settings_close.setOnClickListener() { finish() } + settings_close.setOnClickListener() { finish() } // open device settings (see https://stackoverflow.com/a/62092663/12787264) - activity_settings_device_settings.setOnClickListener { + settings_system.setOnClickListener { intendedSettingsPause = true startActivity(Intent(Settings.ACTION_SETTINGS)) } @@ -55,12 +62,12 @@ class SettingsActivity : AppCompatActivity() { super.onStart() if (getSavedTheme(this) == "custom") { - activity_settings_container.setBackgroundColor(dominantColor) - activity_settings_app_bar.setBackgroundColor(dominantColor) + settings_container.setBackgroundColor(dominantColor) + settings_appbar.setBackgroundColor(dominantColor) - activity_settings_device_settings.setTextColor(vibrantColor) - activity_settings_close.setTextColor(vibrantColor) - activity_settings_tabs.setSelectedTabIndicatorColor(vibrantColor) + settings_system.setTextColor(vibrantColor) + settings_close.setTextColor(vibrantColor) + settings_tabs.setSelectedTabIndicatorColor(vibrantColor) } } @@ -96,5 +103,30 @@ class SettingsActivity : AppCompatActivity() { } } - } + +private val TAB_TITLES = arrayOf( + R.string.settings_tab_app, + R.string.settings_tab_theme, + R.string.settings_tab_launcher +) + +/** Returns the fragment corresponding to the selected tab.*/ +class SettingsSectionsPagerAdapter(private val context: Context, fm: FragmentManager) + : FragmentPagerAdapter(fm, BEHAVIOR_RESUME_ONLY_CURRENT_FRAGMENT) { + + override fun getItem(position: Int): Fragment { + return when (position){ + 0 -> SettingsFragmentActions() + 1 -> SettingsFragmentTheme() + 2 -> SettingsFragmentMeta() + else -> Fragment() + } + } + + override fun getPageTitle(position: Int): CharSequence? { + return context.resources.getString(TAB_TITLES[position]) + } + + override fun getCount(): Int { return 3 } +} \ No newline at end of file diff --git a/app/src/main/java/com/finnmglas/launcher/settings/SettingsSectionsPagerAdapter.kt b/app/src/main/java/com/finnmglas/launcher/settings/SettingsSectionsPagerAdapter.kt deleted file mode 100644 index a539f2b..0000000 --- a/app/src/main/java/com/finnmglas/launcher/settings/SettingsSectionsPagerAdapter.kt +++ /dev/null @@ -1,36 +0,0 @@ -package com.finnmglas.launcher.settings - -import android.content.Context -import androidx.fragment.app.Fragment -import androidx.fragment.app.FragmentManager -import androidx.fragment.app.FragmentPagerAdapter -import com.finnmglas.launcher.* -import com.finnmglas.launcher.settings.actions.SettingsFragmentApps -import com.finnmglas.launcher.settings.meta.SettingsFragmentMeta -import com.finnmglas.launcher.settings.theme.SettingsFragmentTheme - -private val TAB_TITLES = arrayOf( - R.string.settings_tab_app, - R.string.settings_tab_theme, - R.string.settings_tab_launcher -) - -/** Returns the fragment corresponding to the selected tab.*/ -class SettingsSectionsPagerAdapter(private val context: Context, fm: FragmentManager) - : FragmentPagerAdapter(fm, BEHAVIOR_RESUME_ONLY_CURRENT_FRAGMENT) { - - override fun getItem(position: Int): Fragment { - return when (position){ - 0 -> SettingsFragmentApps() - 1 -> SettingsFragmentTheme() - 2 -> SettingsFragmentMeta() - else -> Fragment() - } - } - - override fun getPageTitle(position: Int): CharSequence? { - return context.resources.getString(TAB_TITLES[position]) - } - - override fun getCount(): Int { return 3 } -} \ No newline at end of file diff --git a/app/src/main/java/com/finnmglas/launcher/settings/actions/ActionsRecyclerAdapter.kt b/app/src/main/java/com/finnmglas/launcher/settings/actions/ActionsRecyclerAdapter.kt index 68649fe..8aefa8a 100644 --- a/app/src/main/java/com/finnmglas/launcher/settings/actions/ActionsRecyclerAdapter.kt +++ b/app/src/main/java/com/finnmglas/launcher/settings/actions/ActionsRecyclerAdapter.kt @@ -11,10 +11,9 @@ import android.widget.Button import android.widget.ImageView import android.widget.TextView import androidx.recyclerview.widget.RecyclerView -import com.finnmglas.launcher.choose.ChooseActivity -import com.finnmglas.launcher.R -import com.finnmglas.launcher.extern.FontAwesome -import com.finnmglas.launcher.extern.* +import com.finnmglas.launcher.* +import com.finnmglas.launcher.list.ListActivity +import com.finnmglas.launcher.libraries.FontAwesome import com.finnmglas.launcher.settings.intendedSettingsPause import java.lang.Exception @@ -26,11 +25,11 @@ class ActionsRecyclerAdapter(val activity: Activity): inner class ViewHolder(itemView: View) : RecyclerView.ViewHolder(itemView), View.OnClickListener { - var textView: TextView = itemView.findViewById(R.id.row_action_name) - var fontAwesome: FontAwesome = itemView.findViewById(R.id.row_app_fa_icon) - var img: ImageView = itemView.findViewById(R.id.row_app_icon) as ImageView - var chooseButton: Button = itemView.findViewById(R.id.row_choose_button) - var removeAction: FontAwesome = itemView.findViewById(R.id.row_remove_action) + var textView: TextView = itemView.findViewById(R.id.settings_actions_row_name) + var fontAwesome: FontAwesome = itemView.findViewById(R.id.settings_actions_row_icon) + var img: ImageView = itemView.findViewById(R.id.settings_actions_row_icon_img) as ImageView + var chooseButton: Button = itemView.findViewById(R.id.settings_actions_row_button_choose) + var removeAction: FontAwesome = itemView.findViewById(R.id.settings_actions_row_remove) override fun onClick(v: View) { @@ -64,7 +63,10 @@ class ActionsRecyclerAdapter(val activity: Activity): viewHolder.chooseButton.visibility = View.VISIBLE viewHolder.chooseButton.setOnClickListener{ chooseApp(actionName.toString()) } if (getSavedTheme(activity) =="custom") - setButtonColor(viewHolder.chooseButton, vibrantColor) + setButtonColor( + viewHolder.chooseButton, + vibrantColor + ) } if (content!!.startsWith("launcher")) { @@ -84,7 +86,9 @@ class ActionsRecyclerAdapter(val activity: Activity): viewHolder.img.setImageDrawable(activity.packageManager.getApplicationIcon(content.toString())) viewHolder.img.setOnClickListener{ chooseApp(actionName.toString()) } - if (getSavedTheme(activity) == "dark") transformGrayscale(viewHolder.img) + if (getSavedTheme(activity) == "dark") transformGrayscale( + viewHolder.img + ) } catch (e : Exception) { // the button is shown, user asked to select an action viewHolder.img.visibility = View.INVISIBLE @@ -92,7 +96,10 @@ class ActionsRecyclerAdapter(val activity: Activity): viewHolder.chooseButton.visibility = View.VISIBLE viewHolder.chooseButton.setOnClickListener{ chooseApp(actionName.toString()) } if (getSavedTheme(activity) =="custom") - setButtonColor(viewHolder.chooseButton, vibrantColor) + setButtonColor( + viewHolder.chooseButton, + vibrantColor + ) } } } @@ -101,28 +108,46 @@ class ActionsRecyclerAdapter(val activity: Activity): override fun onCreateViewHolder(parent: ViewGroup, viewType: Int): ViewHolder { val inflater = LayoutInflater.from(parent.context) - val view: View = inflater.inflate(R.layout.recycler_actions_row, parent, false) + val view: View = inflater.inflate(R.layout.settings_actions_row, parent, false) return ViewHolder(view) } init { actionsList = ArrayList() - actionsList.add(ActionInfo(activity.getString(R.string.settings_choose_up),"upApp", upApp)) - actionsList.add(ActionInfo(activity.getString(R.string.settings_choose_down),"downApp", downApp)) - actionsList.add(ActionInfo(activity.getString(R.string.settings_choose_left), "leftApp", leftApp)) - actionsList.add(ActionInfo(activity.getString(R.string.settings_choose_right), "rightApp", rightApp)) - actionsList.add(ActionInfo(activity.getString(R.string.settings_choose_vol_up), "volumeUpApp", volumeUpApp)) - actionsList.add(ActionInfo(activity.getString(R.string.settings_choose_vol_down), "volumeDownApp", volumeDownApp)) - actionsList.add(ActionInfo(activity.getString(R.string.settings_choose_double_click), "doubleClickApp", doubleClickApp)) - actionsList.add(ActionInfo(activity.getString(R.string.settings_choose_long_click), "longClickApp", longClickApp)) + actionsList.add(ActionInfo(activity.getString(R.string.settings_choose_up),"upApp", + upApp + )) + actionsList.add(ActionInfo(activity.getString(R.string.settings_choose_down),"downApp", + downApp + )) + actionsList.add(ActionInfo(activity.getString(R.string.settings_choose_left), "leftApp", + leftApp + )) + actionsList.add(ActionInfo(activity.getString(R.string.settings_choose_right), "rightApp", + rightApp + )) + actionsList.add(ActionInfo(activity.getString(R.string.settings_choose_vol_up), "volumeUpApp", + volumeUpApp + )) + actionsList.add(ActionInfo(activity.getString(R.string.settings_choose_vol_down), "volumeDownApp", + volumeDownApp + )) + actionsList.add(ActionInfo(activity.getString(R.string.settings_choose_double_click), "doubleClickApp", + doubleClickApp + )) + actionsList.add(ActionInfo(activity.getString(R.string.settings_choose_long_click), "longClickApp", + longClickApp + )) } /* */ private fun chooseApp(forAction: String) { - val intent = Intent(activity, ChooseActivity::class.java) + val intent = Intent(activity, ListActivity::class.java) intent.putExtra("action", "pick") intent.putExtra("forApp", forAction) // for which action we choose the app intendedSettingsPause = true - activity.startActivityForResult(intent, REQUEST_CHOOSE_APP) + activity.startActivityForResult(intent, + REQUEST_CHOOSE_APP + ) } } \ No newline at end of file diff --git a/app/src/main/java/com/finnmglas/launcher/settings/actions/SettingsFragmentApps.kt b/app/src/main/java/com/finnmglas/launcher/settings/actions/SettingsFragmentActions.kt similarity index 69% rename from app/src/main/java/com/finnmglas/launcher/settings/actions/SettingsFragmentApps.kt rename to app/src/main/java/com/finnmglas/launcher/settings/actions/SettingsFragmentActions.kt index b060540..564f011 100644 --- a/app/src/main/java/com/finnmglas/launcher/settings/actions/SettingsFragmentApps.kt +++ b/app/src/main/java/com/finnmglas/launcher/settings/actions/SettingsFragmentActions.kt @@ -10,16 +10,15 @@ import android.view.ViewGroup import android.widget.Toast import androidx.fragment.app.Fragment import androidx.recyclerview.widget.LinearLayoutManager -import com.finnmglas.launcher.choose.ChooseActivity -import com.finnmglas.launcher.R -import com.finnmglas.launcher.extern.* +import com.finnmglas.launcher.* +import com.finnmglas.launcher.list.ListActivity import com.finnmglas.launcher.settings.intendedSettingsPause -import kotlinx.android.synthetic.main.fragment_settings_apps.* +import kotlinx.android.synthetic.main.settings_actions.* /** The 'Apps' Tab associated Fragment in Settings */ -class SettingsFragmentApps : Fragment() { +class SettingsFragmentActions : Fragment() { /** Lifecycle functions */ @@ -27,16 +26,22 @@ class SettingsFragmentApps : Fragment() { inflater: LayoutInflater, container: ViewGroup?, savedInstanceState: Bundle? ): View? { - return inflater.inflate(R.layout.fragment_settings_apps, container, false) + return inflater.inflate(R.layout.settings_actions, container, false) } override fun onStart() { if (getSavedTheme(context!!) == "custom") { - fragment_settings_apps_container.setBackgroundColor(dominantColor) + settings_actions_container.setBackgroundColor(dominantColor) - setButtonColor(fragment_settings_apps_btn, vibrantColor) - setButtonColor(fragment_settings_apps_install_btn, vibrantColor) + setButtonColor( + settings_actions_button_view_apps, + vibrantColor + ) + setButtonColor( + settings_actions_button_install_apps, + vibrantColor + ) } @@ -44,7 +49,7 @@ class SettingsFragmentApps : Fragment() { val actionViewManager = LinearLayoutManager(context) val actionViewAdapter = ActionsRecyclerAdapter( activity!! ) - activity_settings_actions_recycler_view.apply { + settings_actions_rview.apply { // improve performance (since content changes don't change the layout size) setHasFixedSize(true) layoutManager = actionViewManager @@ -52,13 +57,13 @@ class SettingsFragmentApps : Fragment() { } // App management buttons - fragment_settings_apps_btn.setOnClickListener{ - val intent = Intent(this.context, ChooseActivity::class.java) + settings_actions_button_view_apps.setOnClickListener{ + val intent = Intent(this.context, ListActivity::class.java) intent.putExtra("action", "view") intendedSettingsPause = true startActivity(intent) } - fragment_settings_apps_install_btn.setOnClickListener{ + settings_actions_button_install_apps.setOnClickListener{ try { val rateIntent = Intent( Intent.ACTION_VIEW, diff --git a/app/src/main/java/com/finnmglas/launcher/settings/meta/SettingsFragmentMeta.kt b/app/src/main/java/com/finnmglas/launcher/settings/meta/SettingsFragmentMeta.kt index 73cc1d8..af7350f 100644 --- a/app/src/main/java/com/finnmglas/launcher/settings/meta/SettingsFragmentMeta.kt +++ b/app/src/main/java/com/finnmglas/launcher/settings/meta/SettingsFragmentMeta.kt @@ -13,11 +13,10 @@ import androidx.fragment.app.Fragment import android.view.LayoutInflater import android.view.View import android.view.ViewGroup +import com.finnmglas.launcher.* import com.finnmglas.launcher.tutorial.TutorialActivity -import com.finnmglas.launcher.R -import com.finnmglas.launcher.extern.* import com.finnmglas.launcher.settings.intendedSettingsPause -import kotlinx.android.synthetic.main.fragment_settings_meta.* +import kotlinx.android.synthetic.main.settings_meta.* /** The 'Meta' Tab associated Fragment in Settings */ @@ -29,28 +28,43 @@ class SettingsFragmentMeta : Fragment() { inflater: LayoutInflater, container: ViewGroup?, savedInstanceState: Bundle? ): View? { - return inflater.inflate(R.layout.fragment_settings_meta, container, false) + return inflater.inflate(R.layout.settings_meta, container, false) } override fun onStart() { if (getSavedTheme(context!!) == "custom") { - fragment_settings_meta_container.setBackgroundColor(dominantColor) + settings_meta_container.setBackgroundColor(dominantColor) - setButtonColor(fragment_settings_meta_select_launcher_btn, vibrantColor) - setButtonColor(fragment_settings_meta_view_tutorial_btn, vibrantColor) - setButtonColor(fragment_settings_meta_reset_settings_btn, vibrantColor) - setButtonColor(fragment_settings_meta_contact_btn, vibrantColor) - setButtonColor(fragment_settings_meta_donate_btn, vibrantColor) + setButtonColor( + settings_meta_button_select_launcher, + vibrantColor + ) + setButtonColor( + settings_meta_button_view_tutorial, + vibrantColor + ) + setButtonColor( + settings_meta_button_reset_settings, + vibrantColor + ) + setButtonColor( + settings_meta_button_contact, + vibrantColor + ) + setButtonColor( + settings_meta_button_donate, + vibrantColor + ) - fragment_settings_meta_footer_play_icon.setTextColor(vibrantColor) - fragment_settings_meta_footer_github_icon.setTextColor(vibrantColor) - fragment_settings_meta_footer_globe_icon.setTextColor(vibrantColor) + settings_meta_icon_google_play.setTextColor(vibrantColor) + settings_meta_icon_github.setTextColor(vibrantColor) + settings_meta_icon_globe.setTextColor(vibrantColor) } // Button onClicks - fragment_settings_meta_select_launcher_btn.setOnClickListener { + settings_meta_button_select_launcher.setOnClickListener { intendedSettingsPause = true // on newer sdk: choose launcher if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) { @@ -65,7 +79,10 @@ class SettingsFragmentMeta : Fragment() { .setPositiveButton(android.R.string.yes, DialogInterface.OnClickListener { _, _ -> try { - openAppSettings(this.context!!.packageName, this.context!!) + openAppSettings( + this.context!!.packageName, + this.context!! + ) } catch ( e : ActivityNotFoundException) { val intent = Intent(Settings.ACTION_MANAGE_APPLICATIONS_SETTINGS) startActivity(intent) @@ -77,20 +94,24 @@ class SettingsFragmentMeta : Fragment() { } } - fragment_settings_meta_view_tutorial_btn.setOnClickListener { + settings_meta_button_view_tutorial.setOnClickListener { intendedSettingsPause = true startActivity(Intent(this.context, TutorialActivity::class.java)) } // prompting for settings-reset confirmation - fragment_settings_meta_reset_settings_btn.setOnClickListener { + settings_meta_button_reset_settings.setOnClickListener { AlertDialog.Builder(this.context!!, R.style.AlertDialogCustom) .setTitle(getString(R.string.settings_reset)) .setMessage(getString(R.string.settings_reset_message)) .setPositiveButton(android.R.string.yes, DialogInterface.OnClickListener { _, _ -> - resetSettings(this.context!!.getSharedPreferences(getString(R.string.preference_file_key), - Context.MODE_PRIVATE), this.context!!) + resetSettings( + this.context!!.getSharedPreferences( + getString(R.string.preference_file_key), + Context.MODE_PRIVATE + ), this.context!! + ) activity!!.finish() }) .setNegativeButton(android.R.string.no, null) @@ -99,12 +120,15 @@ class SettingsFragmentMeta : Fragment() { } // Footer onClicks - fragment_settings_meta_footer_github_icon.setOnClickListener { + settings_meta_icon_github.setOnClickListener { intendedSettingsPause = true - openNewTabWindow(getString(R.string.settings_footer_repo), this.context!!) + openNewTabWindow( + getString(R.string.settings_footer_repo), + this.context!! + ) } // rate app - fragment_settings_meta_footer_play_icon.setOnClickListener { + settings_meta_icon_google_play.setOnClickListener { try { val rateIntent = rateIntentForUrl("market://details") intendedSettingsPause = true @@ -116,21 +140,30 @@ class SettingsFragmentMeta : Fragment() { } } - fragment_settings_meta_footer_globe_icon.setOnClickListener { + settings_meta_icon_globe.setOnClickListener { intendedSettingsPause = true - openNewTabWindow(getString(R.string.settings_footer_web), this.context!!) + openNewTabWindow( + getString(R.string.settings_footer_web), + this.context!! + ) } // contact developer - fragment_settings_meta_contact_btn.setOnClickListener { + settings_meta_button_contact.setOnClickListener { intendedSettingsPause = true - openNewTabWindow(getString(R.string.settings_meta_contact_url), context!!) + openNewTabWindow( + getString(R.string.settings_meta_contact_url), + context!! + ) } // donate - fragment_settings_meta_donate_btn.setOnClickListener { + settings_meta_button_donate.setOnClickListener { intendedSettingsPause = true - openNewTabWindow(getString(R.string.settings_meta_donate_url), context!!) + openNewTabWindow( + getString(R.string.settings_meta_donate_url), + context!! + ) } super.onStart() diff --git a/app/src/main/java/com/finnmglas/launcher/settings/theme/SettingsFragmentTheme.kt b/app/src/main/java/com/finnmglas/launcher/settings/theme/SettingsFragmentTheme.kt index bae4281..91a4440 100644 --- a/app/src/main/java/com/finnmglas/launcher/settings/theme/SettingsFragmentTheme.kt +++ b/app/src/main/java/com/finnmglas/launcher/settings/theme/SettingsFragmentTheme.kt @@ -16,10 +16,9 @@ import android.view.ViewGroup import androidx.appcompat.app.AppCompatActivity import androidx.core.content.ContextCompat import androidx.palette.graphics.Palette -import com.finnmglas.launcher.R -import com.finnmglas.launcher.extern.* +import com.finnmglas.launcher.* import com.finnmglas.launcher.settings.intendedSettingsPause -import kotlinx.android.synthetic.main.fragment_settings_theme.* +import kotlinx.android.synthetic.main.settings_theme.* /** The 'Theme' Tab associated Fragment in Settings */ @@ -31,36 +30,48 @@ class SettingsFragmentTheme : Fragment() { inflater: LayoutInflater, container: ViewGroup?, savedInstanceState: Bundle? ): View? { - return inflater.inflate(R.layout.fragment_settings_theme, container, false) + return inflater.inflate(R.layout.settings_theme, container, false) } override fun onStart(){ // Hide 'select' button for the selected theme or allow customisation when (getSavedTheme(context!!)) { - "dark" -> fragment_settings_theme_select_dark_btn.visibility = View.INVISIBLE - "finn" -> fragment_settings_theme_select_finn_btn.visibility = View.INVISIBLE + "dark" -> settings_theme_dark_button_select.visibility = View.INVISIBLE + "finn" -> settings_theme_finn_button_select.visibility = View.INVISIBLE "custom" -> { - fragment_settings_theme_select_custom_btn.text = getString(R.string.settings_select_image) - fragment_settings_theme_container.setBackgroundColor(dominantColor) - setButtonColor(fragment_settings_theme_select_finn_btn, vibrantColor) - setButtonColor(fragment_settings_theme_select_dark_btn, vibrantColor) - setButtonColor(fragment_settings_theme_select_custom_btn, vibrantColor) - setButtonColor(fragment_settings_theme_custom_examples_btn, vibrantColor) + settings_theme_custom_button_select.text = getString(R.string.settings_select_image) + settings_theme_container.setBackgroundColor(dominantColor) + setButtonColor( + settings_theme_finn_button_select, + vibrantColor + ) + setButtonColor( + settings_theme_dark_button_select, + vibrantColor + ) + setButtonColor( + settings_theme_custom_button_select, + vibrantColor + ) + setButtonColor( + settings_theme_custom_button_examples, + vibrantColor + ) } } // Theme changing buttons - fragment_settings_theme_select_dark_btn.setOnClickListener { + settings_theme_dark_button_select.setOnClickListener { intendedSettingsPause = true saveTheme(context!!, "dark") activity!!.recreate() } - fragment_settings_theme_select_finn_btn.setOnClickListener { + settings_theme_finn_button_select.setOnClickListener { intendedSettingsPause = true saveTheme(context!!, "finn") activity!!.recreate() } - fragment_settings_theme_select_custom_btn.setOnClickListener { + settings_theme_custom_button_select.setOnClickListener { intendedSettingsPause = true // Request permission (on newer APIs) if (Build.VERSION.SDK_INT >= 23) { @@ -71,15 +82,20 @@ class SettingsFragmentTheme : Fragment() { shouldShowRequestPermissionRationale(Manifest.permission.WRITE_EXTERNAL_STORAGE) -> {} else - -> requestPermissions(arrayOf(Manifest.permission.WRITE_EXTERNAL_STORAGE), REQUEST_PERMISSION_STORAGE) + -> requestPermissions(arrayOf(Manifest.permission.WRITE_EXTERNAL_STORAGE), + REQUEST_PERMISSION_STORAGE + ) } } else letUserPickImage() } - fragment_settings_theme_custom_examples_btn.setOnClickListener { + settings_theme_custom_button_examples.setOnClickListener { intendedSettingsPause = true // Show example usage - openNewTabWindow("https://github.com/finnmglas/Launcher/blob/master/docs/README.md", context!!) + openNewTabWindow( + "https://github.com/finnmglas/Launcher/blob/master/docs/README.md", + context!! + ) } super.onStart() @@ -128,16 +144,28 @@ class SettingsFragmentTheme : Fragment() { // never let dominantColor equal vibrantColor if(dominantColor == vibrantColor) { - vibrantColor = manipulateColor(vibrantColor, 1.2F) - dominantColor = manipulateColor(dominantColor, 0.8F) + vibrantColor = + manipulateColor( + vibrantColor, + 1.2F + ) + dominantColor = + manipulateColor( + dominantColor, + 0.8F + ) } /* Save image Uri as string */ val editor: SharedPreferences.Editor = context!!.getSharedPreferences( context!!.getString(R.string.preference_file_key), Context.MODE_PRIVATE).edit() editor.putString("background_uri", imageUri.toString()) - editor.putInt("custom_dominant", dominantColor) - editor.putInt("custom_vibrant", vibrantColor) + editor.putInt("custom_dominant", + dominantColor + ) + editor.putInt("custom_vibrant", + vibrantColor + ) editor.apply() saveTheme(context!!, "custom") diff --git a/app/src/main/java/com/finnmglas/launcher/tutorial/TutorialActivity.kt b/app/src/main/java/com/finnmglas/launcher/tutorial/TutorialActivity.kt index 4c47ec2..a594cc3 100644 --- a/app/src/main/java/com/finnmglas/launcher/tutorial/TutorialActivity.kt +++ b/app/src/main/java/com/finnmglas/launcher/tutorial/TutorialActivity.kt @@ -6,9 +6,8 @@ import android.os.Bundle import android.util.TypedValue import android.view.* import androidx.appcompat.app.AppCompatActivity -import com.finnmglas.launcher.R -import com.finnmglas.launcher.extern.* -import kotlinx.android.synthetic.main.activity_tutorial.* +import com.finnmglas.launcher.* +import kotlinx.android.synthetic.main.tutorial.* class TutorialActivity : AppCompatActivity(){ @@ -38,15 +37,15 @@ class TutorialActivity : AppCompatActivity(){ else -> R.style.finnmglasTheme } ) - setContentView(R.layout.activity_tutorial) + setContentView(R.layout.tutorial) if (getSavedTheme(this) == "custom") { - activity_firststartup_app_bar.setBackgroundColor(dominantColor) - activity_firststartup_container.setBackgroundColor(dominantColor) - activity_firststartup_close.setTextColor(vibrantColor) + tutorial_appbar.setBackgroundColor(dominantColor) + tutorial_container.setBackgroundColor(dominantColor) + tutorial_close.setTextColor(vibrantColor) } - activity_firststartup_hint_text.blink() // animate + tutorial_page_hint.blink() // animate loadMenu(this) val sharedPref = this.getSharedPreferences(getString(R.string.preference_file_key), Context.MODE_PRIVATE) @@ -54,12 +53,15 @@ class TutorialActivity : AppCompatActivity(){ isFirstTime = !sharedPref.getBoolean("startedBefore", false) if (isFirstTime) - defaultApps = resetSettings(sharedPref, this) // UP, DOWN, RIGHT, LEFT, VOLUME_UP, VOLUME_DOWN + defaultApps = resetSettings( + sharedPref, + this + ) // UP, DOWN, RIGHT, LEFT, VOLUME_UP, VOLUME_DOWN else - activity_firststartup_app_bar.visibility = View.VISIBLE + tutorial_appbar.visibility = View.VISIBLE // As older APIs somehow do not recognize the xml defined onClick - activity_firststartup_close.setOnClickListener() { finish() } + tutorial_close.setOnClickListener() { finish() } } /** Touch- and Key-related functions to navigate */ @@ -98,16 +100,16 @@ class TutorialActivity : AppCompatActivity(){ if (menuNumber < intro.size){ val entry = intro[menuNumber].split("|").toTypedArray() //heading|infoText|hintText|size - activity_firststartup_section_heading.text = entry[0] + tutorial_page_heading.text = entry[0] if (entry[4] == "1" && isFirstTime) - activity_firststartup_descriptive_text.text = String.format(entry[1], + tutorial_page_text.text = String.format(entry[1], defaultApps[0], defaultApps[1], defaultApps[2], defaultApps[3], defaultApps[4], defaultApps[5]) else if (entry[4] == "1" && !isFirstTime) - activity_firststartup_descriptive_text.text = String.format(entry[1], + tutorial_page_text.text = String.format(entry[1], "-", "-", "-", "-", "-", "-") - else activity_firststartup_descriptive_text.text = entry[1] - activity_firststartup_hint_text.text = entry[2] - activity_firststartup_descriptive_text.setTextSize(TypedValue.COMPLEX_UNIT_SP, entry[3].toFloat()) + else tutorial_page_text.text = entry[1] + tutorial_page_hint.text = entry[2] + tutorial_page_text.setTextSize(TypedValue.COMPLEX_UNIT_SP, entry[3].toFloat()) } else { // End intro if (isFirstTime){ diff --git a/app/src/main/res/layout/fragment_choose_apps.xml b/app/src/main/res/layout/fragment_choose_apps.xml deleted file mode 100644 index 77194c0..0000000 --- a/app/src/main/res/layout/fragment_choose_apps.xml +++ /dev/null @@ -1,33 +0,0 @@ - - - - - - - - - - \ No newline at end of file diff --git a/app/src/main/res/layout/fragment_choose_other.xml b/app/src/main/res/layout/fragment_choose_other.xml deleted file mode 100644 index 56b9c62..0000000 --- a/app/src/main/res/layout/fragment_choose_other.xml +++ /dev/null @@ -1,33 +0,0 @@ - - - - - - - - - - \ No newline at end of file diff --git a/app/src/main/res/layout/fragment_settings_apps.xml b/app/src/main/res/layout/fragment_settings_apps.xml deleted file mode 100644 index f2c59f6..0000000 --- a/app/src/main/res/layout/fragment_settings_apps.xml +++ /dev/null @@ -1,60 +0,0 @@ - - - - - - - - - - - -