Skip to content

Commit

Permalink
Merge pull request #2367 from deltachat/adb/handle_dclogin_and_dcacco…
Browse files Browse the repository at this point in the history
…unt_schemes

handle DCACCOUNT and DCLOGIN schemes on new intents
  • Loading branch information
adbenitez authored Sep 14, 2022
2 parents 81743e3 + ca41ac6 commit a91f182
Show file tree
Hide file tree
Showing 2 changed files with 40 additions and 1 deletion.
17 changes: 16 additions & 1 deletion AndroidManifest.xml
Original file line number Diff line number Diff line change
Expand Up @@ -197,7 +197,22 @@
<activity android:name=".WelcomeActivity"
android:launchMode="singleTask"
android:theme="@style/TextSecure.LightNoActionBar"
android:configChanges="touchscreen|keyboard|keyboardHidden|orientation|screenLayout|screenSize"/>
android:configChanges="touchscreen|keyboard|keyboardHidden|orientation|screenLayout|screenSize">
<intent-filter>
<action android:name="android.intent.action.VIEW"/>
<category android:name="android.intent.category.DEFAULT"/>
<category android:name="android.intent.category.BROWSABLE"/>
<!-- Android's scheme matcher is case-sensitive, so include most likely variations -->
<data android:scheme="DCACCOUNT"
tools:ignore="AppLinkUrlError" />
<data android:scheme="dcaccount"
tools:ignore="AppLinkUrlError" />
<data android:scheme="DCLOGIN"
tools:ignore="AppLinkUrlError" />
<data android:scheme="dclogin"
tools:ignore="AppLinkUrlError" />
</intent-filter>
</activity>

<activity android:name=".RegistrationActivity"
android:launchMode="singleTask"
Expand Down
24 changes: 24 additions & 0 deletions src/org/thoughtcrime/securesms/WelcomeActivity.java
Original file line number Diff line number Diff line change
Expand Up @@ -32,6 +32,7 @@
import org.thoughtcrime.securesms.connect.DcHelper;
import org.thoughtcrime.securesms.mms.AttachmentManager;
import org.thoughtcrime.securesms.permissions.Permissions;
import org.thoughtcrime.securesms.qr.QrCodeHandler;
import org.thoughtcrime.securesms.qr.RegistrationQrActivity;
import org.thoughtcrime.securesms.service.GenericForegroundService;
import org.thoughtcrime.securesms.service.NotificationController;
Expand All @@ -50,6 +51,8 @@

public class WelcomeActivity extends BaseActionBarActivity implements DcEventCenter.DcEventDelegate {
public static final String QR_ACCOUNT_EXTRA = "qr_account_extra";
private static final String DCACCOUNT = "dcaccount";
private static final String DCLOGIN = "dclogin";
public static final int PICK_BACKUP = 20574;
private final static String TAG = WelcomeActivity.class.getSimpleName();
public static final String TMP_BACKUP_FILE = "tmp-backup-file";
Expand Down Expand Up @@ -87,6 +90,8 @@ public void onCreate(Bundle bundle) {
intent.setAction(DC_REQUEST_ACCOUNT_DATA);
sendBroadcast(intent);
}

handleIntent();
}

private void registerForEvents() {
Expand All @@ -96,6 +101,25 @@ private void registerForEvents() {
eventCenter.addObserver(DcContext.DC_EVENT_IMEX_PROGRESS, this);
}

private void handleIntent() {
if (getIntent() != null && Intent.ACTION_VIEW.equals(getIntent().getAction())) {
Uri uri = getIntent().getData();
if (uri == null) return;

if (uri.getScheme().equalsIgnoreCase(DCACCOUNT) || uri.getScheme().equalsIgnoreCase(DCLOGIN)) {
QrCodeHandler qrCodeHandler = new QrCodeHandler(this);
qrCodeHandler.handleQrData(uri.toString());
}
}
}

@Override
protected void onNewIntent(Intent intent) {
super.onNewIntent(intent);
setIntent(intent);
handleIntent();
}

@Override
public void onStart() {
super.onStart();
Expand Down

0 comments on commit a91f182

Please sign in to comment.