mirror of
				https://github.com/SimpleMobileTools/Simple-Clock.git
				synced 2025-06-05 22:19:17 +02:00 
			
		
		
		
	allow removing extra timezones by long pressing too
This commit is contained in:
		| @@ -5,6 +5,7 @@ import android.view.View | |||||||
| import android.view.ViewGroup | import android.view.ViewGroup | ||||||
| import com.simplemobiletools.clock.R | import com.simplemobiletools.clock.R | ||||||
| import com.simplemobiletools.clock.activities.SimpleActivity | import com.simplemobiletools.clock.activities.SimpleActivity | ||||||
|  | import com.simplemobiletools.clock.extensions.config | ||||||
| import com.simplemobiletools.clock.extensions.getFormattedDate | import com.simplemobiletools.clock.extensions.getFormattedDate | ||||||
| import com.simplemobiletools.clock.models.MyTimeZone | import com.simplemobiletools.clock.models.MyTimeZone | ||||||
| import com.simplemobiletools.commons.adapters.MyRecyclerViewAdapter | import com.simplemobiletools.commons.adapters.MyRecyclerViewAdapter | ||||||
| @@ -29,7 +30,15 @@ class TimeZonesAdapter(activity: SimpleActivity, var timeZones: ArrayList<MyTime | |||||||
|         view?.time_zone_frame?.isSelected = select |         view?.time_zone_frame?.isSelected = select | ||||||
|     } |     } | ||||||
|  |  | ||||||
|     override fun actionItemPressed(id: Int) {} |     override fun actionItemPressed(id: Int) { | ||||||
|  |         if (selectedPositions.isEmpty()) { | ||||||
|  |             return | ||||||
|  |         } | ||||||
|  |  | ||||||
|  |         when (id) { | ||||||
|  |             R.id.cab_remove -> removeItems() | ||||||
|  |         } | ||||||
|  |     } | ||||||
|  |  | ||||||
|     override fun getSelectableItemCount() = timeZones.size |     override fun getSelectableItemCount() = timeZones.size | ||||||
|  |  | ||||||
| @@ -55,6 +64,23 @@ class TimeZonesAdapter(activity: SimpleActivity, var timeZones: ArrayList<MyTime | |||||||
|         notifyDataSetChanged() |         notifyDataSetChanged() | ||||||
|     } |     } | ||||||
|  |  | ||||||
|  |     private fun removeItems() { | ||||||
|  |         val timeZonesToRemove = ArrayList<MyTimeZone>() | ||||||
|  |         val timeZoneIDsToRemove = ArrayList<String>() | ||||||
|  |         selectedPositions.sortedDescending().forEach { | ||||||
|  |             val timeZone = timeZones[it] | ||||||
|  |             timeZonesToRemove.add(timeZone) | ||||||
|  |             timeZoneIDsToRemove.add(timeZone.id.toString()) | ||||||
|  |         } | ||||||
|  |  | ||||||
|  |         timeZones.removeAll(timeZonesToRemove) | ||||||
|  |         removeSelectedItems() | ||||||
|  |  | ||||||
|  |         val selectedTimeZones = activity.config.selectedTimeZones | ||||||
|  |         val newTimeZones = selectedTimeZones.filter { !timeZoneIDsToRemove.contains(it) }.toHashSet() | ||||||
|  |         activity.config.selectedTimeZones = newTimeZones | ||||||
|  |     } | ||||||
|  |  | ||||||
|     private fun setupView(view: View, timeZone: MyTimeZone) { |     private fun setupView(view: View, timeZone: MyTimeZone) { | ||||||
|         val calendar = Calendar.getInstance(TimeZone.getTimeZone(timeZone.zoneName)) |         val calendar = Calendar.getInstance(TimeZone.getTimeZone(timeZone.zoneName)) | ||||||
|         val offset = calendar.timeZone.rawOffset |         val offset = calendar.timeZone.rawOffset | ||||||
|   | |||||||
| @@ -18,7 +18,7 @@ | |||||||
|         android:gravity="center_vertical" |         android:gravity="center_vertical" | ||||||
|         android:maxLines="1" |         android:maxLines="1" | ||||||
|         android:padding="@dimen/activity_margin" |         android:padding="@dimen/activity_margin" | ||||||
|         android:textSize="@dimen/normal_text_size" |         android:textSize="@dimen/bigger_text_size" | ||||||
|         tools:text="GMT-11:00 Midway"/> |         tools:text="GMT-11:00 Midway"/> | ||||||
|  |  | ||||||
|     <com.simplemobiletools.commons.views.MyAppCompatCheckbox |     <com.simplemobiletools.commons.views.MyAppCompatCheckbox | ||||||
|   | |||||||
| @@ -6,11 +6,6 @@ | |||||||
|         android:icon="@drawable/ic_rename" |         android:icon="@drawable/ic_rename" | ||||||
|         android:title="@string/rename" |         android:title="@string/rename" | ||||||
|         app:showAsAction="ifRoom"/> |         app:showAsAction="ifRoom"/> | ||||||
|     <item |  | ||||||
|         android:id="@+id/cab_select_all" |  | ||||||
|         android:icon="@drawable/ic_select_all" |  | ||||||
|         android:title="@string/select_all" |  | ||||||
|         app:showAsAction="ifRoom"/> |  | ||||||
|     <item |     <item | ||||||
|         android:id="@+id/cab_remove" |         android:id="@+id/cab_remove" | ||||||
|         android:icon="@drawable/ic_minus_circle" |         android:icon="@drawable/ic_minus_circle" | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user