Allow creating account for myself using invite

Stephen Paul Weber created

Change summary

src/cheogram/java/eu/siacs/conversations/ui/EasyOnboardingInviteActivity.java |  8 
src/cheogram/res/layout/activity_easy_invite.xml                              | 16 
src/main/java/eu/siacs/conversations/utils/EasyOnboardingInvite.java          |  3 
3 files changed, 25 insertions(+), 2 deletions(-)

Detailed changes

src/cheogram/java/eu/siacs/conversations/ui/EasyOnboardingInviteActivity.java 🔗

@@ -4,6 +4,7 @@ import android.app.Activity;
 import android.content.Intent;
 import android.graphics.Bitmap;
 import android.graphics.Point;
+import android.net.Uri;
 import android.os.Bundle;
 import android.util.Log;
 import android.view.Menu;
@@ -37,6 +38,13 @@ public class EasyOnboardingInviteActivity extends XmppActivity implements EasyOn
         setSupportActionBar(binding.toolbar);
         configureActionBar(getSupportActionBar(), true);
         this.binding.shareButton.setOnClickListener(v -> share());
+        this.binding.useMyselfButton.setOnClickListener(v -> {
+            final Intent intent = new Intent(this, UriHandlerActivity.class);
+            intent.setAction(Intent.ACTION_VIEW);
+            intent.setData(Uri.parse(easyOnboardingInvite.getUri().replace("roster;", "register;").replaceFirst(":[^@]+@", ":")));
+            startActivity(intent);
+            finish();
+        });
         if (bundle != null && bundle.containsKey("invite")) {
             this.easyOnboardingInvite = bundle.getParcelable("invite");
             if (this.easyOnboardingInvite != null) {

src/cheogram/res/layout/activity_easy_invite.xml 🔗

@@ -69,7 +69,7 @@
                 style="@style/Widget.Conversations.Button.Borderless"
                 android:layout_width="wrap_content"
                 android:layout_height="wrap_content"
-                android:layout_alignParentBottom="true"
+                android:layout_above="@+id/use_myself_button"
                 android:minWidth="0dp"
                 android:paddingLeft="16dp"
                 android:paddingRight="16dp"
@@ -77,7 +77,19 @@
                 android:layout_centerHorizontal="true"
                 android:textColor="?attr/colorAccent" />
 
+            <Button
+                android:id="@+id/use_myself_button"
+                style="@style/Widget.Conversations.Button.Borderless"
+                android:layout_width="wrap_content"
+                android:layout_height="wrap_content"
+                android:layout_alignParentBottom="true"
+                android:minWidth="0dp"
+                android:paddingLeft="16dp"
+                android:paddingRight="16dp"
+                android:text="Or, create new account for yourself"
+                android:layout_centerHorizontal="true" />
+
         </RelativeLayout>
 
     </LinearLayout>
-</layout>
+</layout>