mirror of
https://github.com/SimpleMobileTools/Simple-Dialer.git
synced 2025-06-05 21:49:23 +02:00
Moved shared items to commons
This commit is contained in:
@@ -16,6 +16,7 @@ import android.widget.TextView
|
|||||||
import android.widget.Toast
|
import android.widget.Toast
|
||||||
import androidx.viewpager.widget.ViewPager
|
import androidx.viewpager.widget.ViewPager
|
||||||
import com.google.android.material.snackbar.Snackbar
|
import com.google.android.material.snackbar.Snackbar
|
||||||
|
import com.simplemobiletools.commons.dialogs.ChangeViewTypeDialog
|
||||||
import com.simplemobiletools.commons.dialogs.ConfirmationDialog
|
import com.simplemobiletools.commons.dialogs.ConfirmationDialog
|
||||||
import com.simplemobiletools.commons.dialogs.PermissionRequiredDialog
|
import com.simplemobiletools.commons.dialogs.PermissionRequiredDialog
|
||||||
import com.simplemobiletools.commons.dialogs.RadioGroupDialog
|
import com.simplemobiletools.commons.dialogs.RadioGroupDialog
|
||||||
@@ -28,7 +29,6 @@ import com.simplemobiletools.dialer.BuildConfig
|
|||||||
import com.simplemobiletools.dialer.R
|
import com.simplemobiletools.dialer.R
|
||||||
import com.simplemobiletools.dialer.adapters.ViewPagerAdapter
|
import com.simplemobiletools.dialer.adapters.ViewPagerAdapter
|
||||||
import com.simplemobiletools.dialer.dialogs.ChangeSortingDialog
|
import com.simplemobiletools.dialer.dialogs.ChangeSortingDialog
|
||||||
import com.simplemobiletools.dialer.dialogs.ChangeViewTypeDialog
|
|
||||||
import com.simplemobiletools.dialer.dialogs.FilterContactSourcesDialog
|
import com.simplemobiletools.dialer.dialogs.FilterContactSourcesDialog
|
||||||
import com.simplemobiletools.dialer.extensions.config
|
import com.simplemobiletools.dialer.extensions.config
|
||||||
import com.simplemobiletools.dialer.extensions.launchCreateNewContactIntent
|
import com.simplemobiletools.dialer.extensions.launchCreateNewContactIntent
|
||||||
@@ -209,15 +209,15 @@ class MainActivity : SimpleActivity() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
private fun changeColumnCount() {
|
private fun changeColumnCount() {
|
||||||
val items = (GRID_MIN_COLUMNS_COUNT..GRID_MAX_COLUMNS_COUNT).map {
|
val items = (CONTACTS_GRID_MIN_COLUMNS_COUNT..CONTACTS_GRID_MAX_COLUMNS_COUNT).map {
|
||||||
RadioItem(it, resources.getQuantityString(R.plurals.column_counts, it, it))
|
RadioItem(it, resources.getQuantityString(R.plurals.column_counts, it, it))
|
||||||
}
|
}
|
||||||
|
|
||||||
val currentColumnCount = config.favoritesColumnCnt
|
val currentColumnCount = config.contactsGridColumnCnt
|
||||||
RadioGroupDialog(this, ArrayList(items), currentColumnCount) {
|
RadioGroupDialog(this, ArrayList(items), currentColumnCount) {
|
||||||
val newColumnCount = it as Int
|
val newColumnCount = it as Int
|
||||||
if (currentColumnCount != newColumnCount) {
|
if (currentColumnCount != newColumnCount) {
|
||||||
config.favoritesColumnCnt = newColumnCount
|
config.contactsGridColumnCnt = newColumnCount
|
||||||
favorites_fragment.updateListAdapter()
|
favorites_fragment.updateListAdapter()
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@@ -31,8 +31,6 @@ import com.simplemobiletools.dialer.extensions.areMultipleSIMsAvailable
|
|||||||
import com.simplemobiletools.dialer.extensions.callContactWithSim
|
import com.simplemobiletools.dialer.extensions.callContactWithSim
|
||||||
import com.simplemobiletools.dialer.extensions.config
|
import com.simplemobiletools.dialer.extensions.config
|
||||||
import com.simplemobiletools.dialer.extensions.startContactDetailsIntent
|
import com.simplemobiletools.dialer.extensions.startContactDetailsIntent
|
||||||
import com.simplemobiletools.dialer.helpers.GRID_MAX_COLUMNS_COUNT
|
|
||||||
import com.simplemobiletools.dialer.helpers.GRID_MIN_COLUMNS_COUNT
|
|
||||||
import com.simplemobiletools.dialer.interfaces.RefreshItemsListener
|
import com.simplemobiletools.dialer.interfaces.RefreshItemsListener
|
||||||
import java.util.*
|
import java.util.*
|
||||||
|
|
||||||
@@ -56,6 +54,7 @@ class ContactsAdapter(
|
|||||||
var onDragEndListener: (() -> Unit)? = null
|
var onDragEndListener: (() -> Unit)? = null
|
||||||
var onSpanCountListener: (Int) -> Unit = {}
|
var onSpanCountListener: (Int) -> Unit = {}
|
||||||
|
|
||||||
|
|
||||||
init {
|
init {
|
||||||
setupDragListener(true)
|
setupDragListener(true)
|
||||||
|
|
||||||
@@ -351,7 +350,7 @@ class ContactsAdapter(
|
|||||||
val layoutManager = recyclerView.layoutManager
|
val layoutManager = recyclerView.layoutManager
|
||||||
if (layoutManager is GridLayoutManager) {
|
if (layoutManager is GridLayoutManager) {
|
||||||
val currentSpanCount = layoutManager.spanCount
|
val currentSpanCount = layoutManager.spanCount
|
||||||
val newSpanCount = (currentSpanCount - 1).coerceIn(GRID_MIN_COLUMNS_COUNT, GRID_MAX_COLUMNS_COUNT)
|
val newSpanCount = (currentSpanCount - 1).coerceIn(CONTACTS_GRID_MIN_COLUMNS_COUNT, CONTACTS_GRID_MAX_COLUMNS_COUNT)
|
||||||
layoutManager.spanCount = newSpanCount
|
layoutManager.spanCount = newSpanCount
|
||||||
recyclerView.requestLayout()
|
recyclerView.requestLayout()
|
||||||
onSpanCountListener(newSpanCount)
|
onSpanCountListener(newSpanCount)
|
||||||
@@ -362,7 +361,7 @@ class ContactsAdapter(
|
|||||||
val layoutManager = recyclerView.layoutManager
|
val layoutManager = recyclerView.layoutManager
|
||||||
if (layoutManager is GridLayoutManager) {
|
if (layoutManager is GridLayoutManager) {
|
||||||
val currentSpanCount = layoutManager.spanCount
|
val currentSpanCount = layoutManager.spanCount
|
||||||
val newSpanCount = (currentSpanCount + 1).coerceIn(GRID_MIN_COLUMNS_COUNT, GRID_MAX_COLUMNS_COUNT)
|
val newSpanCount = (currentSpanCount + 1).coerceIn(CONTACTS_GRID_MIN_COLUMNS_COUNT, CONTACTS_GRID_MAX_COLUMNS_COUNT)
|
||||||
layoutManager.spanCount = newSpanCount
|
layoutManager.spanCount = newSpanCount
|
||||||
recyclerView.requestLayout()
|
recyclerView.requestLayout()
|
||||||
onSpanCountListener(newSpanCount)
|
onSpanCountListener(newSpanCount)
|
||||||
|
@@ -1,46 +0,0 @@
|
|||||||
package com.simplemobiletools.dialer.dialogs
|
|
||||||
|
|
||||||
import android.view.View
|
|
||||||
import com.simplemobiletools.commons.activities.BaseSimpleActivity
|
|
||||||
import com.simplemobiletools.commons.extensions.getAlertDialogBuilder
|
|
||||||
import com.simplemobiletools.commons.extensions.setupDialogStuff
|
|
||||||
import com.simplemobiletools.commons.helpers.VIEW_TYPE_GRID
|
|
||||||
import com.simplemobiletools.commons.helpers.VIEW_TYPE_LIST
|
|
||||||
import com.simplemobiletools.dialer.R
|
|
||||||
import com.simplemobiletools.dialer.extensions.config
|
|
||||||
import kotlinx.android.synthetic.main.dialog_change_view_type.view.change_view_type_dialog_radio
|
|
||||||
import kotlinx.android.synthetic.main.dialog_change_view_type.view.change_view_type_dialog_radio_grid
|
|
||||||
import kotlinx.android.synthetic.main.dialog_change_view_type.view.change_view_type_dialog_radio_list
|
|
||||||
|
|
||||||
class ChangeViewTypeDialog(val activity: BaseSimpleActivity, val path: String = "", showFolderCheck: Boolean = true, val callback: () -> Unit) {
|
|
||||||
private var view: View
|
|
||||||
private var config = activity.config
|
|
||||||
|
|
||||||
init {
|
|
||||||
view = activity.layoutInflater.inflate(R.layout.dialog_change_view_type, null).apply {
|
|
||||||
val viewToCheck = when (config.viewType) {
|
|
||||||
VIEW_TYPE_GRID -> change_view_type_dialog_radio_grid.id
|
|
||||||
else -> change_view_type_dialog_radio_list.id
|
|
||||||
}
|
|
||||||
|
|
||||||
change_view_type_dialog_radio.check(viewToCheck)
|
|
||||||
}
|
|
||||||
|
|
||||||
activity.getAlertDialogBuilder()
|
|
||||||
.setPositiveButton(R.string.ok) { dialog, which -> dialogConfirmed() }
|
|
||||||
.setNegativeButton(R.string.cancel, null)
|
|
||||||
.apply {
|
|
||||||
activity.setupDialogStuff(view, this)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
private fun dialogConfirmed() {
|
|
||||||
val viewType = if (view.change_view_type_dialog_radio_grid.isChecked) {
|
|
||||||
VIEW_TYPE_GRID
|
|
||||||
} else {
|
|
||||||
VIEW_TYPE_LIST
|
|
||||||
}
|
|
||||||
config.viewType = viewType
|
|
||||||
callback()
|
|
||||||
}
|
|
||||||
}
|
|
@@ -91,7 +91,6 @@ class FavoritesFragment(context: Context, attributeSet: AttributeSet) : MyViewPa
|
|||||||
val viewType = context.config.viewType
|
val viewType = context.config.viewType
|
||||||
setViewType(viewType)
|
setViewType(viewType)
|
||||||
|
|
||||||
|
|
||||||
val currAdapter = fragment_list.adapter as ContactsAdapter?
|
val currAdapter = fragment_list.adapter as ContactsAdapter?
|
||||||
if (currAdapter == null) {
|
if (currAdapter == null) {
|
||||||
ContactsAdapter(
|
ContactsAdapter(
|
||||||
@@ -127,7 +126,7 @@ class FavoritesFragment(context: Context, attributeSet: AttributeSet) : MyViewPa
|
|||||||
}
|
}
|
||||||
|
|
||||||
onSpanCountListener = { newSpanCount ->
|
onSpanCountListener = { newSpanCount ->
|
||||||
context.config.favoritesColumnCnt = newSpanCount
|
context.config.contactsGridColumnCnt = newSpanCount
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -196,7 +195,7 @@ class FavoritesFragment(context: Context, attributeSet: AttributeSet) : MyViewPa
|
|||||||
}
|
}
|
||||||
|
|
||||||
private fun setViewType(viewType: Int) {
|
private fun setViewType(viewType: Int) {
|
||||||
val spanCount = context.config.favoritesColumnCnt
|
val spanCount = context.config.contactsGridColumnCnt
|
||||||
|
|
||||||
val layoutManager = if (viewType == VIEW_TYPE_GRID) {
|
val layoutManager = if (viewType == VIEW_TYPE_GRID) {
|
||||||
letter_fastscroller.beGone()
|
letter_fastscroller.beGone()
|
||||||
|
@@ -6,7 +6,6 @@ import android.telecom.PhoneAccountHandle
|
|||||||
import com.google.gson.Gson
|
import com.google.gson.Gson
|
||||||
import com.google.gson.reflect.TypeToken
|
import com.google.gson.reflect.TypeToken
|
||||||
import com.simplemobiletools.commons.helpers.BaseConfig
|
import com.simplemobiletools.commons.helpers.BaseConfig
|
||||||
import com.simplemobiletools.commons.helpers.VIEW_TYPE_LIST
|
|
||||||
import com.simplemobiletools.dialer.extensions.getPhoneAccountHandleModel
|
import com.simplemobiletools.dialer.extensions.getPhoneAccountHandleModel
|
||||||
import com.simplemobiletools.dialer.extensions.putPhoneAccountHandle
|
import com.simplemobiletools.dialer.extensions.putPhoneAccountHandle
|
||||||
import com.simplemobiletools.dialer.models.SpeedDial
|
import com.simplemobiletools.dialer.models.SpeedDial
|
||||||
@@ -90,13 +89,4 @@ class Config(context: Context) : BaseConfig(context) {
|
|||||||
var alwaysShowFullscreen: Boolean
|
var alwaysShowFullscreen: Boolean
|
||||||
get() = prefs.getBoolean(ALWAYS_SHOW_FULLSCREEN, false)
|
get() = prefs.getBoolean(ALWAYS_SHOW_FULLSCREEN, false)
|
||||||
set(alwaysShowFullscreen) = prefs.edit().putBoolean(ALWAYS_SHOW_FULLSCREEN, alwaysShowFullscreen).apply()
|
set(alwaysShowFullscreen) = prefs.edit().putBoolean(ALWAYS_SHOW_FULLSCREEN, alwaysShowFullscreen).apply()
|
||||||
|
|
||||||
var viewType: Int
|
|
||||||
get() = prefs.getInt(VIEW_TYPE, VIEW_TYPE_LIST)
|
|
||||||
set(viewType) = prefs.edit().putInt(VIEW_TYPE, viewType).apply()
|
|
||||||
|
|
||||||
var favoritesColumnCnt: Int
|
|
||||||
get() = prefs.getInt(FAVOURITES_COLUMN_COUNT, GRID_DEFAULT_COLUMNS_COUNT)
|
|
||||||
set(gridLayoutSpanCount) = prefs.edit().putInt(FAVOURITES_COLUMN_COUNT, gridLayoutSpanCount).apply()
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@@ -19,9 +19,6 @@ const val DIALPAD_VIBRATION = "dialpad_vibration"
|
|||||||
const val DIALPAD_BEEPS = "dialpad_beeps"
|
const val DIALPAD_BEEPS = "dialpad_beeps"
|
||||||
const val HIDE_DIALPAD_NUMBERS = "hide_dialpad_numbers"
|
const val HIDE_DIALPAD_NUMBERS = "hide_dialpad_numbers"
|
||||||
const val ALWAYS_SHOW_FULLSCREEN = "always_show_fullscreen"
|
const val ALWAYS_SHOW_FULLSCREEN = "always_show_fullscreen"
|
||||||
const val VIEW_TYPE = "view_type"
|
|
||||||
const val FAVOURITES_COLUMN_COUNT = "grid_layout_span_count"
|
|
||||||
|
|
||||||
|
|
||||||
const val ALL_TABS_MASK = TAB_CONTACTS or TAB_FAVORITES or TAB_CALL_HISTORY
|
const val ALL_TABS_MASK = TAB_CONTACTS or TAB_FAVORITES or TAB_CALL_HISTORY
|
||||||
|
|
||||||
@@ -34,7 +31,3 @@ const val DECLINE_CALL = PATH + "decline_call"
|
|||||||
const val DIALPAD_TONE_LENGTH_MS = 150L // The length of DTMF tones in milliseconds
|
const val DIALPAD_TONE_LENGTH_MS = 150L // The length of DTMF tones in milliseconds
|
||||||
|
|
||||||
const val MIN_RECENTS_THRESHOLD = 30
|
const val MIN_RECENTS_THRESHOLD = 30
|
||||||
|
|
||||||
const val GRID_DEFAULT_COLUMNS_COUNT = 3
|
|
||||||
const val GRID_MIN_COLUMNS_COUNT = 2
|
|
||||||
const val GRID_MAX_COLUMNS_COUNT = 6
|
|
||||||
|
@@ -1,41 +0,0 @@
|
|||||||
<?xml version="1.0" encoding="utf-8"?>
|
|
||||||
<ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
|
|
||||||
android:id="@+id/change_view_type_dialog_scrollview"
|
|
||||||
android:layout_width="match_parent"
|
|
||||||
android:layout_height="match_parent">
|
|
||||||
|
|
||||||
<LinearLayout
|
|
||||||
android:id="@+id/change_view_type_dialog_holder"
|
|
||||||
android:layout_width="match_parent"
|
|
||||||
android:layout_height="wrap_content"
|
|
||||||
android:orientation="vertical"
|
|
||||||
android:paddingStart="@dimen/activity_margin"
|
|
||||||
android:paddingTop="@dimen/activity_margin"
|
|
||||||
android:paddingEnd="@dimen/activity_margin">
|
|
||||||
|
|
||||||
<RadioGroup
|
|
||||||
android:id="@+id/change_view_type_dialog_radio"
|
|
||||||
android:layout_width="match_parent"
|
|
||||||
android:layout_height="wrap_content"
|
|
||||||
android:layout_marginBottom="@dimen/medium_margin">
|
|
||||||
|
|
||||||
<com.simplemobiletools.commons.views.MyCompatRadioButton
|
|
||||||
android:id="@+id/change_view_type_dialog_radio_grid"
|
|
||||||
android:layout_width="match_parent"
|
|
||||||
android:layout_height="wrap_content"
|
|
||||||
android:paddingTop="@dimen/medium_margin"
|
|
||||||
android:paddingBottom="@dimen/medium_margin"
|
|
||||||
android:text="@string/grid" />
|
|
||||||
|
|
||||||
<com.simplemobiletools.commons.views.MyCompatRadioButton
|
|
||||||
android:id="@+id/change_view_type_dialog_radio_list"
|
|
||||||
android:layout_width="match_parent"
|
|
||||||
android:layout_height="wrap_content"
|
|
||||||
android:paddingTop="@dimen/medium_margin"
|
|
||||||
android:paddingBottom="@dimen/medium_margin"
|
|
||||||
android:text="@string/list" />
|
|
||||||
|
|
||||||
</RadioGroup>
|
|
||||||
|
|
||||||
</LinearLayout>
|
|
||||||
</ScrollView>
|
|
Reference in New Issue
Block a user