diff --git a/res/drawable/ic_edit_white_24dp.xml b/res/drawable/ic_edit_white_24dp.xml new file mode 100644 index 0000000000..46462b5726 --- /dev/null +++ b/res/drawable/ic_edit_white_24dp.xml @@ -0,0 +1,5 @@ + + + diff --git a/res/drawable/ic_phonelink_erase_white_24dp.xml b/res/drawable/ic_phonelink_erase_white_24dp.xml new file mode 100644 index 0000000000..dc5c1b0260 --- /dev/null +++ b/res/drawable/ic_phonelink_erase_white_24dp.xml @@ -0,0 +1,5 @@ + + + diff --git a/res/layout/fragment_device_list_bottom_sheet.xml b/res/layout/fragment_device_list_bottom_sheet.xml new file mode 100644 index 0000000000..dca86bdbe8 --- /dev/null +++ b/res/layout/fragment_device_list_bottom_sheet.xml @@ -0,0 +1,22 @@ + + + + + + + + diff --git a/res/values/dimens.xml b/res/values/dimens.xml index 0ddbef44e4..4c4c74c055 100644 --- a/res/values/dimens.xml +++ b/res/values/dimens.xml @@ -115,4 +115,10 @@ -150dp + 16dp + 24dp + 16sp + 16dp + 56dp + diff --git a/res/values/strings.xml b/res/values/strings.xml index 74dc96a244..4e6d872cb4 100644 --- a/res/values/strings.xml +++ b/res/values/strings.xml @@ -1643,5 +1643,8 @@ Copy public key Add Public Chat + + Edit display name + Unlink device diff --git a/res/values/styles.xml b/res/values/styles.xml index a9aaf9d788..ecf5dc23a5 100644 --- a/res/values/styles.xml +++ b/res/values/styles.xml @@ -242,4 +242,15 @@ @color/white + + diff --git a/res/values/themes.xml b/res/values/themes.xml index 178c030731..f285cde977 100644 --- a/res/values/themes.xml +++ b/res/values/themes.xml @@ -133,6 +133,7 @@ @color/loki_darkest_gray @style/AppCompatAlertDialogStyleLight @style/AppCompatDialogStyleLight + @style/Theme.MaterialComponents.Light.BottomSheetDialog @color/white @@ -317,6 +318,7 @@ @color/loki_darkest_gray @style/AppCompatAlertDialogStyleDark @style/AppCompatDialogStyleDark + @style/Theme.MaterialComponents.BottomSheetDialog @color/gray95 @drawable/ic_document_small_dark diff --git a/src/org/thoughtcrime/securesms/DeviceListFragment.java b/src/org/thoughtcrime/securesms/DeviceListFragment.java index 08fd4040b3..8592c3fef2 100644 --- a/src/org/thoughtcrime/securesms/DeviceListFragment.java +++ b/src/org/thoughtcrime/securesms/DeviceListFragment.java @@ -23,6 +23,7 @@ import org.thoughtcrime.securesms.database.DatabaseFactory; import org.thoughtcrime.securesms.database.loaders.DeviceListLoader; import org.thoughtcrime.securesms.dependencies.InjectableType; import org.thoughtcrime.securesms.devicelist.Device; +import org.thoughtcrime.securesms.loki.DeviceListBottomSheetFragment; import org.thoughtcrime.securesms.loki.MnemonicUtilities; import org.thoughtcrime.securesms.util.TextSecurePreferences; import org.thoughtcrime.securesms.util.ViewUtil; @@ -128,6 +129,9 @@ public class DeviceListFragment extends ListFragment final String deviceName = ((DeviceListItem)view).getDeviceName(); final String deviceId = ((DeviceListItem)view).getDeviceId(); + DeviceListBottomSheetFragment fragment = new DeviceListBottomSheetFragment(); + fragment.show(getFragmentManager(), fragment.getTag()); + /* AlertDialog.Builder builder = new AlertDialog.Builder(getActivity()); builder.setTitle(getActivity().getString(R.string.DeviceListActivity_unlink_s, deviceName)); builder.setMessage(R.string.DeviceListActivity_by_unlinking_this_device_it_will_no_longer_be_able_to_send_or_receive); @@ -139,6 +143,8 @@ public class DeviceListFragment extends ListFragment } }); builder.show(); + + */ } public void refresh() { diff --git a/src/org/thoughtcrime/securesms/loki/DeviceListBottomSheetFragment.kt b/src/org/thoughtcrime/securesms/loki/DeviceListBottomSheetFragment.kt new file mode 100644 index 0000000000..013b48a66d --- /dev/null +++ b/src/org/thoughtcrime/securesms/loki/DeviceListBottomSheetFragment.kt @@ -0,0 +1,24 @@ +package org.thoughtcrime.securesms.loki + +import android.os.Bundle +import android.support.design.widget.BottomSheetDialogFragment +import android.view.LayoutInflater +import android.view.View +import android.view.ViewGroup +import kotlinx.android.synthetic.main.fragment_device_list_bottom_sheet.* +import network.loki.messenger.R + +public class DeviceListBottomSheetFragment : BottomSheetDialogFragment() { + var onEditTapped: (() -> Unit)? = null + var onUnlinkTapped: (() -> Unit)? = null + + override fun onCreateView(inflater: LayoutInflater, container: ViewGroup?, savedInstanceState: Bundle?): View? { + return inflater.inflate(R.layout.fragment_device_list_bottom_sheet, container, false) + } + + override fun onViewCreated(view: View, savedInstanceState: Bundle?) { + super.onViewCreated(view, savedInstanceState) + editDisplayNameText.setOnClickListener { onEditTapped?.invoke() } + unlinkDeviceText.setOnClickListener { onUnlinkTapped?.invoke() } + } +} \ No newline at end of file