mirror of
				https://github.com/SimpleMobileTools/Simple-SMS-Messenger.git
				synced 2025-06-05 21:49:22 +02:00 
			
		
		
		
	adding Settings and About sections
This commit is contained in:
		| @@ -26,5 +26,30 @@ | |||||||
|         </activity> |         </activity> | ||||||
|  |  | ||||||
|         <activity android:name=".activities.MainActivity" /> |         <activity android:name=".activities.MainActivity" /> | ||||||
|  |  | ||||||
|  |         <activity | ||||||
|  |             android:name=".activities.SettingsActivity" | ||||||
|  |             android:label="@string/settings" | ||||||
|  |             android:parentActivityName=".activities.MainActivity" /> | ||||||
|  |  | ||||||
|  |         <activity | ||||||
|  |             android:name="com.simplemobiletools.commons.activities.AboutActivity" | ||||||
|  |             android:label="@string/about" | ||||||
|  |             android:parentActivityName=".activities.MainActivity" /> | ||||||
|  |  | ||||||
|  |         <activity | ||||||
|  |             android:name="com.simplemobiletools.commons.activities.LicenseActivity" | ||||||
|  |             android:label="@string/third_party_licences" | ||||||
|  |             android:parentActivityName="com.simplemobiletools.commons.activities.AboutActivity" /> | ||||||
|  |  | ||||||
|  |         <activity | ||||||
|  |             android:name="com.simplemobiletools.commons.activities.CustomizationActivity" | ||||||
|  |             android:label="@string/customize_colors" | ||||||
|  |             android:parentActivityName=".activities.SettingsActivity" /> | ||||||
|  |  | ||||||
|  |         <activity | ||||||
|  |             android:name="com.simplemobiletools.commons.activities.FAQActivity" | ||||||
|  |             android:label="@string/frequently_asked_questions" | ||||||
|  |             android:parentActivityName="com.simplemobiletools.commons.activities.AboutActivity" /> | ||||||
|     </application> |     </application> | ||||||
| </manifest> | </manifest> | ||||||
|   | |||||||
| @@ -1,8 +1,12 @@ | |||||||
| package com.simplemobiletools.smsmessenger.activities | package com.simplemobiletools.smsmessenger.activities | ||||||
|  |  | ||||||
|  | import android.content.Intent | ||||||
| import android.os.Bundle | import android.os.Bundle | ||||||
|  | import android.view.Menu | ||||||
|  | import android.view.MenuItem | ||||||
| import com.simplemobiletools.commons.extensions.appLaunched | import com.simplemobiletools.commons.extensions.appLaunched | ||||||
| import com.simplemobiletools.commons.extensions.checkAppSideloading | import com.simplemobiletools.commons.extensions.checkAppSideloading | ||||||
|  | import com.simplemobiletools.commons.models.FAQItem | ||||||
| import com.simplemobiletools.smsmessenger.BuildConfig | import com.simplemobiletools.smsmessenger.BuildConfig | ||||||
| import com.simplemobiletools.smsmessenger.R | import com.simplemobiletools.smsmessenger.R | ||||||
|  |  | ||||||
| @@ -17,4 +21,33 @@ class MainActivity : SimpleActivity() { | |||||||
|             return |             return | ||||||
|         } |         } | ||||||
|     } |     } | ||||||
|  |  | ||||||
|  |     override fun onCreateOptionsMenu(menu: Menu): Boolean { | ||||||
|  |         menuInflater.inflate(R.menu.menu, menu) | ||||||
|  |         return true | ||||||
|  |     } | ||||||
|  |  | ||||||
|  |     override fun onOptionsItemSelected(item: MenuItem): Boolean { | ||||||
|  |         when (item.itemId) { | ||||||
|  |             R.id.settings -> launchSettings() | ||||||
|  |             R.id.about -> launchAbout() | ||||||
|  |             else -> return super.onOptionsItemSelected(item) | ||||||
|  |         } | ||||||
|  |         return true | ||||||
|  |     } | ||||||
|  |  | ||||||
|  |     private fun launchSettings() { | ||||||
|  |         startActivity(Intent(applicationContext, SettingsActivity::class.java)) | ||||||
|  |     } | ||||||
|  |  | ||||||
|  |     private fun launchAbout() { | ||||||
|  |         val licenses = 0 | ||||||
|  |  | ||||||
|  |         val faqItems = arrayListOf( | ||||||
|  |             FAQItem(R.string.faq_2_title_commons, R.string.faq_2_text_commons), | ||||||
|  |             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,59 @@ | |||||||
|  | package com.simplemobiletools.smsmessenger.activities | ||||||
|  |  | ||||||
|  | import android.os.Bundle | ||||||
|  | import com.simplemobiletools.commons.dialogs.ChangeDateTimeFormatDialog | ||||||
|  | import com.simplemobiletools.commons.extensions.beVisibleIf | ||||||
|  | import com.simplemobiletools.commons.extensions.isThankYouInstalled | ||||||
|  | import com.simplemobiletools.commons.extensions.launchPurchaseThankYouIntent | ||||||
|  | import com.simplemobiletools.commons.extensions.updateTextColors | ||||||
|  | import com.simplemobiletools.smsmessenger.R | ||||||
|  | import com.simplemobiletools.smsmessenger.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() | ||||||
|  |  | ||||||
|  |         setupPurchaseThankYou() | ||||||
|  |         setupCustomizeColors() | ||||||
|  |         setupUseEnglish() | ||||||
|  |         setupChangeDateTimeFormat() | ||||||
|  |         updateTextColors(settings_scrollview) | ||||||
|  |     } | ||||||
|  |  | ||||||
|  |     private fun setupPurchaseThankYou() { | ||||||
|  |         settings_purchase_thank_you_holder.beVisibleIf(!isThankYouInstalled()) | ||||||
|  |         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) | ||||||
|  |         } | ||||||
|  |     } | ||||||
|  |  | ||||||
|  |     private fun setupChangeDateTimeFormat() { | ||||||
|  |         settings_change_date_time_format_holder.setOnClickListener { | ||||||
|  |             ChangeDateTimeFormatDialog(this) {} | ||||||
|  |         } | ||||||
|  |     } | ||||||
|  | } | ||||||
| @@ -0,0 +1,6 @@ | |||||||
|  | package com.simplemobiletools.smsmessenger.extensions | ||||||
|  |  | ||||||
|  | import android.content.Context | ||||||
|  | import com.simplemobiletools.smsmessenger.helpers.Config | ||||||
|  |  | ||||||
|  | val Context.config: Config get() = Config.newInstance(applicationContext) | ||||||
| @@ -0,0 +1,10 @@ | |||||||
|  | package com.simplemobiletools.smsmessenger.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) | ||||||
|  |     } | ||||||
|  | } | ||||||
							
								
								
									
										100
									
								
								app/src/main/res/layout/activity_settings.xml
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										100
									
								
								app/src/main/res/layout/activity_settings.xml
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,100 @@ | |||||||
|  | <?xml version="1.0" encoding="utf-8"?> | ||||||
|  | <ScrollView xmlns:android="http://schemas.android.com/apk/res/android" | ||||||
|  |     xmlns:app="http://schemas.android.com/apk/res-auto" | ||||||
|  |     android:id="@+id/settings_scrollview" | ||||||
|  |     android:layout_width="match_parent" | ||||||
|  |     android:layout_height="wrap_content"> | ||||||
|  |  | ||||||
|  |     <LinearLayout | ||||||
|  |         android:id="@+id/settings_holder" | ||||||
|  |         android:layout_width="match_parent" | ||||||
|  |         android:layout_height="wrap_content" | ||||||
|  |         android:orientation="vertical"> | ||||||
|  |  | ||||||
|  |         <RelativeLayout | ||||||
|  |             android:id="@+id/settings_purchase_thank_you_holder" | ||||||
|  |             android:layout_width="match_parent" | ||||||
|  |             android:layout_height="wrap_content" | ||||||
|  |             android:layout_marginTop="@dimen/medium_margin" | ||||||
|  |             android:background="?attr/selectableItemBackground" | ||||||
|  |             android:paddingLeft="@dimen/normal_margin" | ||||||
|  |             android:paddingTop="@dimen/activity_margin" | ||||||
|  |             android:paddingRight="@dimen/normal_margin" | ||||||
|  |             android:paddingBottom="@dimen/activity_margin"> | ||||||
|  |  | ||||||
|  |             <com.simplemobiletools.commons.views.MyTextView | ||||||
|  |                 android:id="@+id/settings_purchase_thank_you" | ||||||
|  |                 android:layout_width="wrap_content" | ||||||
|  |                 android:layout_height="wrap_content" | ||||||
|  |                 android:layout_centerVertical="true" | ||||||
|  |                 android:paddingStart="@dimen/medium_margin" | ||||||
|  |                 android:text="@string/purchase_simple_thank_you" /> | ||||||
|  |  | ||||||
|  |         </RelativeLayout> | ||||||
|  |  | ||||||
|  |         <RelativeLayout | ||||||
|  |             android:id="@+id/settings_customize_colors_holder" | ||||||
|  |             android:layout_width="match_parent" | ||||||
|  |             android:layout_height="wrap_content" | ||||||
|  |             android:layout_marginTop="@dimen/medium_margin" | ||||||
|  |             android:background="?attr/selectableItemBackground" | ||||||
|  |             android:paddingLeft="@dimen/normal_margin" | ||||||
|  |             android:paddingTop="@dimen/activity_margin" | ||||||
|  |             android:paddingRight="@dimen/normal_margin" | ||||||
|  |             android:paddingBottom="@dimen/activity_margin"> | ||||||
|  |  | ||||||
|  |             <com.simplemobiletools.commons.views.MyTextView | ||||||
|  |                 android:id="@+id/settings_customize_colors_label" | ||||||
|  |                 android:layout_width="wrap_content" | ||||||
|  |                 android:layout_height="wrap_content" | ||||||
|  |                 android:layout_centerVertical="true" | ||||||
|  |                 android:paddingStart="@dimen/medium_margin" | ||||||
|  |                 android:text="@string/customize_colors" /> | ||||||
|  |  | ||||||
|  |         </RelativeLayout> | ||||||
|  |  | ||||||
|  |         <RelativeLayout | ||||||
|  |             android:id="@+id/settings_change_date_time_format_holder" | ||||||
|  |             android:layout_width="match_parent" | ||||||
|  |             android:layout_height="wrap_content" | ||||||
|  |             android:layout_marginTop="@dimen/medium_margin" | ||||||
|  |             android:background="?attr/selectableItemBackground" | ||||||
|  |             android:paddingLeft="@dimen/normal_margin" | ||||||
|  |             android:paddingTop="@dimen/activity_margin" | ||||||
|  |             android:paddingRight="@dimen/normal_margin" | ||||||
|  |             android:paddingBottom="@dimen/activity_margin"> | ||||||
|  |  | ||||||
|  |             <com.simplemobiletools.commons.views.MyTextView | ||||||
|  |                 android:id="@+id/settings_change_date_time_format" | ||||||
|  |                 android:layout_width="wrap_content" | ||||||
|  |                 android:layout_height="wrap_content" | ||||||
|  |                 android:layout_centerVertical="true" | ||||||
|  |                 android:paddingStart="@dimen/medium_margin" | ||||||
|  |                 android:text="@string/change_date_and_time_format" /> | ||||||
|  |  | ||||||
|  |         </RelativeLayout> | ||||||
|  |  | ||||||
|  |         <RelativeLayout | ||||||
|  |             android:id="@+id/settings_use_english_holder" | ||||||
|  |             android:layout_width="match_parent" | ||||||
|  |             android:layout_height="wrap_content" | ||||||
|  |             android:layout_marginTop="@dimen/medium_margin" | ||||||
|  |             android:background="?attr/selectableItemBackground" | ||||||
|  |             android:paddingLeft="@dimen/normal_margin" | ||||||
|  |             android:paddingTop="@dimen/activity_margin" | ||||||
|  |             android:paddingRight="@dimen/normal_margin" | ||||||
|  |             android:paddingBottom="@dimen/activity_margin"> | ||||||
|  |  | ||||||
|  |             <com.simplemobiletools.commons.views.MySwitchCompat | ||||||
|  |                 android:id="@+id/settings_use_english" | ||||||
|  |                 android:layout_width="match_parent" | ||||||
|  |                 android:layout_height="wrap_content" | ||||||
|  |                 android:background="@null" | ||||||
|  |                 android:clickable="false" | ||||||
|  |                 android:paddingStart="@dimen/medium_margin" | ||||||
|  |                 android:text="@string/use_english_language" | ||||||
|  |                 app:switchPadding="@dimen/medium_margin" /> | ||||||
|  |  | ||||||
|  |         </RelativeLayout> | ||||||
|  |     </LinearLayout> | ||||||
|  | </ScrollView> | ||||||
							
								
								
									
										12
									
								
								app/src/main/res/menu/menu.xml
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										12
									
								
								app/src/main/res/menu/menu.xml
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,12 @@ | |||||||
|  | <?xml version="1.0" encoding="utf-8"?> | ||||||
|  | <menu xmlns:android="http://schemas.android.com/apk/res/android" | ||||||
|  |     xmlns:app="http://schemas.android.com/apk/res-auto"> | ||||||
|  |     <item | ||||||
|  |         android:id="@+id/settings" | ||||||
|  |         android:title="@string/settings" | ||||||
|  |         app:showAsAction="never" /> | ||||||
|  |     <item | ||||||
|  |         android:id="@+id/about" | ||||||
|  |         android:title="@string/about" | ||||||
|  |         app:showAsAction="never" /> | ||||||
|  | </menu> | ||||||
		Reference in New Issue
	
	Block a user