Fixed share / authentication

This commit is contained in:
M66B 2020-02-23 16:19:02 +01:00
parent cf97a02442
commit aa8e5997a4
2 changed files with 40 additions and 26 deletions

View File

@ -80,6 +80,29 @@
<action android:name="${applicationId}.REFRESH" />
<category android:name="android.intent.category.DEFAULT" />
</intent-filter>
<intent-filter>
<action android:name="android.intent.action.VIEW" />
<category android:name="android.intent.category.DEFAULT" />
<category android:name="android.intent.category.BROWSABLE" />
<data android:scheme="mailto" />
</intent-filter>
<intent-filter>
<action android:name="android.intent.action.SENDTO" />
<category android:name="android.intent.category.DEFAULT" />
<data android:scheme="mailto" />
</intent-filter>
<intent-filter>
<action android:name="android.intent.action.SEND" />
<action android:name="android.intent.action.SEND_MULTIPLE" />
<category android:name="android.intent.category.DEFAULT" />
<data android:mimeType="*/*" />
</intent-filter>
</activity>
<activity
@ -143,33 +166,9 @@
<activity
android:name=".ActivityCompose"
android:exported="true"
android:exported="false"
android:launchMode="singleTask"
android:parentActivityName=".ActivityView">
<intent-filter>
<action android:name="android.intent.action.SEND" />
<action android:name="android.intent.action.SEND_MULTIPLE" />
<category android:name="android.intent.category.DEFAULT" />
<data android:mimeType="*/*" />
</intent-filter>
<intent-filter>
<action android:name="android.intent.action.SENDTO" />
<category android:name="android.intent.category.DEFAULT" />
<data android:scheme="mailto" />
</intent-filter>
<intent-filter>
<action android:name="android.intent.action.VIEW" />
<category android:name="android.intent.category.DEFAULT" />
<category android:name="android.intent.category.BROWSABLE" />
<data android:scheme="mailto" />
</intent-filter>
</activity>
android:parentActivityName=".ActivityView" />
<activity
android:name=".ActivityEML"

View File

@ -23,6 +23,7 @@ import android.content.Context;
import android.content.Intent;
import android.content.SharedPreferences;
import android.content.res.Configuration;
import android.net.Uri;
import android.os.Bundle;
import android.os.Handler;
@ -88,6 +89,20 @@ public class ActivityMain extends ActivityBase implements FragmentManager.OnBack
@Override
protected void onExecuted(Bundle args, Boolean hasAccounts) {
if (hasAccounts) {
Intent intent = getIntent();
String action = intent.getAction();
Uri uri = intent.getData();
boolean mailto = (uri != null && "mailto".equals(uri.getScheme()));
if ((Intent.ACTION_VIEW.equals(action) && mailto) ||
(Intent.ACTION_SENDTO.equals(action) && mailto) ||
Intent.ACTION_SEND.equals(action) ||
Intent.ACTION_SEND_MULTIPLE.equals(action)) {
intent.setClass(ActivityMain.this, ActivityCompose.class);
startActivity(intent);
finish();
return;
}
Log.logBundle(args);
Intent view = new Intent(ActivityMain.this, ActivityView.class);