mirror of
				https://github.com/SimpleMobileTools/Simple-Launcher.git
				synced 2025-06-05 21:59:15 +02:00 
			
		
		
		
	adding some base activities
This commit is contained in:
		| @@ -22,14 +22,49 @@ | |||||||
|         android:theme="@style/AppTheme"> |         android:theme="@style/AppTheme"> | ||||||
|  |  | ||||||
|         <activity |         <activity | ||||||
|             android:name=".MainActivity" |             android:name=".activities.SplashActivity" | ||||||
|             android:exported="true" |             android:exported="false" | ||||||
|             android:label="@string/app_launcher_name"> |             android:theme="@style/SplashTheme" /> | ||||||
|  |  | ||||||
|  |         <activity | ||||||
|  |             android:name=".activities.MainActivity" | ||||||
|  |             android:exported="true" /> | ||||||
|  |  | ||||||
|  |         <activity | ||||||
|  |             android:name=".activities.SettingsActivity" | ||||||
|  |             android:exported="true" | ||||||
|  |             android:label="@string/settings" | ||||||
|  |             android:parentActivityName=".activities.MainActivity"> | ||||||
|  |  | ||||||
|  |             <intent-filter> | ||||||
|  |                 <action android:name="android.intent.action.APPLICATION_PREFERENCES" /> | ||||||
|  |                 <category android:name="android.intent.category.DEFAULT" /> | ||||||
|  |             </intent-filter> | ||||||
|  |         </activity> | ||||||
|  |  | ||||||
|  |         <activity | ||||||
|  |             android:name="com.simplemobiletools.commons.activities.AboutActivity" | ||||||
|  |             android:exported="false" | ||||||
|  |             android:label="@string/about" | ||||||
|  |             android:parentActivityName=".activities.MainActivity" /> | ||||||
|  |  | ||||||
|  |         <activity | ||||||
|  |             android:name="com.simplemobiletools.commons.activities.CustomizationActivity" | ||||||
|  |             android:exported="false" | ||||||
|  |             android:label="@string/customize_colors" | ||||||
|  |             android:parentActivityName=".activities.SettingsActivity" /> | ||||||
|  |  | ||||||
|  |         <activity-alias | ||||||
|  |             android:name=".activities.SplashActivity.Orange" | ||||||
|  |             android:enabled="true" | ||||||
|  |             android:exported="true" | ||||||
|  |             android:icon="@mipmap/ic_launcher" | ||||||
|  |             android:roundIcon="@mipmap/ic_launcher" | ||||||
|  |             android:targetActivity=".activities.SplashActivity"> | ||||||
|             <intent-filter> |             <intent-filter> | ||||||
|                 <action android:name="android.intent.action.MAIN" /> |                 <action android:name="android.intent.action.MAIN" /> | ||||||
|                 <category android:name="android.intent.category.LAUNCHER" /> |                 <category android:name="android.intent.category.LAUNCHER" /> | ||||||
|             </intent-filter> |             </intent-filter> | ||||||
|         </activity> |         </activity-alias> | ||||||
|     </application> |     </application> | ||||||
| </manifest> | </manifest> | ||||||
| @@ -1,11 +0,0 @@ | |||||||
| package com.simplemobiletools.launcher |  | ||||||
|  |  | ||||||
| import android.os.Bundle |  | ||||||
| import androidx.appcompat.app.AppCompatActivity |  | ||||||
|  |  | ||||||
| class MainActivity : AppCompatActivity() { |  | ||||||
|     override fun onCreate(savedInstanceState: Bundle?) { |  | ||||||
|         super.onCreate(savedInstanceState) |  | ||||||
|         setContentView(R.layout.activity_main) |  | ||||||
|     } |  | ||||||
| } |  | ||||||
| @@ -0,0 +1,52 @@ | |||||||
|  | package com.simplemobiletools.launcher.activities | ||||||
|  |  | ||||||
|  | import android.content.Intent | ||||||
|  | import android.os.Bundle | ||||||
|  | import com.simplemobiletools.commons.extensions.appLaunched | ||||||
|  | import com.simplemobiletools.commons.extensions.hideKeyboard | ||||||
|  | import com.simplemobiletools.commons.models.FAQItem | ||||||
|  | import com.simplemobiletools.launcher.BuildConfig | ||||||
|  | import com.simplemobiletools.launcher.R | ||||||
|  | import kotlinx.android.synthetic.main.activity_main.* | ||||||
|  |  | ||||||
|  | class MainActivity : SimpleActivity() { | ||||||
|  |     override fun onCreate(savedInstanceState: Bundle?) { | ||||||
|  |         super.onCreate(savedInstanceState) | ||||||
|  |         setContentView(R.layout.activity_main) | ||||||
|  |         appLaunched(BuildConfig.APPLICATION_ID) | ||||||
|  |         setupOptionsMenu() | ||||||
|  |     } | ||||||
|  |  | ||||||
|  |     override fun onResume() { | ||||||
|  |         super.onResume() | ||||||
|  |         setupToolbar(main_toolbar) | ||||||
|  |     } | ||||||
|  |  | ||||||
|  |     private fun setupOptionsMenu() { | ||||||
|  |         main_toolbar.setOnMenuItemClickListener { menuItem -> | ||||||
|  |             when (menuItem.itemId) { | ||||||
|  |                 R.id.settings -> launchSettings() | ||||||
|  |                 R.id.about -> launchAbout() | ||||||
|  |                 else -> return@setOnMenuItemClickListener false | ||||||
|  |             } | ||||||
|  |             return@setOnMenuItemClickListener true | ||||||
|  |         } | ||||||
|  |     } | ||||||
|  |  | ||||||
|  |     private fun launchSettings() { | ||||||
|  |         hideKeyboard() | ||||||
|  |         startActivity(Intent(applicationContext, SettingsActivity::class.java)) | ||||||
|  |     } | ||||||
|  |  | ||||||
|  |     private fun launchAbout() { | ||||||
|  |         val licenses = 0L | ||||||
|  |         val faqItems = ArrayList<FAQItem>() | ||||||
|  |  | ||||||
|  |         if (!resources.getBoolean(R.bool.hide_google_relations)) { | ||||||
|  |             faqItems.add(FAQItem(R.string.faq_2_title_commons, R.string.faq_2_text_commons)) | ||||||
|  |             faqItems.add(FAQItem(R.string.faq_6_title_commons, R.string.faq_6_text_commons)) | ||||||
|  |         } | ||||||
|  |  | ||||||
|  |         startAboutActivity(R.string.app_name, licenses, BuildConfig.VERSION_NAME, faqItems, true) | ||||||
|  |     } | ||||||
|  | } | ||||||
| @@ -0,0 +1,67 @@ | |||||||
|  | package com.simplemobiletools.launcher.activities | ||||||
|  |  | ||||||
|  | import android.os.Bundle | ||||||
|  | import com.simplemobiletools.commons.extensions.* | ||||||
|  | import com.simplemobiletools.commons.helpers.NavigationIcon | ||||||
|  | import com.simplemobiletools.launcher.R | ||||||
|  | import com.simplemobiletools.launcher.extensions.config | ||||||
|  | import kotlinx.android.synthetic.main.activity_settings.* | ||||||
|  | import java.util.* | ||||||
|  |  | ||||||
|  | class SettingsActivity : SimpleActivity() { | ||||||
|  |     override fun onCreate(savedInstanceState: Bundle?) { | ||||||
|  |         super.onCreate(savedInstanceState) | ||||||
|  |         setContentView(R.layout.activity_settings) | ||||||
|  |     } | ||||||
|  |  | ||||||
|  |     override fun onResume() { | ||||||
|  |         super.onResume() | ||||||
|  |         setupToolbar(settings_toolbar, NavigationIcon.Arrow) | ||||||
|  |  | ||||||
|  |         setupPurchaseThankYou() | ||||||
|  |         setupCustomizeColors() | ||||||
|  |         setupUseEnglish() | ||||||
|  |         updateTextColors(settings_holder) | ||||||
|  |  | ||||||
|  |         arrayOf(settings_color_customization_label, settings_general_settings_label).forEach { | ||||||
|  |             it.setTextColor(getProperPrimaryColor()) | ||||||
|  |         } | ||||||
|  |  | ||||||
|  |         arrayOf( | ||||||
|  |             settings_color_customization_holder, | ||||||
|  |             settings_general_settings_holder | ||||||
|  |         ).forEach { | ||||||
|  |             it.background.applyColorFilter(getProperBackgroundColor().getContrastColor()) | ||||||
|  |         } | ||||||
|  |     } | ||||||
|  |  | ||||||
|  |     private fun setupPurchaseThankYou() { | ||||||
|  |         settings_purchase_thank_you_holder.beGoneIf(isOrWasThankYouInstalled()) | ||||||
|  |  | ||||||
|  |         // make sure the corners at ripple fit the stroke rounded corners | ||||||
|  |         if (settings_purchase_thank_you_holder.isGone()) { | ||||||
|  |             settings_use_english_holder.background = resources.getDrawable(R.drawable.ripple_top_corners, theme) | ||||||
|  |         } | ||||||
|  |  | ||||||
|  |         settings_purchase_thank_you_holder.setOnClickListener { | ||||||
|  |             launchPurchaseThankYouIntent() | ||||||
|  |         } | ||||||
|  |     } | ||||||
|  |  | ||||||
|  |     private fun setupCustomizeColors() { | ||||||
|  |         settings_customize_colors_holder.setOnClickListener { | ||||||
|  |             startCustomizationActivity() | ||||||
|  |         } | ||||||
|  |     } | ||||||
|  |  | ||||||
|  |     private fun setupUseEnglish() { | ||||||
|  |         settings_use_english_holder.beVisibleIf(config.wasUseEnglishToggled || Locale.getDefault().language != "en") | ||||||
|  |         settings_use_english.isChecked = config.useEnglish | ||||||
|  |  | ||||||
|  |         settings_use_english_holder.setOnClickListener { | ||||||
|  |             settings_use_english.toggle() | ||||||
|  |             config.useEnglish = settings_use_english.isChecked | ||||||
|  |             System.exit(0) | ||||||
|  |         } | ||||||
|  |     } | ||||||
|  | } | ||||||
| @@ -0,0 +1,12 @@ | |||||||
|  | package com.simplemobiletools.launcher.activities | ||||||
|  |  | ||||||
|  | import com.simplemobiletools.commons.activities.BaseSimpleActivity | ||||||
|  | import com.simplemobiletools.launcher.R | ||||||
|  |  | ||||||
|  | open class SimpleActivity : BaseSimpleActivity() { | ||||||
|  |     override fun getAppIconIDs() = arrayListOf( | ||||||
|  |         R.mipmap.ic_launcher | ||||||
|  |     ) | ||||||
|  |  | ||||||
|  |     override fun getAppLauncherName() = getString(R.string.app_launcher_name) | ||||||
|  | } | ||||||
| @@ -0,0 +1,11 @@ | |||||||
|  | package com.simplemobiletools.launcher.activities | ||||||
|  |  | ||||||
|  | import android.content.Intent | ||||||
|  | import com.simplemobiletools.commons.activities.BaseSplashActivity | ||||||
|  |  | ||||||
|  | class SplashActivity : BaseSplashActivity() { | ||||||
|  |     override fun initActivity() { | ||||||
|  |         startActivity(Intent(this, MainActivity::class.java)) | ||||||
|  |         finish() | ||||||
|  |     } | ||||||
|  | } | ||||||
| @@ -0,0 +1,6 @@ | |||||||
|  | package com.simplemobiletools.launcher.extensions | ||||||
|  |  | ||||||
|  | import android.content.Context | ||||||
|  | import com.simplemobiletools.launcher.helpers.Config | ||||||
|  |  | ||||||
|  | val Context.config: Config get() = Config.newInstance(applicationContext) | ||||||
| @@ -0,0 +1,10 @@ | |||||||
|  | package com.simplemobiletools.launcher.helpers | ||||||
|  |  | ||||||
|  | import android.content.Context | ||||||
|  | import com.simplemobiletools.commons.helpers.BaseConfig | ||||||
|  |  | ||||||
|  | class Config(context: Context) : BaseConfig(context) { | ||||||
|  |     companion object { | ||||||
|  |         fun newInstance(context: Context) = Config(context) | ||||||
|  |     } | ||||||
|  | } | ||||||
							
								
								
									
										118
									
								
								app/src/main/res/layout/activity_settings.xml
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										118
									
								
								app/src/main/res/layout/activity_settings.xml
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,118 @@ | |||||||
|  | <?xml version="1.0" encoding="utf-8"?> | ||||||
|  | <androidx.coordinatorlayout.widget.CoordinatorLayout xmlns:android="http://schemas.android.com/apk/res/android" | ||||||
|  |     xmlns:app="http://schemas.android.com/apk/res-auto" | ||||||
|  |     android:id="@+id/settings_coordinator" | ||||||
|  |     android:layout_width="match_parent" | ||||||
|  |     android:layout_height="match_parent"> | ||||||
|  |  | ||||||
|  |     <com.google.android.material.appbar.AppBarLayout | ||||||
|  |         android:id="@+id/settings_app_bar_layout" | ||||||
|  |         android:layout_width="match_parent" | ||||||
|  |         android:layout_height="wrap_content"> | ||||||
|  |  | ||||||
|  |         <com.google.android.material.appbar.MaterialToolbar | ||||||
|  |             android:id="@+id/settings_toolbar" | ||||||
|  |             android:layout_width="match_parent" | ||||||
|  |             android:layout_height="?attr/actionBarSize" | ||||||
|  |             android:background="@color/color_primary" | ||||||
|  |             app:title="@string/settings" | ||||||
|  |             app:titleTextAppearance="@style/AppTheme.ActionBar.TitleTextStyle" /> | ||||||
|  |  | ||||||
|  |     </com.google.android.material.appbar.AppBarLayout> | ||||||
|  |  | ||||||
|  |     <androidx.core.widget.NestedScrollView | ||||||
|  |         android:id="@+id/settings_nested_scrollview" | ||||||
|  |         android:layout_width="match_parent" | ||||||
|  |         android:layout_height="match_parent" | ||||||
|  |         android:fillViewport="true" | ||||||
|  |         android:scrollbars="none" | ||||||
|  |         app:layout_behavior="@string/appbar_scrolling_view_behavior"> | ||||||
|  |  | ||||||
|  |         <LinearLayout | ||||||
|  |             android:id="@+id/settings_holder" | ||||||
|  |             android:layout_width="match_parent" | ||||||
|  |             android:layout_height="wrap_content" | ||||||
|  |             android:orientation="vertical"> | ||||||
|  |  | ||||||
|  |             <TextView | ||||||
|  |                 android:id="@+id/settings_color_customization_label" | ||||||
|  |                 style="@style/SettingsSectionLabelStyle" | ||||||
|  |                 android:layout_width="match_parent" | ||||||
|  |                 android:layout_height="wrap_content" | ||||||
|  |                 android:text="@string/color_customization" /> | ||||||
|  |  | ||||||
|  |             <LinearLayout | ||||||
|  |                 android:id="@+id/settings_color_customization_holder" | ||||||
|  |                 android:layout_width="match_parent" | ||||||
|  |                 android:layout_height="wrap_content" | ||||||
|  |                 android:layout_margin="@dimen/medium_margin" | ||||||
|  |                 android:background="@drawable/section_holder_stroke" | ||||||
|  |                 android:orientation="vertical"> | ||||||
|  |  | ||||||
|  |                 <RelativeLayout | ||||||
|  |                     android:id="@+id/settings_customize_colors_holder" | ||||||
|  |                     style="@style/SettingsHolderTextViewOneLinerStyle" | ||||||
|  |                     android:layout_width="match_parent" | ||||||
|  |                     android:layout_height="wrap_content" | ||||||
|  |                     android:background="@drawable/ripple_all_corners"> | ||||||
|  |  | ||||||
|  |                     <com.simplemobiletools.commons.views.MyTextView | ||||||
|  |                         android:id="@+id/settings_customize_colors_label" | ||||||
|  |                         style="@style/SettingsTextLabelStyle" | ||||||
|  |                         android:layout_width="wrap_content" | ||||||
|  |                         android:layout_height="wrap_content" | ||||||
|  |                         android:text="@string/customize_colors" /> | ||||||
|  |  | ||||||
|  |                 </RelativeLayout> | ||||||
|  |             </LinearLayout> | ||||||
|  |  | ||||||
|  |             <TextView | ||||||
|  |                 android:id="@+id/settings_general_settings_label" | ||||||
|  |                 style="@style/SettingsSectionLabelStyle" | ||||||
|  |                 android:layout_width="match_parent" | ||||||
|  |                 android:layout_height="wrap_content" | ||||||
|  |                 android:text="@string/general_settings" /> | ||||||
|  |  | ||||||
|  |             <LinearLayout | ||||||
|  |                 android:id="@+id/settings_general_settings_holder" | ||||||
|  |                 android:layout_width="match_parent" | ||||||
|  |                 android:layout_height="wrap_content" | ||||||
|  |                 android:layout_margin="@dimen/medium_margin" | ||||||
|  |                 android:background="@drawable/section_holder_stroke" | ||||||
|  |                 android:orientation="vertical"> | ||||||
|  |  | ||||||
|  |                 <RelativeLayout | ||||||
|  |                     android:id="@+id/settings_purchase_thank_you_holder" | ||||||
|  |                     style="@style/SettingsHolderTextViewOneLinerStyle" | ||||||
|  |                     android:layout_width="match_parent" | ||||||
|  |                     android:layout_height="wrap_content" | ||||||
|  |                     android:background="@drawable/ripple_top_corners"> | ||||||
|  |  | ||||||
|  |                     <com.simplemobiletools.commons.views.MyTextView | ||||||
|  |                         android:id="@+id/settings_purchase_thank_you" | ||||||
|  |                         style="@style/SettingsTextLabelStyle" | ||||||
|  |                         android:layout_width="wrap_content" | ||||||
|  |                         android:layout_height="wrap_content" | ||||||
|  |                         android:text="@string/purchase_simple_thank_you" /> | ||||||
|  |  | ||||||
|  |                 </RelativeLayout> | ||||||
|  |  | ||||||
|  |                 <RelativeLayout | ||||||
|  |                     android:id="@+id/settings_use_english_holder" | ||||||
|  |                     style="@style/SettingsHolderCheckboxStyle" | ||||||
|  |                     android:layout_width="match_parent" | ||||||
|  |                     android:layout_height="wrap_content" | ||||||
|  |                     android:background="@drawable/ripple_bottom_corners"> | ||||||
|  |  | ||||||
|  |                     <com.simplemobiletools.commons.views.MyAppCompatCheckbox | ||||||
|  |                         android:id="@+id/settings_use_english" | ||||||
|  |                         style="@style/SettingsCheckboxStyle" | ||||||
|  |                         android:layout_width="match_parent" | ||||||
|  |                         android:layout_height="wrap_content" | ||||||
|  |                         android:text="@string/use_english_language" /> | ||||||
|  |  | ||||||
|  |                 </RelativeLayout> | ||||||
|  |             </LinearLayout> | ||||||
|  |         </LinearLayout> | ||||||
|  |     </androidx.core.widget.NestedScrollView> | ||||||
|  | </androidx.coordinatorlayout.widget.CoordinatorLayout> | ||||||
		Reference in New Issue
	
	Block a user