public static Intent getStartStopIntent(Context context) {
return null;
}
+
+ public static void initFavoriteAppTiles(Context context) {}
}
import com.farmerbb.taskbar.activity.DummyActivity;
import com.farmerbb.taskbar.service.NotificationService;
+import com.farmerbb.taskbar.util.ShortcutUtils;
import com.farmerbb.taskbar.util.U;
public class BootReceiver extends BroadcastReceiver {
editor.putBoolean("taskbar_active", U.isServiceRunning(context, NotificationService.class));
editor.apply();
}
+
+ ShortcutUtils.initFavoriteAppTiles(context);
}
}
}
package com.farmerbb.taskbar.activity;
+import android.annotation.TargetApi;
import android.app.AlertDialog;
+import android.content.ComponentName;
import android.content.Context;
import android.content.Intent;
import android.content.SharedPreferences;
import android.graphics.drawable.Drawable;
import android.os.Build;
import android.os.Handler;
+import android.service.quicksettings.TileService;
import android.view.View;
import android.widget.CheckBox;
import android.widget.ImageView;
import com.farmerbb.taskbar.R;
import com.farmerbb.taskbar.util.AppEntry;
-import com.farmerbb.taskbar.util.TaskbarIntent;
import com.farmerbb.taskbar.util.U;
public class PersistentShortcutSelectAppActivity extends AbstractSelectAppActivity {
} catch (PackageManager.NameNotFoundException e) { /* Gracefully fail */ }
}
+ @TargetApi(Build.VERSION_CODES.N)
private void createQuickSettingTileShortcut(String windowSize, int num) {
String prefix = "qs_tile_" + num + "_";
editor.putBoolean(prefix + "added", true);
editor.apply();
- U.sendBroadcast(this, TaskbarIntent.ACTION_UPDATE_FAVORITE_APP_TILE);
+ try {
+ Class clazz = Class.forName("com.farmerbb.taskbar.service.FavoriteApp" + num);
+ TileService.requestListeningState(this, new ComponentName(this, clazz));
+ } catch (ClassNotFoundException e) { /* Gracefully fail */ }
}
}
\ No newline at end of file
package com.farmerbb.taskbar.service;
import android.annotation.TargetApi;
-import android.content.BroadcastReceiver;
import android.content.ComponentName;
-import android.content.Context;
import android.content.Intent;
import android.content.SharedPreferences;
import android.content.pm.LauncherActivityInfo;
import com.farmerbb.taskbar.activity.PersistentShortcutLaunchActivity;
import com.farmerbb.taskbar.activity.PersistentShortcutSelectAppActivity;
import com.farmerbb.taskbar.util.IconCache;
-import com.farmerbb.taskbar.util.TaskbarIntent;
import com.farmerbb.taskbar.util.U;
@TargetApi(Build.VERSION_CODES.N)
private String prefix = "qs_tile_" + tileNumber() + "_";
- private BroadcastReceiver tileUpdateReceiver = new BroadcastReceiver() {
- @Override
- public void onReceive(Context context, Intent intent) {
- updateState();
- }
- };
-
- @Override
- public void onCreate() {
- super.onCreate();
- U.registerReceiver(this, tileUpdateReceiver, TaskbarIntent.ACTION_UPDATE_FAVORITE_APP_TILE);
- }
-
- @Override
- public void onDestroy() {
- U.unregisterReceiver(this, tileUpdateReceiver);
- super.onDestroy();
- }
-
@Override
public void onStartListening() {
updateState();
package com.farmerbb.taskbar.util;
+import android.annotation.TargetApi;
+import android.content.ComponentName;
import android.content.Context;
import android.content.Intent;
+import android.os.Build;
+import android.service.quicksettings.TileService;
import com.farmerbb.taskbar.R;
import com.farmerbb.taskbar.activity.ShortcutActivity;
import com.farmerbb.taskbar.activity.StartTaskbarActivity;
+import com.farmerbb.taskbar.service.FavoriteApp1;
+import com.farmerbb.taskbar.service.FavoriteApp2;
+import com.farmerbb.taskbar.service.FavoriteApp3;
+import com.farmerbb.taskbar.service.FavoriteApp4;
+import com.farmerbb.taskbar.service.FavoriteApp5;
+import com.farmerbb.taskbar.service.QuickSettingsTileService;
public class ShortcutUtils {
return intent;
}
+
+ public static void initFavoriteAppTiles(Context context) {
+ if(Build.VERSION.SDK_INT < Build.VERSION_CODES.N) return;
+
+ Class[] tiles = new Class[] {
+ FavoriteApp1.class,
+ FavoriteApp2.class,
+ FavoriteApp3.class,
+ FavoriteApp4.class,
+ FavoriteApp5.class
+ };
+
+ for(Class tile : tiles) {
+ TileService.requestListeningState(context, new ComponentName(context, tile));
+ }
+ }
}