mirror of
				https://github.com/oxen-io/session-android.git
				synced 2025-10-31 17:09:40 +00:00 
			
		
		
		
	Add open URL dialog
This commit is contained in:
		| @@ -34,6 +34,7 @@ import org.thoughtcrime.securesms.ApplicationContext | |||||||
| import org.thoughtcrime.securesms.PassphraseRequiredActionBarActivity | import org.thoughtcrime.securesms.PassphraseRequiredActionBarActivity | ||||||
| import org.thoughtcrime.securesms.conversation.v2.dialogs.BlockedDialog | import org.thoughtcrime.securesms.conversation.v2.dialogs.BlockedDialog | ||||||
| import org.thoughtcrime.securesms.conversation.v2.dialogs.JoinOpenGroupDialog | import org.thoughtcrime.securesms.conversation.v2.dialogs.JoinOpenGroupDialog | ||||||
|  | import org.thoughtcrime.securesms.conversation.v2.dialogs.OpenURLDialog | ||||||
| import org.thoughtcrime.securesms.conversation.v2.input_bar.InputBarButton | import org.thoughtcrime.securesms.conversation.v2.input_bar.InputBarButton | ||||||
| import org.thoughtcrime.securesms.conversation.v2.input_bar.InputBarDelegate | import org.thoughtcrime.securesms.conversation.v2.input_bar.InputBarDelegate | ||||||
| import org.thoughtcrime.securesms.conversation.v2.input_bar.InputBarRecordingViewDelegate | import org.thoughtcrime.securesms.conversation.v2.input_bar.InputBarRecordingViewDelegate | ||||||
| @@ -412,8 +413,7 @@ class ConversationActivityV2 : PassphraseRequiredActionBarActivity(), InputBarDe | |||||||
|             // the view) so as to not interfere with all the other gestures. Do not add |             // the view) so as to not interfere with all the other gestures. Do not add | ||||||
|             // onClickListeners directly to message content views. |             // onClickListeners directly to message content views. | ||||||
|             view.onContentClick() |             view.onContentClick() | ||||||
|             val openGroup = DatabaseFactory.getLokiThreadDatabase(this).getOpenGroupChat(threadID)!! |             OpenURLDialog("http://iuasfiuhasf.oiasf").show(supportFragmentManager, "Blocked Dialog") | ||||||
|             JoinOpenGroupDialog(openGroup).show(supportFragmentManager, "Blocked Dialog") |  | ||||||
|         } |         } | ||||||
|     } |     } | ||||||
|  |  | ||||||
|   | |||||||
| @@ -8,10 +8,8 @@ import android.view.LayoutInflater | |||||||
| import androidx.appcompat.app.AlertDialog | import androidx.appcompat.app.AlertDialog | ||||||
| import kotlinx.android.synthetic.main.dialog_join_open_group.view.* | import kotlinx.android.synthetic.main.dialog_join_open_group.view.* | ||||||
| import network.loki.messenger.R | import network.loki.messenger.R | ||||||
| import org.session.libsession.messaging.contacts.Contact |  | ||||||
| import org.session.libsession.messaging.open_groups.OpenGroupV2 | import org.session.libsession.messaging.open_groups.OpenGroupV2 | ||||||
| import org.thoughtcrime.securesms.conversation.v2.utilities.BaseDialog | import org.thoughtcrime.securesms.conversation.v2.utilities.BaseDialog | ||||||
| import org.thoughtcrime.securesms.database.DatabaseFactory |  | ||||||
|  |  | ||||||
| class JoinOpenGroupDialog(private val openGroup: OpenGroupV2) : BaseDialog() { | class JoinOpenGroupDialog(private val openGroup: OpenGroupV2) : BaseDialog() { | ||||||
|  |  | ||||||
|   | |||||||
| @@ -0,0 +1,30 @@ | |||||||
|  | package org.thoughtcrime.securesms.conversation.v2.dialogs | ||||||
|  |  | ||||||
|  | import android.graphics.Typeface | ||||||
|  | import android.text.Spannable | ||||||
|  | import android.text.SpannableStringBuilder | ||||||
|  | import android.text.style.StyleSpan | ||||||
|  | import android.view.LayoutInflater | ||||||
|  | import androidx.appcompat.app.AlertDialog | ||||||
|  | import kotlinx.android.synthetic.main.dialog_open_url.view.* | ||||||
|  | import network.loki.messenger.R | ||||||
|  | import org.thoughtcrime.securesms.conversation.v2.utilities.BaseDialog | ||||||
|  |  | ||||||
|  | class OpenURLDialog(private val url: String) : BaseDialog() { | ||||||
|  |  | ||||||
|  |     override fun setContentView(builder: AlertDialog.Builder) { | ||||||
|  |         val contentView = LayoutInflater.from(requireContext()).inflate(R.layout.dialog_open_url, null) | ||||||
|  |         val explanation = resources.getString(R.string.dialog_open_url_explanation, url) | ||||||
|  |         val spannable = SpannableStringBuilder(explanation) | ||||||
|  |         val startIndex = explanation.indexOf(url) | ||||||
|  |         spannable.setSpan(StyleSpan(Typeface.BOLD), startIndex, startIndex + url.count(), Spannable.SPAN_EXCLUSIVE_EXCLUSIVE) | ||||||
|  |         contentView.openURLExplanationTextView.text = spannable | ||||||
|  |         contentView.cancelButton.setOnClickListener { dismiss() } | ||||||
|  |         contentView.openURLButton.setOnClickListener { open() } | ||||||
|  |         builder.setView(contentView) | ||||||
|  |     } | ||||||
|  |  | ||||||
|  |     private fun open() { | ||||||
|  |  | ||||||
|  |     } | ||||||
|  | } | ||||||
							
								
								
									
										57
									
								
								app/src/main/res/layout/dialog_open_url.xml
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										57
									
								
								app/src/main/res/layout/dialog_open_url.xml
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,57 @@ | |||||||
|  | <?xml version="1.0" encoding="utf-8"?> | ||||||
|  | <LinearLayout | ||||||
|  |     xmlns:android="http://schemas.android.com/apk/res/android" | ||||||
|  |     android:layout_width="match_parent" | ||||||
|  |     android:layout_height="match_parent" | ||||||
|  |     android:background="@drawable/default_dialog_background_inset" | ||||||
|  |     android:gravity="center_horizontal" | ||||||
|  |     android:orientation="vertical" | ||||||
|  |     android:elevation="4dp" | ||||||
|  |     android:padding="32dp"> | ||||||
|  |  | ||||||
|  |     <TextView | ||||||
|  |         android:id="@+id/openURLTitleTextView" | ||||||
|  |         android:layout_width="wrap_content" | ||||||
|  |         android:layout_height="wrap_content" | ||||||
|  |         android:text="@string/dialog_open_url_title" | ||||||
|  |         android:textColor="@color/text" | ||||||
|  |         android:textStyle="bold" | ||||||
|  |         android:textSize="@dimen/large_font_size" /> | ||||||
|  |  | ||||||
|  |     <TextView | ||||||
|  |         android:id="@+id/openURLExplanationTextView" | ||||||
|  |         android:layout_width="wrap_content" | ||||||
|  |         android:layout_height="wrap_content" | ||||||
|  |         android:layout_marginTop="@dimen/large_spacing" | ||||||
|  |         android:text="@string/dialog_open_url_explanation" | ||||||
|  |         android:paddingHorizontal="@dimen/medium_spacing" | ||||||
|  |         android:textColor="@color/text" | ||||||
|  |         android:textSize="@dimen/small_font_size" | ||||||
|  |         android:textAlignment="center" /> | ||||||
|  |  | ||||||
|  |     <LinearLayout | ||||||
|  |         android:layout_width="match_parent" | ||||||
|  |         android:layout_height="wrap_content" | ||||||
|  |         android:layout_marginTop="@dimen/large_spacing" | ||||||
|  |         android:orientation="horizontal"> | ||||||
|  |  | ||||||
|  |         <Button | ||||||
|  |             style="@style/Widget.Session.Button.Dialog.Unimportant" | ||||||
|  |             android:id="@+id/cancelButton" | ||||||
|  |             android:layout_width="0dp" | ||||||
|  |             android:layout_height="@dimen/small_button_height" | ||||||
|  |             android:layout_weight="1" | ||||||
|  |             android:text="@string/cancel" /> | ||||||
|  |  | ||||||
|  |         <Button | ||||||
|  |             style="@style/Widget.Session.Button.Dialog.Unimportant" | ||||||
|  |             android:id="@+id/openURLButton" | ||||||
|  |             android:layout_width="0dp" | ||||||
|  |             android:layout_height="@dimen/small_button_height" | ||||||
|  |             android:layout_weight="1" | ||||||
|  |             android:layout_marginStart="@dimen/medium_spacing" | ||||||
|  |             android:text="@string/open" /> | ||||||
|  |  | ||||||
|  |     </LinearLayout> | ||||||
|  |  | ||||||
|  | </LinearLayout> | ||||||
| @@ -859,4 +859,8 @@ | |||||||
|     <string name="dialog_join_open_group_title">Join %s?</string> |     <string name="dialog_join_open_group_title">Join %s?</string> | ||||||
|     <string name="dialog_join_open_group_explanation">Are you sure you want to join the %s open group?</string> |     <string name="dialog_join_open_group_explanation">Are you sure you want to join the %s open group?</string> | ||||||
|  |  | ||||||
|  |     <string name="dialog_open_url_title">Open URL?</string> | ||||||
|  |     <string name="dialog_open_url_explanation">Are you sure you want to open %s?</string> | ||||||
|  |     <string name="open">Open</string> | ||||||
|  |  | ||||||
| </resources> | </resources> | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user
	 Niels Andriesse
					Niels Andriesse