Use intermediate activity for search

pull/146/head
M66B 7 years ago
parent 77610730aa
commit 9fe22c7609

@ -41,6 +41,7 @@
<activity <activity
android:name=".ActivityMain" android:name=".ActivityMain"
android:excludeFromRecents="true" android:excludeFromRecents="true"
android:exported="true"
android:launchMode="singleInstance" android:launchMode="singleInstance"
android:theme="@style/Theme.Transparent"> android:theme="@style/Theme.Transparent">
@ -68,9 +69,18 @@
<activity <activity
android:name=".ActivityView" android:name=".ActivityView"
android:exported="false"
android:launchMode="singleTop"
android:parentActivityName=".ActivityMain" />
<activity
android:name=".ActivitySearch"
android:excludeFromRecents="true"
android:exported="true" android:exported="true"
android:icon="@mipmap/ic_launcher"
android:label="@string/app_name"
android:launchMode="singleTop" android:launchMode="singleTop"
android:parentActivityName=".ActivityMain"> android:theme="@style/Theme.Transparent">
<intent-filter> <intent-filter>
<action android:name="android.intent.action.PROCESS_TEXT" /> <action android:name="android.intent.action.PROCESS_TEXT" />

@ -0,0 +1,18 @@
package eu.faircode.email;
import android.content.Intent;
import android.os.Bundle;
public class ActivitySearch extends ActivityBase {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
Intent view = new Intent(this, ActivityView.class);
view.putExtra(Intent.EXTRA_PROCESS_TEXT, getIntent().getCharSequenceExtra(Intent.EXTRA_PROCESS_TEXT));
startActivity(view);
finish();
}
}

@ -288,9 +288,9 @@ public class ServiceSynchronize extends LifecycleService {
PackageManager pm = getPackageManager(); PackageManager pm = getPackageManager();
SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(this); SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(this);
if (prefs.getBoolean("why", false) || why.resolveActivity(pm) == null) { if (prefs.getBoolean("why", false) || why.resolveActivity(pm) == null) {
Intent main = new Intent(this, ActivityView.class); Intent view = new Intent(this, ActivityView.class);
main.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK); view.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
startActivity(main); startActivity(view);
} else { } else {
prefs.edit().putBoolean("why", true).apply(); prefs.edit().putBoolean("why", true).apply();
startActivity(why); startActivity(why);

@ -46,10 +46,10 @@ public class Widget extends AppWidgetProvider {
} }
private static void update(int[] appWidgetIds, AppWidgetManager appWidgetManager, Context context, int count) { private static void update(int[] appWidgetIds, AppWidgetManager appWidgetManager, Context context, int count) {
Intent intent = new Intent(context, ActivityView.class); Intent view = new Intent(context, ActivityView.class);
intent.setAction("unified"); view.setAction("unified");
intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK); view.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
PendingIntent pi = PendingIntent.getActivity(context, ActivityView.REQUEST_UNIFIED, intent, PendingIntent.FLAG_UPDATE_CURRENT); PendingIntent pi = PendingIntent.getActivity(context, ActivityView.REQUEST_UNIFIED, view, PendingIntent.FLAG_UPDATE_CURRENT);
for (int id : appWidgetIds) { for (int id : appWidgetIds) {
RemoteViews views = new RemoteViews(context.getPackageName(), R.layout.widget); RemoteViews views = new RemoteViews(context.getPackageName(), R.layout.widget);
views.setOnClickPendingIntent(R.id.widget, pi); views.setOnClickPendingIntent(R.id.widget, pi);

Loading…
Cancel
Save