version:1.5
fix:迁移到奥乐云平台 add:
This commit is contained in:
@@ -1,34 +0,0 @@
|
||||
package com.android.colorfulos.TTUtils;
|
||||
|
||||
import android.annotation.SuppressLint;
|
||||
import android.os.Build;
|
||||
import android.util.Log;
|
||||
|
||||
import java.lang.reflect.Method;
|
||||
|
||||
public class Utils {
|
||||
/**
|
||||
* 获取设备序列号
|
||||
*
|
||||
* @return
|
||||
*/
|
||||
@SuppressLint({"MissingPermission", "NewApi"})
|
||||
public static String getSerial() {
|
||||
String serial = "unknow";
|
||||
try {
|
||||
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.P) {//9.0+
|
||||
serial = Build.getSerial();
|
||||
} else if (Build.VERSION.SDK_INT > Build.VERSION_CODES.N) {//8.0+
|
||||
serial = Build.SERIAL;
|
||||
} else {//8.0-
|
||||
Class<?> c = Class.forName("android.os.SystemProperties");
|
||||
Method get = c.getMethod("get", String.class);
|
||||
serial = (String) get.invoke(c, "ro.serialno");
|
||||
}
|
||||
} catch (Exception e) {
|
||||
e.printStackTrace();
|
||||
Log.e("e", "读取设备序列号异常:" + e.toString());
|
||||
}
|
||||
return serial;
|
||||
}
|
||||
}
|
||||
@@ -1,61 +0,0 @@
|
||||
package com.android.colorfulos.base;
|
||||
|
||||
import android.app.Application;
|
||||
|
||||
import com.android.colorfulos.BuildConfig;
|
||||
import com.android.colorfulos.network.NetWorkManager;
|
||||
import com.android.colorfulos.uiuiutils.JGYUtils;
|
||||
import com.arialyy.aria.core.Aria;
|
||||
|
||||
import cn.jpush.android.api.JPushInterface;
|
||||
|
||||
public class MyApplication extends Application {
|
||||
private static MyApplication app;
|
||||
|
||||
public static MyApplication getInstance() {
|
||||
return app;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onCreate() {
|
||||
super.onCreate();
|
||||
app = this;
|
||||
initJPush();
|
||||
JGYUtils.init(this);
|
||||
Aria.init(this);
|
||||
NetWorkManager.init(this);
|
||||
}
|
||||
|
||||
private void initJPush() {
|
||||
JPushInterface.setDebugMode(BuildConfig.DEBUG); // 设置开启日志,发布时请关闭日志
|
||||
JPushInterface.init(this);
|
||||
}
|
||||
|
||||
private String appPackageName;
|
||||
private long runTime = 0;
|
||||
private long onClickTime = 0;
|
||||
|
||||
public void setOnClickTime(long time) {
|
||||
this.onClickTime = time;
|
||||
}
|
||||
|
||||
public long getOnClickTime() {
|
||||
return onClickTime;
|
||||
}
|
||||
|
||||
public void setAppPackageName(String name) {
|
||||
this.appPackageName = name;
|
||||
}
|
||||
|
||||
public String getAppPackageName() {
|
||||
return appPackageName;
|
||||
}
|
||||
|
||||
public void setTime(long time) {
|
||||
this.runTime = time;
|
||||
}
|
||||
|
||||
public long getRunTime() {
|
||||
return runTime;
|
||||
}
|
||||
}
|
||||
@@ -1,143 +0,0 @@
|
||||
package com.android.colorfulos.jpush;
|
||||
|
||||
import android.content.Context;
|
||||
import android.content.Intent;
|
||||
import android.os.Bundle;
|
||||
import android.util.Log;
|
||||
|
||||
import com.android.colorfulos.Launcher;
|
||||
|
||||
import org.json.JSONException;
|
||||
import org.json.JSONObject;
|
||||
|
||||
import cn.jpush.android.api.CmdMessage;
|
||||
import cn.jpush.android.api.CustomMessage;
|
||||
import cn.jpush.android.api.JPushInterface;
|
||||
import cn.jpush.android.api.JPushMessage;
|
||||
import cn.jpush.android.api.NotificationMessage;
|
||||
import cn.jpush.android.service.JPushMessageReceiver;
|
||||
|
||||
public class PushMessageReceiver extends JPushMessageReceiver{
|
||||
private static final String TAG = "PushMessageReceiver";
|
||||
@Override
|
||||
public void onMessage(Context context, CustomMessage customMessage) {
|
||||
Log.e(TAG,"[onMessage] "+customMessage);
|
||||
super.onMessage(context,customMessage);
|
||||
// processCustomMessage(context,customMessage);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onNotifyMessageOpened(Context context, NotificationMessage message) {
|
||||
Log.e(TAG,"[onNotifyMessageOpened] "+message);
|
||||
try{
|
||||
//打开自定义的Activity
|
||||
Intent i = new Intent(context, TestActivity.class);
|
||||
Bundle bundle = new Bundle();
|
||||
bundle.putString(JPushInterface.EXTRA_NOTIFICATION_TITLE,message.notificationTitle);
|
||||
bundle.putString(JPushInterface.EXTRA_ALERT,message.notificationContent);
|
||||
i.putExtras(bundle);
|
||||
//i.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
|
||||
i.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK | Intent.FLAG_ACTIVITY_CLEAR_TOP );
|
||||
context.startActivity(i);
|
||||
}catch (Throwable throwable){
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onMultiActionClicked(Context context, Intent intent) {
|
||||
Log.e(TAG, "[onMultiActionClicked] 用户点击了通知栏按钮");
|
||||
String nActionExtra = intent.getExtras().getString(JPushInterface.EXTRA_NOTIFICATION_ACTION_EXTRA);
|
||||
|
||||
//开发者根据不同 Action 携带的 extra 字段来分配不同的动作。
|
||||
if(nActionExtra==null){
|
||||
Log.d(TAG,"ACTION_NOTIFICATION_CLICK_ACTION nActionExtra is null");
|
||||
return;
|
||||
}
|
||||
if (nActionExtra.equals("my_extra1")) {
|
||||
Log.e(TAG, "[onMultiActionClicked] 用户点击通知栏按钮一");
|
||||
} else if (nActionExtra.equals("my_extra2")) {
|
||||
Log.e(TAG, "[onMultiActionClicked] 用户点击通知栏按钮二");
|
||||
} else if (nActionExtra.equals("my_extra3")) {
|
||||
Log.e(TAG, "[onMultiActionClicked] 用户点击通知栏按钮三");
|
||||
} else {
|
||||
Log.e(TAG, "[onMultiActionClicked] 用户点击通知栏按钮未定义");
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onNotifyMessageArrived(Context context, NotificationMessage message) {
|
||||
Log.e(TAG,"[onNotifyMessageArrived] "+message);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onNotifyMessageDismiss(Context context, NotificationMessage message) {
|
||||
Log.e(TAG,"[onNotifyMessageDismiss] "+message);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onRegister(Context context, String registrationId) {
|
||||
Log.e(TAG,"[onRegister] "+registrationId);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onConnected(Context context, boolean isConnected) {
|
||||
Log.e(TAG,"[onConnected] "+isConnected);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onCommandResult(Context context, CmdMessage cmdMessage) {
|
||||
Log.e(TAG,"[onCommandResult] "+cmdMessage);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onTagOperatorResult(Context context,JPushMessage jPushMessage) {
|
||||
TagAliasOperatorHelper.getInstance().onTagOperatorResult(context,jPushMessage);
|
||||
super.onTagOperatorResult(context, jPushMessage);
|
||||
}
|
||||
@Override
|
||||
public void onCheckTagOperatorResult(Context context,JPushMessage jPushMessage){
|
||||
TagAliasOperatorHelper.getInstance().onCheckTagOperatorResult(context,jPushMessage);
|
||||
super.onCheckTagOperatorResult(context, jPushMessage);
|
||||
}
|
||||
@Override
|
||||
public void onAliasOperatorResult(Context context, JPushMessage jPushMessage) {
|
||||
TagAliasOperatorHelper.getInstance().onAliasOperatorResult(context,jPushMessage);
|
||||
super.onAliasOperatorResult(context, jPushMessage);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onMobileNumberOperatorResult(Context context, JPushMessage jPushMessage) {
|
||||
TagAliasOperatorHelper.getInstance().onMobileNumberOperatorResult(context,jPushMessage);
|
||||
super.onMobileNumberOperatorResult(context, jPushMessage);
|
||||
}
|
||||
|
||||
//send msg to MainActivity
|
||||
private void processCustomMessage(Context context, CustomMessage customMessage) {
|
||||
if (Launcher.isForeground) {
|
||||
String message = customMessage.message;
|
||||
String extras = customMessage.extra;
|
||||
Intent msgIntent = new Intent(Launcher.MESSAGE_RECEIVED_ACTION);
|
||||
msgIntent.putExtra(Launcher.KEY_MESSAGE, message);
|
||||
if (!ExampleUtil.isEmpty(extras)) {
|
||||
try {
|
||||
JSONObject extraJson = new JSONObject(extras);
|
||||
if (extraJson.length() > 0) {
|
||||
msgIntent.putExtra(Launcher.KEY_EXTRAS, extras);
|
||||
}
|
||||
} catch (JSONException e) {
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
LocalBroadcastManager.getInstance(context).sendBroadcast(msgIntent);
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onNotificationSettingsCheck(Context context, boolean isOn, int source) {
|
||||
super.onNotificationSettingsCheck(context, isOn, source);
|
||||
Log.e(TAG,"[onNotificationSettingsCheck] isOn:"+isOn+",source:"+source);
|
||||
}
|
||||
|
||||
}
|
||||
@@ -1,88 +0,0 @@
|
||||
package com.android.colorfulos.network;
|
||||
|
||||
import java.io.Serializable;
|
||||
|
||||
public class NewestAppUpdateResult implements Serializable {
|
||||
|
||||
String app_name;
|
||||
String app_package;
|
||||
String app_version_name;
|
||||
int app_version_code;
|
||||
long app_size;
|
||||
String app_desc;
|
||||
String app_md5;
|
||||
String app_url;
|
||||
String url;
|
||||
|
||||
public String getApp_name() {
|
||||
return app_name;
|
||||
}
|
||||
|
||||
public void setApp_name(String app_name) {
|
||||
this.app_name = app_name;
|
||||
}
|
||||
|
||||
public String getApp_package() {
|
||||
return app_package;
|
||||
}
|
||||
|
||||
public void setApp_package(String app_package) {
|
||||
this.app_package = app_package;
|
||||
}
|
||||
|
||||
public String getApp_version_name() {
|
||||
return app_version_name;
|
||||
}
|
||||
|
||||
public void setApp_version_name(String app_version_name) {
|
||||
this.app_version_name = app_version_name;
|
||||
}
|
||||
|
||||
public int getApp_version_code() {
|
||||
return app_version_code;
|
||||
}
|
||||
|
||||
public void setApp_version_code(int app_version_code) {
|
||||
this.app_version_code = app_version_code;
|
||||
}
|
||||
|
||||
public long getApp_size() {
|
||||
return app_size;
|
||||
}
|
||||
|
||||
public void setApp_size(long app_size) {
|
||||
this.app_size = app_size;
|
||||
}
|
||||
|
||||
public String getApp_desc() {
|
||||
return app_desc;
|
||||
}
|
||||
|
||||
public void setApp_desc(String app_desc) {
|
||||
this.app_desc = app_desc;
|
||||
}
|
||||
|
||||
public String getApp_md5() {
|
||||
return app_md5;
|
||||
}
|
||||
|
||||
public void setApp_md5(String app_md5) {
|
||||
this.app_md5 = app_md5;
|
||||
}
|
||||
|
||||
public String getApp_url() {
|
||||
return app_url;
|
||||
}
|
||||
|
||||
public void setApp_url(String app_url) {
|
||||
this.app_url = app_url;
|
||||
}
|
||||
|
||||
public String getUrl() {
|
||||
return url;
|
||||
}
|
||||
|
||||
public void setUrl(String url) {
|
||||
this.url = url;
|
||||
}
|
||||
}
|
||||
@@ -1,9 +0,0 @@
|
||||
package com.android.colorfulos.network;
|
||||
|
||||
public class URLPath {
|
||||
public static final String ROOT_URL = "http://name.uiuios.com/api/";
|
||||
public static final String APP_LOG = "app/addAppLog";
|
||||
public static final String RUN_NEW_APP = "app/runNewApp";
|
||||
public final static String GET_NEWESTAPPUPDATE = "Silent/silent";
|
||||
|
||||
}
|
||||
@@ -14,14 +14,14 @@
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
package com.android.colorfulos;
|
||||
package com.aoleyun.os;
|
||||
|
||||
import static android.view.accessibility.AccessibilityEvent.TYPE_VIEW_FOCUSED;
|
||||
import static android.view.accessibility.AccessibilityEvent.TYPE_WINDOW_CONTENT_CHANGED;
|
||||
import static android.view.accessibility.AccessibilityEvent.TYPE_WINDOW_STATE_CHANGED;
|
||||
|
||||
import static com.android.colorfulos.compat.AccessibilityManagerCompat.isAccessibilityEnabled;
|
||||
import static com.android.colorfulos.compat.AccessibilityManagerCompat.sendCustomAccessibilityEvent;
|
||||
import static com.aoleyun.os.compat.AccessibilityManagerCompat.isAccessibilityEnabled;
|
||||
import static com.aoleyun.os.compat.AccessibilityManagerCompat.sendCustomAccessibilityEvent;
|
||||
|
||||
import android.animation.Animator;
|
||||
import android.annotation.SuppressLint;
|
||||
@@ -35,11 +35,11 @@ import android.widget.LinearLayout;
|
||||
import androidx.annotation.IntDef;
|
||||
import androidx.annotation.Nullable;
|
||||
|
||||
import com.android.colorfulos.userevent.nano.LauncherLogProto.Action;
|
||||
import com.android.colorfulos.userevent.nano.LauncherLogProto.ContainerType;
|
||||
import com.android.colorfulos.util.TouchController;
|
||||
import com.android.colorfulos.views.ActivityContext;
|
||||
import com.android.colorfulos.views.BaseDragLayer;
|
||||
import com.aoleyun.os.userevent.nano.LauncherLogProto.Action;
|
||||
import com.aoleyun.os.userevent.nano.LauncherLogProto.ContainerType;
|
||||
import com.aoleyun.os.util.TouchController;
|
||||
import com.aoleyun.os.views.ActivityContext;
|
||||
import com.aoleyun.os.views.BaseDragLayer;
|
||||
|
||||
import java.lang.annotation.Retention;
|
||||
import java.lang.annotation.RetentionPolicy;
|
||||
@@ -14,7 +14,7 @@
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
package com.android.colorfulos;
|
||||
package com.aoleyun.os;
|
||||
|
||||
import android.os.Handler;
|
||||
import android.os.SystemClock;
|
||||
@@ -14,7 +14,7 @@
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
package com.android.colorfulos;
|
||||
package com.aoleyun.os;
|
||||
|
||||
import android.content.ComponentName;
|
||||
import android.content.Context;
|
||||
@@ -24,11 +24,11 @@ import android.os.Process;
|
||||
import android.os.UserHandle;
|
||||
import android.util.Log;
|
||||
|
||||
import com.android.colorfulos.compat.LauncherAppsCompat;
|
||||
import com.android.colorfulos.compat.PackageInstallerCompat;
|
||||
import com.android.colorfulos.icons.IconCache;
|
||||
import com.android.colorfulos.util.FlagOp;
|
||||
import com.android.colorfulos.util.ItemInfoMatcher;
|
||||
import com.aoleyun.os.compat.LauncherAppsCompat;
|
||||
import com.aoleyun.os.compat.PackageInstallerCompat;
|
||||
import com.aoleyun.os.icons.IconCache;
|
||||
import com.aoleyun.os.util.FlagOp;
|
||||
import com.aoleyun.os.util.ItemInfoMatcher;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.HashSet;
|
||||
@@ -1,9 +1,10 @@
|
||||
package com.android.colorfulos;
|
||||
package com.aoleyun.os;
|
||||
|
||||
import android.content.ComponentName;
|
||||
import android.content.Context;
|
||||
|
||||
import com.android.colorfulos.util.ResourceBasedOverride;
|
||||
import com.aoleyun.os.R;
|
||||
import com.aoleyun.os.util.ResourceBasedOverride;
|
||||
|
||||
public class AppFilter implements ResourceBasedOverride {
|
||||
|
||||
@@ -14,7 +14,7 @@
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
package com.android.colorfulos;
|
||||
package com.aoleyun.os;
|
||||
|
||||
import android.content.ComponentName;
|
||||
import android.content.Context;
|
||||
@@ -25,9 +25,9 @@ import android.os.Build;
|
||||
import android.os.Process;
|
||||
import android.os.UserHandle;
|
||||
|
||||
import com.android.colorfulos.compat.UserManagerCompat;
|
||||
import com.android.colorfulos.util.ComponentKey;
|
||||
import com.android.colorfulos.util.PackageManagerHelper;
|
||||
import com.aoleyun.os.compat.UserManagerCompat;
|
||||
import com.aoleyun.os.util.ComponentKey;
|
||||
import com.aoleyun.os.util.PackageManagerHelper;
|
||||
|
||||
/**
|
||||
* Represents an app in AllAppsView.
|
||||
@@ -59,7 +59,7 @@ public class AppInfo extends ItemInfoWithIcon {
|
||||
|
||||
public AppInfo(LauncherActivityInfo info, UserHandle user, boolean quietModeEnabled) {
|
||||
this.componentName = info.getComponentName();
|
||||
this.container = ItemInfo.NO_ID;
|
||||
this.container = NO_ID;
|
||||
this.user = user;
|
||||
intent = makeLaunchIntent(info);
|
||||
|
||||
@@ -1,9 +1,4 @@
|
||||
package com.android.colorfulos;
|
||||
|
||||
import static com.android.colorfulos.LauncherAnimUtils.LAYOUT_HEIGHT;
|
||||
import static com.android.colorfulos.LauncherAnimUtils.LAYOUT_WIDTH;
|
||||
import static com.android.colorfulos.views.BaseDragLayer.LAYOUT_X;
|
||||
import static com.android.colorfulos.views.BaseDragLayer.LAYOUT_Y;
|
||||
package com.aoleyun.os;
|
||||
|
||||
import android.animation.AnimatorSet;
|
||||
import android.animation.ObjectAnimator;
|
||||
@@ -19,10 +14,12 @@ import android.view.MotionEvent;
|
||||
import android.view.View;
|
||||
import android.view.ViewGroup;
|
||||
|
||||
import com.android.colorfulos.accessibility.DragViewStateAnnouncer;
|
||||
import com.android.colorfulos.dragndrop.DragLayer;
|
||||
import com.android.colorfulos.util.FocusLogic;
|
||||
import com.android.colorfulos.widget.LauncherAppWidgetHostView;
|
||||
import com.aoleyun.os.R;
|
||||
import com.aoleyun.os.accessibility.DragViewStateAnnouncer;
|
||||
import com.aoleyun.os.dragndrop.DragLayer;
|
||||
import com.aoleyun.os.util.FocusLogic;
|
||||
import com.aoleyun.os.widget.LauncherAppWidgetHostView;
|
||||
import com.aoleyun.os.views.BaseDragLayer;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
@@ -455,10 +452,10 @@ public class AppWidgetResizeFrame extends AbstractFloatingView implements View.O
|
||||
requestLayout();
|
||||
} else {
|
||||
ObjectAnimator oa = ObjectAnimator.ofPropertyValuesHolder(lp,
|
||||
PropertyValuesHolder.ofInt(LAYOUT_WIDTH, lp.width, newWidth),
|
||||
PropertyValuesHolder.ofInt(LAYOUT_HEIGHT, lp.height, newHeight),
|
||||
PropertyValuesHolder.ofInt(LAYOUT_X, lp.x, newX),
|
||||
PropertyValuesHolder.ofInt(LAYOUT_Y, lp.y, newY));
|
||||
PropertyValuesHolder.ofInt(LauncherAnimUtils.LAYOUT_WIDTH, lp.width, newWidth),
|
||||
PropertyValuesHolder.ofInt(LauncherAnimUtils.LAYOUT_HEIGHT, lp.height, newHeight),
|
||||
PropertyValuesHolder.ofInt(BaseDragLayer.LAYOUT_X, lp.x, newX),
|
||||
PropertyValuesHolder.ofInt(BaseDragLayer.LAYOUT_Y, lp.y, newY));
|
||||
mFirstFrameAnimatorHelper.addTo(oa).addUpdateListener(a -> requestLayout());
|
||||
|
||||
AnimatorSet set = new AnimatorSet();
|
||||
@@ -1,4 +1,4 @@
|
||||
package com.android.colorfulos;
|
||||
package com.aoleyun.os;
|
||||
|
||||
import android.appwidget.AppWidgetHost;
|
||||
import android.appwidget.AppWidgetManager;
|
||||
@@ -10,11 +10,10 @@ import android.content.Intent;
|
||||
import android.database.Cursor;
|
||||
import android.util.Log;
|
||||
|
||||
import com.android.colorfulos.LauncherSettings.Favorites;
|
||||
import com.android.colorfulos.config.FeatureFlags;
|
||||
import com.android.colorfulos.model.LoaderTask;
|
||||
import com.android.colorfulos.provider.RestoreDbTask;
|
||||
import com.android.colorfulos.util.ContentWriter;
|
||||
import com.aoleyun.os.config.FeatureFlags;
|
||||
import com.aoleyun.os.model.LoaderTask;
|
||||
import com.aoleyun.os.provider.RestoreDbTask;
|
||||
import com.aoleyun.os.util.ContentWriter;
|
||||
|
||||
import androidx.annotation.WorkerThread;
|
||||
|
||||
@@ -85,8 +84,8 @@ public class AppWidgetsRestoredReceiver extends BroadcastReceiver {
|
||||
.commit();
|
||||
|
||||
if (result == 0) {
|
||||
Cursor cursor = cr.query(Favorites.CONTENT_URI,
|
||||
new String[] {Favorites.APPWIDGET_ID},
|
||||
Cursor cursor = cr.query(LauncherSettings.Favorites.CONTENT_URI,
|
||||
new String[] {LauncherSettings.Favorites.APPWIDGET_ID},
|
||||
"appWidgetId=?", widgetIdParams, null);
|
||||
try {
|
||||
if (!cursor.moveToFirst()) {
|
||||
@@ -14,7 +14,7 @@
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
package com.android.colorfulos;
|
||||
package com.aoleyun.os;
|
||||
|
||||
import android.appwidget.AppWidgetHost;
|
||||
import android.content.ComponentName;
|
||||
@@ -38,12 +38,12 @@ import android.util.Pair;
|
||||
import android.util.Patterns;
|
||||
import android.util.Xml;
|
||||
|
||||
import com.android.colorfulos.LauncherProvider.SqlArguments;
|
||||
import com.android.colorfulos.LauncherSettings.Favorites;
|
||||
import com.android.colorfulos.icons.GraphicsUtils;
|
||||
import com.android.colorfulos.icons.LauncherIcons;
|
||||
import com.android.colorfulos.util.IntArray;
|
||||
import com.android.colorfulos.util.Thunk;
|
||||
import com.aoleyun.os.LauncherSettings.Favorites;
|
||||
import com.aoleyun.os.R;
|
||||
import com.aoleyun.os.icons.GraphicsUtils;
|
||||
import com.aoleyun.os.icons.LauncherIcons;
|
||||
import com.aoleyun.os.util.IntArray;
|
||||
import com.aoleyun.os.util.Thunk;
|
||||
|
||||
import org.xmlpull.v1.XmlPullParser;
|
||||
import org.xmlpull.v1.XmlPullParserException;
|
||||
@@ -147,7 +147,8 @@ public class AutoInstallsLayout {
|
||||
private static final String HOTSEAT_CONTAINER_NAME =
|
||||
Favorites.containerToString(Favorites.CONTAINER_HOTSEAT);
|
||||
|
||||
@Thunk final Context mContext;
|
||||
@Thunk
|
||||
final Context mContext;
|
||||
@Thunk final AppWidgetHost mAppWidgetHost;
|
||||
protected final LayoutParserCallback mCallback;
|
||||
|
||||
@@ -597,7 +598,7 @@ public class AutoInstallsLayout {
|
||||
if (folderItems.size() < 2) {
|
||||
// Delete the folder
|
||||
Uri uri = Favorites.getContentUri(folderId);
|
||||
SqlArguments args = new SqlArguments(uri, null, null);
|
||||
LauncherProvider.SqlArguments args = new LauncherProvider.SqlArguments(uri, null, null);
|
||||
mDb.delete(args.table, args.where, args.args);
|
||||
addedId = -1;
|
||||
|
||||
@@ -14,9 +14,7 @@
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
package com.android.colorfulos;
|
||||
|
||||
import static com.android.colorfulos.util.SystemUiController.UI_STATE_OVERVIEW;
|
||||
package com.aoleyun.os;
|
||||
|
||||
import static java.lang.annotation.RetentionPolicy.SOURCE;
|
||||
|
||||
@@ -27,17 +25,15 @@ import android.content.Intent;
|
||||
import android.content.res.Configuration;
|
||||
import android.view.ContextThemeWrapper;
|
||||
|
||||
import com.android.colorfulos.DeviceProfile.OnDeviceProfileChangeListener;
|
||||
import com.android.colorfulos.logging.StatsLogManager;
|
||||
import com.android.colorfulos.logging.StatsLogUtils;
|
||||
import com.android.colorfulos.logging.StatsLogUtils.LogStateProvider;
|
||||
import com.android.colorfulos.logging.UserEventDispatcher;
|
||||
import com.android.colorfulos.logging.UserEventDispatcher.UserEventDelegate;
|
||||
import com.android.colorfulos.uioverrides.UiFactory;
|
||||
import com.android.colorfulos.userevent.nano.LauncherLogProto;
|
||||
import com.android.colorfulos.util.SystemUiController;
|
||||
import com.android.colorfulos.util.ViewCache;
|
||||
import com.android.colorfulos.views.ActivityContext;
|
||||
import com.aoleyun.os.DeviceProfile.OnDeviceProfileChangeListener;
|
||||
import com.aoleyun.os.logging.StatsLogManager;
|
||||
import com.aoleyun.os.logging.StatsLogUtils;
|
||||
import com.aoleyun.os.logging.UserEventDispatcher;
|
||||
import com.aoleyun.os.uioverrides.UiFactory;
|
||||
import com.aoleyun.os.userevent.nano.LauncherLogProto;
|
||||
import com.aoleyun.os.util.SystemUiController;
|
||||
import com.aoleyun.os.util.ViewCache;
|
||||
import com.aoleyun.os.views.ActivityContext;
|
||||
|
||||
import java.io.FileDescriptor;
|
||||
import java.io.PrintWriter;
|
||||
@@ -47,7 +43,7 @@ import java.util.ArrayList;
|
||||
import androidx.annotation.IntDef;
|
||||
|
||||
public abstract class BaseActivity extends Activity
|
||||
implements UserEventDelegate, LogStateProvider, ActivityContext {
|
||||
implements UserEventDispatcher.UserEventDelegate, StatsLogUtils.LogStateProvider, ActivityContext {
|
||||
|
||||
public static final int INVISIBLE_BY_STATE_HANDLER = 1 << 0;
|
||||
public static final int INVISIBLE_BY_APP_TRANSITIONS = 1 << 1;
|
||||
@@ -178,7 +174,7 @@ public abstract class BaseActivity extends Activity
|
||||
|
||||
// Reset the overridden sysui flags used for the task-swipe launch animation, this is a
|
||||
// catch all for if we do not get resumed (and therefore not paused below)
|
||||
getSystemUiController().updateUiState(UI_STATE_OVERVIEW, 0);
|
||||
getSystemUiController().updateUiState(SystemUiController.UI_STATE_OVERVIEW, 0);
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -190,7 +186,7 @@ public abstract class BaseActivity extends Activity
|
||||
// here instead of at the end of the animation because the start of the new activity does
|
||||
// not happen immediately, which would cause us to reset to launcher's sysui flags and then
|
||||
// back to the new app (causing a flash)
|
||||
getSystemUiController().updateUiState(UI_STATE_OVERVIEW, 0);
|
||||
getSystemUiController().updateUiState(SystemUiController.UI_STATE_OVERVIEW, 0);
|
||||
}
|
||||
|
||||
public boolean isStarted() {
|
||||
@@ -14,7 +14,7 @@
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
package com.android.colorfulos;
|
||||
package com.aoleyun.os;
|
||||
|
||||
import android.app.ActivityOptions;
|
||||
import android.content.ActivityNotFoundException;
|
||||
@@ -30,14 +30,15 @@ import android.view.ActionMode;
|
||||
import android.view.View;
|
||||
import android.widget.Toast;
|
||||
|
||||
import com.android.colorfulos.LauncherSettings.Favorites;
|
||||
import com.android.colorfulos.compat.LauncherAppsCompat;
|
||||
import com.android.colorfulos.model.AppLaunchTracker;
|
||||
import com.android.colorfulos.shortcuts.DeepShortcutManager;
|
||||
import com.android.colorfulos.testing.TestProtocol;
|
||||
import com.android.colorfulos.uioverrides.DisplayRotationListener;
|
||||
import com.android.colorfulos.uioverrides.WallpaperColorInfo;
|
||||
import com.android.colorfulos.util.Themes;
|
||||
import com.aoleyun.os.LauncherSettings.Favorites;
|
||||
import com.aoleyun.os.R;
|
||||
import com.aoleyun.os.compat.LauncherAppsCompat;
|
||||
import com.aoleyun.os.model.AppLaunchTracker;
|
||||
import com.aoleyun.os.shortcuts.DeepShortcutManager;
|
||||
import com.aoleyun.os.testing.TestProtocol;
|
||||
import com.aoleyun.os.uioverrides.DisplayRotationListener;
|
||||
import com.aoleyun.os.uioverrides.WallpaperColorInfo;
|
||||
import com.aoleyun.os.util.Themes;
|
||||
|
||||
import androidx.annotation.Nullable;
|
||||
|
||||
@@ -14,7 +14,7 @@
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
package com.android.colorfulos;
|
||||
package com.aoleyun.os;
|
||||
|
||||
import android.content.Context;
|
||||
import android.util.AttributeSet;
|
||||
@@ -22,7 +22,8 @@ import android.view.MotionEvent;
|
||||
import android.view.View;
|
||||
import android.view.ViewGroup;
|
||||
|
||||
import com.android.colorfulos.views.RecyclerViewFastScroller;
|
||||
import com.aoleyun.os.R;
|
||||
import com.aoleyun.os.views.RecyclerViewFastScroller;
|
||||
|
||||
import androidx.recyclerview.widget.RecyclerView;
|
||||
|
||||
@@ -14,9 +14,7 @@
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
package com.android.colorfulos;
|
||||
|
||||
import static com.android.colorfulos.icons.GraphicsUtils.setColorAlphaBound;
|
||||
package com.aoleyun.os;
|
||||
|
||||
import android.animation.Animator;
|
||||
import android.animation.AnimatorListenerAdapter;
|
||||
@@ -42,20 +40,20 @@ import android.view.ViewConfiguration;
|
||||
import android.view.ViewDebug;
|
||||
import android.widget.TextView;
|
||||
|
||||
import com.android.colorfulos.Launcher.OnResumeCallback;
|
||||
import com.android.colorfulos.accessibility.LauncherAccessibilityDelegate;
|
||||
import com.android.colorfulos.dot.DotInfo;
|
||||
import com.android.colorfulos.folder.FolderIcon;
|
||||
import com.android.colorfulos.graphics.DrawableFactory;
|
||||
import com.android.colorfulos.graphics.IconPalette;
|
||||
import com.android.colorfulos.graphics.IconShape;
|
||||
import com.android.colorfulos.graphics.PreloadIconDrawable;
|
||||
import com.android.colorfulos.icons.DotRenderer;
|
||||
import com.android.colorfulos.icons.IconCache.IconLoadRequest;
|
||||
import com.android.colorfulos.icons.IconCache.ItemInfoUpdateReceiver;
|
||||
import com.android.colorfulos.model.PackageItemInfo;
|
||||
import com.android.colorfulos.testing.TestProtocol;
|
||||
import com.android.colorfulos.views.ActivityContext;
|
||||
import com.aoleyun.os.R;
|
||||
import com.aoleyun.os.accessibility.LauncherAccessibilityDelegate;
|
||||
import com.aoleyun.os.dot.DotInfo;
|
||||
import com.aoleyun.os.folder.FolderIcon;
|
||||
import com.aoleyun.os.graphics.DrawableFactory;
|
||||
import com.aoleyun.os.graphics.IconPalette;
|
||||
import com.aoleyun.os.graphics.IconShape;
|
||||
import com.aoleyun.os.graphics.PreloadIconDrawable;
|
||||
import com.aoleyun.os.icons.DotRenderer;
|
||||
import com.aoleyun.os.model.PackageItemInfo;
|
||||
import com.aoleyun.os.testing.TestProtocol;
|
||||
import com.aoleyun.os.views.ActivityContext;
|
||||
import com.aoleyun.os.icons.GraphicsUtils;
|
||||
import com.aoleyun.os.icons.IconCache;
|
||||
|
||||
import java.text.NumberFormat;
|
||||
|
||||
@@ -64,7 +62,7 @@ import java.text.NumberFormat;
|
||||
* because we want to make the bubble taller than the text and TextView's clip is
|
||||
* too aggressive.
|
||||
*/
|
||||
public class BubbleTextView extends TextView implements ItemInfoUpdateReceiver, OnResumeCallback {
|
||||
public class BubbleTextView extends TextView implements IconCache.ItemInfoUpdateReceiver, Launcher.OnResumeCallback {
|
||||
|
||||
private static final int DISPLAY_WORKSPACE = 0;
|
||||
private static final int DISPLAY_ALL_APPS = 1;
|
||||
@@ -133,7 +131,7 @@ public class BubbleTextView extends TextView implements ItemInfoUpdateReceiver,
|
||||
@ViewDebug.ExportedProperty(category = "launcher")
|
||||
private boolean mDisableRelayout = false;
|
||||
|
||||
private IconLoadRequest mIconLoadRequest;
|
||||
private IconCache.IconLoadRequest mIconLoadRequest;
|
||||
|
||||
public BubbleTextView(Context context) {
|
||||
this(context, null, 0);
|
||||
@@ -495,7 +493,7 @@ public class BubbleTextView extends TextView implements ItemInfoUpdateReceiver,
|
||||
// Special case to prevent text shadows in high contrast mode
|
||||
return Color.TRANSPARENT;
|
||||
}
|
||||
return setColorAlphaBound(mTextColor, Math.round(Color.alpha(mTextColor) * mTextAlpha));
|
||||
return GraphicsUtils.setColorAlphaBound(mTextColor, Math.round(Color.alpha(mTextColor) * mTextAlpha));
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -14,12 +14,10 @@
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
package com.android.colorfulos;
|
||||
package com.aoleyun.os;
|
||||
|
||||
import static android.view.ViewGroup.LayoutParams.WRAP_CONTENT;
|
||||
|
||||
import static com.android.colorfulos.LauncherState.NORMAL;
|
||||
|
||||
import android.animation.AnimatorSet;
|
||||
import android.animation.FloatArrayEvaluator;
|
||||
import android.animation.ObjectAnimator;
|
||||
@@ -41,14 +39,15 @@ import android.view.accessibility.AccessibilityEvent;
|
||||
import android.widget.PopupWindow;
|
||||
import android.widget.TextView;
|
||||
|
||||
import com.android.colorfulos.anim.Interpolators;
|
||||
import com.android.colorfulos.dragndrop.DragController;
|
||||
import com.android.colorfulos.dragndrop.DragLayer;
|
||||
import com.android.colorfulos.dragndrop.DragOptions;
|
||||
import com.android.colorfulos.dragndrop.DragView;
|
||||
import com.android.colorfulos.userevent.nano.LauncherLogProto.Target;
|
||||
import com.android.colorfulos.util.Themes;
|
||||
import com.android.colorfulos.util.Thunk;
|
||||
import com.aoleyun.os.R;
|
||||
import com.aoleyun.os.anim.Interpolators;
|
||||
import com.aoleyun.os.dragndrop.DragController;
|
||||
import com.aoleyun.os.dragndrop.DragLayer;
|
||||
import com.aoleyun.os.dragndrop.DragOptions;
|
||||
import com.aoleyun.os.dragndrop.DragView;
|
||||
import com.aoleyun.os.userevent.nano.LauncherLogProto.Target;
|
||||
import com.aoleyun.os.util.Themes;
|
||||
import com.aoleyun.os.util.Thunk;
|
||||
|
||||
/**
|
||||
* Implements a DropTarget.
|
||||
@@ -101,7 +100,8 @@ public abstract class ButtonDropTarget extends TextView
|
||||
private int mToolTipLocation;
|
||||
|
||||
private AnimatorSet mCurrentColorAnim;
|
||||
@Thunk ColorMatrix mSrcFilter, mDstFilter, mCurrentFilter;
|
||||
@Thunk
|
||||
ColorMatrix mSrcFilter, mDstFilter, mCurrentFilter;
|
||||
|
||||
public ButtonDropTarget(Context context, AttributeSet attrs) {
|
||||
this(context, attrs, 0);
|
||||
@@ -294,7 +294,7 @@ public abstract class ButtonDropTarget extends TextView
|
||||
Runnable onAnimationEndRunnable = () -> {
|
||||
completeDrop(d);
|
||||
mDropTargetBar.onDragEnd();
|
||||
mLauncher.getStateManager().goToState(NORMAL);
|
||||
mLauncher.getStateManager().goToState(LauncherState.NORMAL);
|
||||
};
|
||||
|
||||
dragLayer.animateView(d.dragView, from, to, scale, 1f, 1f, 0.1f, 0.1f,
|
||||
@@ -14,9 +14,7 @@
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
package com.android.colorfulos;
|
||||
|
||||
import static com.android.colorfulos.anim.Interpolators.DEACCEL_1_5;
|
||||
package com.aoleyun.os;
|
||||
|
||||
import android.animation.Animator;
|
||||
import android.animation.AnimatorListenerAdapter;
|
||||
@@ -51,24 +49,24 @@ import android.view.accessibility.AccessibilityEvent;
|
||||
import androidx.annotation.IntDef;
|
||||
import androidx.core.view.ViewCompat;
|
||||
|
||||
import com.android.colorfulos.LauncherSettings.Favorites;
|
||||
import com.android.colorfulos.accessibility.DragAndDropAccessibilityDelegate;
|
||||
import com.android.colorfulos.accessibility.FolderAccessibilityHelper;
|
||||
import com.android.colorfulos.accessibility.WorkspaceAccessibilityHelper;
|
||||
import com.android.colorfulos.anim.Interpolators;
|
||||
import com.android.colorfulos.anim.PropertyListBuilder;
|
||||
import com.android.colorfulos.config.FeatureFlags;
|
||||
import com.android.colorfulos.folder.PreviewBackground;
|
||||
import com.android.colorfulos.graphics.DragPreviewProvider;
|
||||
import com.android.colorfulos.graphics.RotationMode;
|
||||
import com.android.colorfulos.util.CellAndSpan;
|
||||
import com.android.colorfulos.util.GridOccupancy;
|
||||
import com.android.colorfulos.util.ParcelableSparseArray;
|
||||
import com.android.colorfulos.util.Themes;
|
||||
import com.android.colorfulos.util.Thunk;
|
||||
import com.android.colorfulos.views.ActivityContext;
|
||||
import com.android.colorfulos.views.Transposable;
|
||||
import com.android.colorfulos.widget.LauncherAppWidgetHostView;
|
||||
import com.aoleyun.os.R;
|
||||
import com.aoleyun.os.accessibility.DragAndDropAccessibilityDelegate;
|
||||
import com.aoleyun.os.accessibility.FolderAccessibilityHelper;
|
||||
import com.aoleyun.os.accessibility.WorkspaceAccessibilityHelper;
|
||||
import com.aoleyun.os.anim.Interpolators;
|
||||
import com.aoleyun.os.anim.PropertyListBuilder;
|
||||
import com.aoleyun.os.config.FeatureFlags;
|
||||
import com.aoleyun.os.folder.PreviewBackground;
|
||||
import com.aoleyun.os.graphics.DragPreviewProvider;
|
||||
import com.aoleyun.os.graphics.RotationMode;
|
||||
import com.aoleyun.os.util.CellAndSpan;
|
||||
import com.aoleyun.os.util.GridOccupancy;
|
||||
import com.aoleyun.os.util.ParcelableSparseArray;
|
||||
import com.aoleyun.os.util.Themes;
|
||||
import com.aoleyun.os.util.Thunk;
|
||||
import com.aoleyun.os.views.ActivityContext;
|
||||
import com.aoleyun.os.views.Transposable;
|
||||
import com.aoleyun.os.widget.LauncherAppWidgetHostView;
|
||||
|
||||
import java.lang.annotation.Retention;
|
||||
import java.lang.annotation.RetentionPolicy;
|
||||
@@ -87,7 +85,8 @@ public class CellLayout extends ViewGroup implements Transposable {
|
||||
|
||||
protected final ActivityContext mActivity;
|
||||
@ViewDebug.ExportedProperty(category = "launcher")
|
||||
@Thunk int mCellWidth;
|
||||
@Thunk
|
||||
int mCellWidth;
|
||||
@ViewDebug.ExportedProperty(category = "launcher")
|
||||
@Thunk int mCellHeight;
|
||||
private int mFixedCellWidth;
|
||||
@@ -948,7 +947,7 @@ public class CellLayout extends ViewGroup implements Transposable {
|
||||
}
|
||||
|
||||
void visualizeDropLocation(View v, DragPreviewProvider outlineProvider, int cellX, int cellY,
|
||||
int spanX, int spanY, boolean resize, DropTarget.DragObject dragObject) {
|
||||
int spanX, int spanY, boolean resize, DropTarget.DragObject dragObject) {
|
||||
final int oldDragCellX = mDragCell[0];
|
||||
final int oldDragCellY = mDragCell[1];
|
||||
|
||||
@@ -2075,7 +2074,7 @@ public class CellLayout extends ViewGroup implements Transposable {
|
||||
.build(child)
|
||||
.setDuration(REORDER_ANIMATION_DURATION);
|
||||
Launcher.cast(mActivity).getDragController().addFirstFrameAnimationHelper(a);
|
||||
a.setInterpolator(DEACCEL_1_5);
|
||||
a.setInterpolator(Interpolators.DEACCEL_1_5);
|
||||
a.start();
|
||||
}
|
||||
}
|
||||
@@ -2091,11 +2090,11 @@ public class CellLayout extends ViewGroup implements Transposable {
|
||||
mTmpOccupied.copyTo(mOccupied);
|
||||
|
||||
int screenId = Launcher.cast(mActivity).getWorkspace().getIdForScreen(this);
|
||||
int container = Favorites.CONTAINER_DESKTOP;
|
||||
int container = LauncherSettings.Favorites.CONTAINER_DESKTOP;
|
||||
|
||||
if (mContainerType == HOTSEAT) {
|
||||
screenId = -1;
|
||||
container = Favorites.CONTAINER_HOTSEAT;
|
||||
container = LauncherSettings.Favorites.CONTAINER_HOTSEAT;
|
||||
}
|
||||
|
||||
int childCount = mShortcutsAndWidgets.getChildCount();
|
||||
@@ -14,18 +14,19 @@
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
package com.android.colorfulos;
|
||||
package com.aoleyun.os;
|
||||
|
||||
import android.view.View;
|
||||
import android.view.ViewConfiguration;
|
||||
|
||||
import com.android.colorfulos.util.Thunk;
|
||||
import com.aoleyun.os.util.Thunk;
|
||||
|
||||
public class CheckLongPressHelper {
|
||||
|
||||
public static final float DEFAULT_LONG_PRESS_TIMEOUT_FACTOR = 0.75f;
|
||||
|
||||
@Thunk View mView;
|
||||
@Thunk
|
||||
View mView;
|
||||
@Thunk View.OnLongClickListener mListener;
|
||||
@Thunk boolean mHasPerformedLongPress;
|
||||
private float mLongPressTimeoutFactor = DEFAULT_LONG_PRESS_TIMEOUT_FACTOR;
|
||||
@@ -1,4 +1,4 @@
|
||||
package com.android.colorfulos;
|
||||
package com.aoleyun.os;
|
||||
|
||||
import android.appwidget.AppWidgetHost;
|
||||
import android.appwidget.AppWidgetManager;
|
||||
@@ -14,8 +14,9 @@ import android.os.Bundle;
|
||||
import android.text.TextUtils;
|
||||
import android.util.ArrayMap;
|
||||
import android.util.Log;
|
||||
import com.android.colorfulos.LauncherSettings.Favorites;
|
||||
import com.android.colorfulos.util.Thunk;
|
||||
import com.aoleyun.os.LauncherSettings.Favorites;
|
||||
import com.aoleyun.os.util.Thunk;
|
||||
|
||||
import java.io.IOException;
|
||||
import java.net.URISyntaxException;
|
||||
import java.util.List;
|
||||
@@ -55,7 +56,8 @@ public class DefaultLayoutParser extends AutoInstallsLayout {
|
||||
return getFolderElementsMap(mSourceRes);
|
||||
}
|
||||
|
||||
@Thunk ArrayMap<String, TagParser> getFolderElementsMap(Resources res) {
|
||||
@Thunk
|
||||
ArrayMap<String, TagParser> getFolderElementsMap(Resources res) {
|
||||
ArrayMap<String, TagParser> parsers = new ArrayMap<>();
|
||||
parsers.put(TAG_FAVORITE, new AppShortcutWithUriParser());
|
||||
parsers.put(TAG_SHORTCUT, new UriShortcutParser(res));
|
||||
@@ -14,22 +14,23 @@
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
package com.android.colorfulos;
|
||||
package com.aoleyun.os;
|
||||
|
||||
import static com.android.colorfulos.userevent.nano.LauncherLogProto.Action.Touch.TAP;
|
||||
import static com.android.colorfulos.userevent.nano.LauncherLogProto.ControlType.UNDO;
|
||||
import static com.aoleyun.os.userevent.nano.LauncherLogProto.Action.Touch.TAP;
|
||||
import static com.aoleyun.os.userevent.nano.LauncherLogProto.ControlType.UNDO;
|
||||
|
||||
import android.content.Context;
|
||||
import android.text.TextUtils;
|
||||
import android.util.AttributeSet;
|
||||
import android.view.View;
|
||||
|
||||
import com.android.colorfulos.accessibility.LauncherAccessibilityDelegate;
|
||||
import com.android.colorfulos.dragndrop.DragOptions;
|
||||
import com.android.colorfulos.logging.LoggerUtils;
|
||||
import com.android.colorfulos.model.ModelWriter;
|
||||
import com.android.colorfulos.userevent.nano.LauncherLogProto.ControlType;
|
||||
import com.android.colorfulos.userevent.nano.LauncherLogProto.Target;
|
||||
import com.aoleyun.os.R;
|
||||
import com.aoleyun.os.accessibility.LauncherAccessibilityDelegate;
|
||||
import com.aoleyun.os.dragndrop.DragOptions;
|
||||
import com.aoleyun.os.logging.LoggerUtils;
|
||||
import com.aoleyun.os.model.ModelWriter;
|
||||
import com.aoleyun.os.userevent.nano.LauncherLogProto.ControlType;
|
||||
import com.aoleyun.os.userevent.nano.LauncherLogProto.Target;
|
||||
|
||||
public class DeleteDropTarget extends ButtonDropTarget {
|
||||
|
||||
@@ -14,7 +14,7 @@
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
package com.android.colorfulos;
|
||||
package com.aoleyun.os;
|
||||
|
||||
import android.content.Context;
|
||||
import android.content.res.Configuration;
|
||||
@@ -26,10 +26,11 @@ import android.util.DisplayMetrics;
|
||||
import android.view.Surface;
|
||||
import android.view.WindowManager;
|
||||
|
||||
import com.android.colorfulos.CellLayout.ContainerType;
|
||||
import com.android.colorfulos.graphics.IconShape;
|
||||
import com.android.colorfulos.icons.DotRenderer;
|
||||
import com.android.colorfulos.icons.IconNormalizer;
|
||||
import com.aoleyun.os.CellLayout.ContainerType;
|
||||
import com.aoleyun.os.R;
|
||||
import com.aoleyun.os.graphics.IconShape;
|
||||
import com.aoleyun.os.icons.DotRenderer;
|
||||
import com.aoleyun.os.icons.IconNormalizer;
|
||||
|
||||
public class DeviceProfile {
|
||||
|
||||
@@ -14,17 +14,17 @@
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
package com.android.colorfulos;
|
||||
package com.aoleyun.os;
|
||||
|
||||
import android.view.View;
|
||||
|
||||
import com.android.colorfulos.DropTarget.DragObject;
|
||||
import com.android.colorfulos.logging.StatsLogUtils.LogContainerProvider;
|
||||
import com.aoleyun.os.DropTarget.DragObject;
|
||||
import com.aoleyun.os.logging.StatsLogUtils;
|
||||
|
||||
/**
|
||||
* Interface defining an object that can originate a drag.
|
||||
*/
|
||||
public interface DragSource extends LogContainerProvider {
|
||||
public interface DragSource extends StatsLogUtils.LogContainerProvider {
|
||||
|
||||
/**
|
||||
* A callback made back to the source after an item from this source has been dropped on a
|
||||
@@ -14,13 +14,13 @@
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
package com.android.colorfulos;
|
||||
package com.aoleyun.os;
|
||||
|
||||
import android.graphics.Rect;
|
||||
|
||||
import com.android.colorfulos.accessibility.DragViewStateAnnouncer;
|
||||
import com.android.colorfulos.dragndrop.DragOptions;
|
||||
import com.android.colorfulos.dragndrop.DragView;
|
||||
import com.aoleyun.os.accessibility.DragViewStateAnnouncer;
|
||||
import com.aoleyun.os.dragndrop.DragOptions;
|
||||
import com.aoleyun.os.dragndrop.DragView;
|
||||
|
||||
/**
|
||||
* Interface defining an object that can receive a drag.
|
||||
@@ -14,12 +14,7 @@
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
package com.android.colorfulos;
|
||||
|
||||
import static com.android.colorfulos.ButtonDropTarget.TOOLTIP_DEFAULT;
|
||||
import static com.android.colorfulos.ButtonDropTarget.TOOLTIP_LEFT;
|
||||
import static com.android.colorfulos.ButtonDropTarget.TOOLTIP_RIGHT;
|
||||
import static com.android.colorfulos.anim.AlphaUpdateListener.updateVisibility;
|
||||
package com.aoleyun.os;
|
||||
|
||||
import android.animation.TimeInterpolator;
|
||||
import android.content.Context;
|
||||
@@ -31,22 +26,23 @@ import android.view.ViewDebug;
|
||||
import android.view.ViewPropertyAnimator;
|
||||
import android.widget.FrameLayout;
|
||||
|
||||
import com.android.colorfulos.anim.Interpolators;
|
||||
import com.android.colorfulos.dragndrop.DragController;
|
||||
import com.android.colorfulos.dragndrop.DragController.DragListener;
|
||||
import com.android.colorfulos.dragndrop.DragOptions;
|
||||
import com.aoleyun.os.R;
|
||||
import com.aoleyun.os.anim.Interpolators;
|
||||
import com.aoleyun.os.dragndrop.DragController;
|
||||
import com.aoleyun.os.dragndrop.DragOptions;
|
||||
import com.aoleyun.os.anim.AlphaUpdateListener;
|
||||
|
||||
/*
|
||||
* The top bar containing various drop targets: Delete/App Info/Uninstall.
|
||||
*/
|
||||
public class DropTargetBar extends FrameLayout
|
||||
implements DragListener, Insettable {
|
||||
implements DragController.DragListener, Insettable {
|
||||
|
||||
protected static final int DEFAULT_DRAG_FADE_DURATION = 175;
|
||||
protected static final TimeInterpolator DEFAULT_INTERPOLATOR = Interpolators.ACCEL;
|
||||
|
||||
private final Runnable mFadeAnimationEndRunnable =
|
||||
() -> updateVisibility(DropTargetBar.this);
|
||||
() -> AlphaUpdateListener.updateVisibility(DropTargetBar.this);
|
||||
|
||||
@ViewDebug.ExportedProperty(category = "launcher")
|
||||
protected boolean mDeferOnDragEnd;
|
||||
@@ -87,13 +83,13 @@ public class DropTargetBar extends FrameLayout
|
||||
lp.topMargin = insets.top;
|
||||
lp.bottomMargin = insets.bottom;
|
||||
lp.rightMargin = insets.right;
|
||||
int tooltipLocation = TOOLTIP_DEFAULT;
|
||||
int tooltipLocation = ButtonDropTarget.TOOLTIP_DEFAULT;
|
||||
|
||||
if (grid.isVerticalBarLayout()) {
|
||||
lp.width = grid.dropTargetBarSizePx;
|
||||
lp.height = grid.availableHeightPx - 2 * grid.edgeMarginPx;
|
||||
lp.gravity = grid.isSeascape() ? Gravity.RIGHT : Gravity.LEFT;
|
||||
tooltipLocation = grid.isSeascape() ? TOOLTIP_LEFT : TOOLTIP_RIGHT;
|
||||
tooltipLocation = grid.isSeascape() ? ButtonDropTarget.TOOLTIP_LEFT : ButtonDropTarget.TOOLTIP_RIGHT;
|
||||
} else {
|
||||
int gap;
|
||||
if (grid.isTablet) {
|
||||
@@ -13,7 +13,7 @@
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
package com.android.colorfulos;
|
||||
package com.aoleyun.os;
|
||||
|
||||
import android.content.Context;
|
||||
import android.text.TextUtils;
|
||||
@@ -24,7 +24,7 @@ import android.view.View;
|
||||
import android.view.inputmethod.InputMethodManager;
|
||||
import android.widget.EditText;
|
||||
|
||||
import com.android.colorfulos.util.UiThreadHelper;
|
||||
import com.aoleyun.os.util.UiThreadHelper;
|
||||
|
||||
|
||||
/**
|
||||
@@ -14,10 +14,7 @@
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
package com.android.colorfulos;
|
||||
|
||||
import static com.android.colorfulos.anim.Interpolators.ACCEL;
|
||||
import static com.android.colorfulos.anim.Interpolators.DEACCEL;
|
||||
package com.aoleyun.os;
|
||||
|
||||
import android.animation.ObjectAnimator;
|
||||
import android.graphics.Bitmap;
|
||||
@@ -35,7 +32,8 @@ import android.graphics.drawable.Drawable;
|
||||
import android.util.Property;
|
||||
import android.util.SparseArray;
|
||||
|
||||
import com.android.colorfulos.icons.BitmapInfo;
|
||||
import com.aoleyun.os.icons.BitmapInfo;
|
||||
import com.aoleyun.os.anim.Interpolators;
|
||||
|
||||
public class FastBitmapDrawable extends Drawable {
|
||||
|
||||
@@ -224,13 +222,13 @@ public class FastBitmapDrawable extends Drawable {
|
||||
// Animate when going to pressed state
|
||||
mScaleAnimation = ObjectAnimator.ofFloat(this, SCALE, PRESSED_SCALE);
|
||||
mScaleAnimation.setDuration(CLICK_FEEDBACK_DURATION);
|
||||
mScaleAnimation.setInterpolator(ACCEL);
|
||||
mScaleAnimation.setInterpolator(Interpolators.ACCEL);
|
||||
mScaleAnimation.start();
|
||||
} else {
|
||||
if (isVisible()) {
|
||||
mScaleAnimation = ObjectAnimator.ofFloat(this, SCALE, 1f);
|
||||
mScaleAnimation.setDuration(CLICK_FEEDBACK_DURATION);
|
||||
mScaleAnimation.setInterpolator(DEACCEL);
|
||||
mScaleAnimation.setInterpolator(Interpolators.DEACCEL);
|
||||
mScaleAnimation.start();
|
||||
} else {
|
||||
mScale = 1f;
|
||||
@@ -13,9 +13,7 @@
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
package com.android.colorfulos;
|
||||
|
||||
import static com.android.colorfulos.Utilities.SINGLE_FRAME_MS;
|
||||
package com.aoleyun.os;
|
||||
|
||||
import android.animation.ValueAnimator;
|
||||
import android.animation.ValueAnimator.AnimatorUpdateListener;
|
||||
@@ -110,9 +108,9 @@ public class FirstFrameAnimatorHelper implements OnDrawListener, OnAttachStateCh
|
||||
// prevents a large jump in the animation due to an expensive first frame
|
||||
} else if (frameNum == 1 && currentTime < mStartTime + MAX_DELAY &&
|
||||
!mAdjustedSecondFrameTime &&
|
||||
currentTime > mStartTime + SINGLE_FRAME_MS &&
|
||||
currentPlayTime > SINGLE_FRAME_MS) {
|
||||
animation.setCurrentPlayTime(SINGLE_FRAME_MS);
|
||||
currentTime > mStartTime + Utilities.SINGLE_FRAME_MS &&
|
||||
currentPlayTime > Utilities.SINGLE_FRAME_MS) {
|
||||
animation.setCurrentPlayTime(Utilities.SINGLE_FRAME_MS);
|
||||
mAdjustedSecondFrameTime = true;
|
||||
} else {
|
||||
if (frameNum > 1) {
|
||||
@@ -14,7 +14,7 @@
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
package com.android.colorfulos;
|
||||
package com.aoleyun.os;
|
||||
|
||||
import android.util.Log;
|
||||
import android.view.KeyEvent;
|
||||
@@ -22,11 +22,12 @@ import android.view.SoundEffectConstants;
|
||||
import android.view.View;
|
||||
import android.view.ViewGroup;
|
||||
|
||||
import com.android.colorfulos.config.FeatureFlags;
|
||||
import com.android.colorfulos.folder.Folder;
|
||||
import com.android.colorfulos.folder.FolderPagedView;
|
||||
import com.android.colorfulos.util.FocusLogic;
|
||||
import com.android.colorfulos.util.Thunk;
|
||||
import com.aoleyun.os.R;
|
||||
import com.aoleyun.os.config.FeatureFlags;
|
||||
import com.aoleyun.os.folder.Folder;
|
||||
import com.aoleyun.os.folder.FolderPagedView;
|
||||
import com.aoleyun.os.util.FocusLogic;
|
||||
import com.aoleyun.os.util.Thunk;
|
||||
|
||||
/**
|
||||
* A keyboard listener we set on all the workspace icons.
|
||||
@@ -473,7 +474,8 @@ public class FocusHelper {
|
||||
/**
|
||||
* Private helper method to get the CellLayoutChildren given a CellLayout index.
|
||||
*/
|
||||
@Thunk static ShortcutAndWidgetContainer getCellLayoutChildrenForIndex(
|
||||
@Thunk
|
||||
static ShortcutAndWidgetContainer getCellLayoutChildrenForIndex(
|
||||
ViewGroup container, int i) {
|
||||
CellLayout parent = (CellLayout) container.getChildAt(i);
|
||||
return parent.getShortcutsAndWidgets();
|
||||
@@ -14,12 +14,12 @@
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
package com.android.colorfulos;
|
||||
package com.aoleyun.os;
|
||||
|
||||
import android.os.Process;
|
||||
|
||||
import com.android.colorfulos.model.ModelWriter;
|
||||
import com.android.colorfulos.util.ContentWriter;
|
||||
import com.aoleyun.os.model.ModelWriter;
|
||||
import com.aoleyun.os.util.ContentWriter;
|
||||
|
||||
import java.util.ArrayList;
|
||||
|
||||
@@ -14,7 +14,7 @@
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
package com.android.colorfulos;
|
||||
package com.aoleyun.os;
|
||||
|
||||
import android.content.Context;
|
||||
import android.graphics.Rect;
|
||||
@@ -26,13 +26,13 @@ import android.view.ViewDebug;
|
||||
import android.view.ViewGroup;
|
||||
import android.widget.FrameLayout;
|
||||
|
||||
import com.android.colorfulos.graphics.RotationMode;
|
||||
import com.android.colorfulos.logging.StatsLogUtils.LogContainerProvider;
|
||||
import com.android.colorfulos.userevent.nano.LauncherLogProto;
|
||||
import com.android.colorfulos.userevent.nano.LauncherLogProto.Target;
|
||||
import com.android.colorfulos.views.Transposable;
|
||||
import com.aoleyun.os.graphics.RotationMode;
|
||||
import com.aoleyun.os.userevent.nano.LauncherLogProto;
|
||||
import com.aoleyun.os.userevent.nano.LauncherLogProto.Target;
|
||||
import com.aoleyun.os.views.Transposable;
|
||||
import com.aoleyun.os.logging.StatsLogUtils;
|
||||
|
||||
public class Hotseat extends CellLayout implements LogContainerProvider, Insettable, Transposable {
|
||||
public class Hotseat extends CellLayout implements StatsLogUtils.LogContainerProvider, Insettable, Transposable {
|
||||
|
||||
@ViewDebug.ExportedProperty(category = "launcher")
|
||||
private boolean mHasVerticalHotseat;
|
||||
@@ -1,10 +1,11 @@
|
||||
package com.android.colorfulos;
|
||||
package com.aoleyun.os;
|
||||
|
||||
import android.content.Context;
|
||||
import android.content.pm.LauncherActivityInfo;
|
||||
import android.graphics.drawable.Drawable;
|
||||
|
||||
import com.android.colorfulos.util.ResourceBasedOverride;
|
||||
import com.aoleyun.os.R;
|
||||
import com.aoleyun.os.util.ResourceBasedOverride;
|
||||
|
||||
public class IconProvider implements ResourceBasedOverride {
|
||||
|
||||
@@ -14,7 +14,7 @@
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
package com.android.colorfulos;
|
||||
package com.aoleyun.os;
|
||||
|
||||
import android.graphics.Rect;
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
package com.android.colorfulos;
|
||||
package com.aoleyun.os;
|
||||
|
||||
import android.content.Context;
|
||||
import android.content.res.TypedArray;
|
||||
@@ -9,6 +9,8 @@ import android.view.ViewDebug;
|
||||
import android.view.ViewGroup;
|
||||
import android.widget.FrameLayout;
|
||||
|
||||
import com.aoleyun.os.R;
|
||||
|
||||
public class InsettableFrameLayout extends FrameLayout implements Insettable {
|
||||
|
||||
@ViewDebug.ExportedProperty(category = "launcher")
|
||||
@@ -14,7 +14,7 @@
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
package com.android.colorfulos;
|
||||
package com.aoleyun.os;
|
||||
|
||||
import android.appwidget.AppWidgetManager;
|
||||
import android.appwidget.AppWidgetProviderInfo;
|
||||
@@ -39,16 +39,16 @@ import android.util.Base64;
|
||||
import android.util.Log;
|
||||
import android.util.Pair;
|
||||
|
||||
import com.android.colorfulos.compat.LauncherAppsCompat;
|
||||
import com.android.colorfulos.compat.UserManagerCompat;
|
||||
import com.android.colorfulos.icons.BitmapInfo;
|
||||
import com.android.colorfulos.icons.GraphicsUtils;
|
||||
import com.android.colorfulos.icons.LauncherIcons;
|
||||
import com.android.colorfulos.shortcuts.DeepShortcutManager;
|
||||
import com.android.colorfulos.shortcuts.ShortcutKey;
|
||||
import com.android.colorfulos.util.PackageManagerHelper;
|
||||
import com.android.colorfulos.util.Preconditions;
|
||||
import com.android.colorfulos.util.Thunk;
|
||||
import com.aoleyun.os.compat.LauncherAppsCompat;
|
||||
import com.aoleyun.os.compat.UserManagerCompat;
|
||||
import com.aoleyun.os.icons.BitmapInfo;
|
||||
import com.aoleyun.os.icons.GraphicsUtils;
|
||||
import com.aoleyun.os.icons.LauncherIcons;
|
||||
import com.aoleyun.os.shortcuts.DeepShortcutManager;
|
||||
import com.aoleyun.os.shortcuts.ShortcutKey;
|
||||
import com.aoleyun.os.util.PackageManagerHelper;
|
||||
import com.aoleyun.os.util.Preconditions;
|
||||
import com.aoleyun.os.util.Thunk;
|
||||
|
||||
import org.json.JSONException;
|
||||
import org.json.JSONObject;
|
||||
@@ -311,7 +311,8 @@ public class InstallShortcutReceiver extends BroadcastReceiver {
|
||||
* Ensures that we have a valid, non-null name. If the provided name is null, we will return
|
||||
* the application name instead.
|
||||
*/
|
||||
@Thunk static CharSequence ensureValidName(Context context, Intent intent, CharSequence name) {
|
||||
@Thunk
|
||||
static CharSequence ensureValidName(Context context, Intent intent, CharSequence name) {
|
||||
if (name == null) {
|
||||
try {
|
||||
PackageManager pm = context.getPackageManager();
|
||||
@@ -14,7 +14,7 @@
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
package com.android.colorfulos;
|
||||
package com.aoleyun.os;
|
||||
|
||||
import android.animation.Animator;
|
||||
import android.animation.AnimatorListenerAdapter;
|
||||
@@ -22,7 +22,7 @@ import android.animation.ObjectAnimator;
|
||||
import android.animation.ValueAnimator;
|
||||
import android.util.Property;
|
||||
|
||||
import com.android.colorfulos.util.Thunk;
|
||||
import com.aoleyun.os.util.Thunk;
|
||||
|
||||
/**
|
||||
* A convenience class for two-way animations, e.g. a fadeIn/fadeOut animation.
|
||||
@@ -62,7 +62,8 @@ public class InterruptibleInOutAnimator {
|
||||
private static final int OUT = 2;
|
||||
|
||||
// TODO: This isn't really necessary, but is here to help diagnose a bug in the drag viz
|
||||
@Thunk int mDirection = STOPPED;
|
||||
@Thunk
|
||||
int mDirection = STOPPED;
|
||||
|
||||
public InterruptibleInOutAnimator(long duration, float fromValue, float toValue) {
|
||||
mAnimator = ObjectAnimator.ofFloat(this, VALUE, fromValue, toValue).setDuration(duration);
|
||||
@@ -14,11 +14,11 @@
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
package com.android.colorfulos;
|
||||
package com.aoleyun.os;
|
||||
|
||||
import static com.android.colorfulos.Utilities.getDevicePrefs;
|
||||
import static com.android.colorfulos.config.FeatureFlags.APPLY_CONFIG_AT_RUNTIME;
|
||||
import static com.android.colorfulos.util.PackageManagerHelper.getPackageFilter;
|
||||
import static com.aoleyun.os.Utilities.getDevicePrefs;
|
||||
import static com.aoleyun.os.config.FeatureFlags.APPLY_CONFIG_AT_RUNTIME;
|
||||
import static com.aoleyun.os.util.PackageManagerHelper.getPackageFilter;
|
||||
|
||||
import android.annotation.TargetApi;
|
||||
import android.appwidget.AppWidgetHostView;
|
||||
@@ -42,11 +42,11 @@ import android.util.Xml;
|
||||
import android.view.Display;
|
||||
import android.view.WindowManager;
|
||||
|
||||
import com.android.colorfulos.graphics.IconShape;
|
||||
import com.android.colorfulos.util.ConfigMonitor;
|
||||
import com.android.colorfulos.util.IntArray;
|
||||
import com.android.colorfulos.util.MainThreadInitializedObject;
|
||||
import com.android.colorfulos.util.Themes;
|
||||
import com.aoleyun.os.graphics.IconShape;
|
||||
import com.aoleyun.os.util.ConfigMonitor;
|
||||
import com.aoleyun.os.util.IntArray;
|
||||
import com.aoleyun.os.util.MainThreadInitializedObject;
|
||||
import com.aoleyun.os.util.Themes;
|
||||
|
||||
import org.xmlpull.v1.XmlPullParser;
|
||||
import org.xmlpull.v1.XmlPullParserException;
|
||||
@@ -265,13 +265,13 @@ public class InvariantDeviceProfile {
|
||||
}
|
||||
|
||||
public void verifyConfigChangedInBackground(final Context context) {
|
||||
String savedIconMaskPath = getDevicePrefs(context).getString(KEY_ICON_PATH_REF, "");
|
||||
String savedIconMaskPath = Utilities.getDevicePrefs(context).getString(KEY_ICON_PATH_REF, "");
|
||||
// Good place to check if grid size changed in themepicker when launcher was dead.
|
||||
if (savedIconMaskPath.isEmpty()) {
|
||||
getDevicePrefs(context).edit().putString(KEY_ICON_PATH_REF, getIconShapePath(context))
|
||||
Utilities.getDevicePrefs(context).edit().putString(KEY_ICON_PATH_REF, getIconShapePath(context))
|
||||
.apply();
|
||||
} else if (!savedIconMaskPath.equals(getIconShapePath(context))) {
|
||||
getDevicePrefs(context).edit().putString(KEY_ICON_PATH_REF, getIconShapePath(context))
|
||||
Utilities.getDevicePrefs(context).edit().putString(KEY_ICON_PATH_REF, getIconShapePath(context))
|
||||
.apply();
|
||||
apply(context, CHANGE_FLAG_ICON_PARAMS);
|
||||
}
|
||||
@@ -14,7 +14,7 @@
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
package com.android.colorfulos;
|
||||
package com.aoleyun.os;
|
||||
|
||||
import android.content.ComponentName;
|
||||
import android.content.ContentValues;
|
||||
@@ -22,7 +22,7 @@ import android.content.Intent;
|
||||
import android.os.Process;
|
||||
import android.os.UserHandle;
|
||||
|
||||
import com.android.colorfulos.util.ContentWriter;
|
||||
import com.aoleyun.os.util.ContentWriter;
|
||||
|
||||
/**
|
||||
* Represents an item in the launcher.
|
||||
@@ -14,13 +14,11 @@
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
package com.android.colorfulos;
|
||||
|
||||
import static com.android.colorfulos.icons.BitmapInfo.LOW_RES_ICON;
|
||||
package com.aoleyun.os;
|
||||
|
||||
import android.graphics.Bitmap;
|
||||
|
||||
import com.android.colorfulos.icons.BitmapInfo;
|
||||
import com.aoleyun.os.icons.BitmapInfo;
|
||||
|
||||
/**
|
||||
* Represents an ItemInfo which also holds an icon.
|
||||
@@ -118,7 +116,7 @@ public abstract class ItemInfoWithIcon extends ItemInfo {
|
||||
* Indicates whether we're using a low res icon
|
||||
*/
|
||||
public boolean usingLowResIcon() {
|
||||
return iconBitmap == LOW_RES_ICON;
|
||||
return iconBitmap == BitmapInfo.LOW_RES_ICON;
|
||||
}
|
||||
|
||||
public void applyFrom(BitmapInfo info) {
|
||||
@@ -14,7 +14,7 @@
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
package com.android.colorfulos;
|
||||
package com.aoleyun.os;
|
||||
|
||||
import android.animation.Animator;
|
||||
import android.animation.AnimatorListenerAdapter;
|
||||
@@ -28,7 +28,6 @@ import android.appwidget.AppWidgetHostView;
|
||||
import android.appwidget.AppWidgetManager;
|
||||
import android.content.ActivityNotFoundException;
|
||||
import android.content.BroadcastReceiver;
|
||||
import android.content.ComponentCallbacks2;
|
||||
import android.content.ComponentName;
|
||||
import android.content.Context;
|
||||
import android.content.Intent;
|
||||
@@ -50,6 +49,7 @@ import android.os.Handler;
|
||||
import android.os.Parcelable;
|
||||
import android.os.Process;
|
||||
import android.os.StrictMode;
|
||||
import android.provider.Settings;
|
||||
import android.text.TextUtils;
|
||||
import android.text.method.TextKeyListener;
|
||||
import android.util.Log;
|
||||
@@ -67,92 +67,100 @@ import android.view.animation.OvershootInterpolator;
|
||||
import android.widget.Toast;
|
||||
|
||||
import androidx.annotation.Nullable;
|
||||
import androidx.core.content.ContextCompat;
|
||||
|
||||
import com.android.colorfulos.DropTarget.DragObject;
|
||||
import com.android.colorfulos.TTUtils.Utils;
|
||||
import com.android.colorfulos.accessibility.LauncherAccessibilityDelegate;
|
||||
import com.android.colorfulos.allapps.AllAppsContainerView;
|
||||
import com.android.colorfulos.allapps.AllAppsStore;
|
||||
import com.android.colorfulos.allapps.AllAppsTransitionController;
|
||||
import com.android.colorfulos.allapps.DiscoveryBounce;
|
||||
import com.android.colorfulos.anim.PropertyListBuilder;
|
||||
import com.android.colorfulos.base.MyApplication;
|
||||
import com.android.colorfulos.compat.AppWidgetManagerCompat;
|
||||
import com.android.colorfulos.compat.LauncherAppsCompatVO;
|
||||
import com.android.colorfulos.config.FeatureFlags;
|
||||
import com.android.colorfulos.dot.DotInfo;
|
||||
import com.android.colorfulos.dragndrop.DragController;
|
||||
import com.android.colorfulos.dragndrop.DragLayer;
|
||||
import com.android.colorfulos.dragndrop.DragView;
|
||||
import com.android.colorfulos.folder.Folder;
|
||||
import com.android.colorfulos.folder.FolderIcon;
|
||||
import com.android.colorfulos.folder.FolderIconPreviewVerifier;
|
||||
import com.android.colorfulos.graphics.RotationMode;
|
||||
import com.android.colorfulos.icons.IconCache;
|
||||
import com.android.colorfulos.jpush.ExampleUtil;
|
||||
import com.android.colorfulos.jpush.LocalBroadcastManager;
|
||||
import com.android.colorfulos.jpush.TagAliasOperatorHelper;
|
||||
import com.android.colorfulos.keyboard.CustomActionsPopup;
|
||||
import com.android.colorfulos.keyboard.ViewGroupFocusHelper;
|
||||
import com.android.colorfulos.logging.FileLog;
|
||||
import com.android.colorfulos.logging.StatsLogUtils;
|
||||
import com.android.colorfulos.logging.UserEventDispatcher;
|
||||
import com.android.colorfulos.logging.UserEventDispatcher.UserEventDelegate;
|
||||
import com.android.colorfulos.model.AppLaunchTracker;
|
||||
import com.android.colorfulos.model.ModelWriter;
|
||||
import com.android.colorfulos.network.BaseResponse;
|
||||
import com.android.colorfulos.network.NetWorkManager;
|
||||
import com.android.colorfulos.network.NewestAppUpdateResult;
|
||||
import com.android.colorfulos.network.api.AddAppLog;
|
||||
import com.android.colorfulos.notification.NotificationListener;
|
||||
import com.android.colorfulos.pageindicators.PageIndicatorDots;
|
||||
import com.android.colorfulos.popup.PopupContainerWithArrow;
|
||||
import com.android.colorfulos.popup.PopupDataProvider;
|
||||
import com.android.colorfulos.service.MainService;
|
||||
import com.android.colorfulos.shortcuts.DeepShortcutManager;
|
||||
import com.android.colorfulos.states.InternalStateHandler;
|
||||
import com.android.colorfulos.states.RotationHelper;
|
||||
import com.android.colorfulos.testing.TestProtocol;
|
||||
import com.android.colorfulos.touch.ItemClickHandler;
|
||||
import com.android.colorfulos.uioverrides.UiFactory;
|
||||
import com.android.colorfulos.uiuiutils.JGYUtils;
|
||||
import com.android.colorfulos.userevent.nano.LauncherLogProto;
|
||||
import com.android.colorfulos.userevent.nano.LauncherLogProto.Action;
|
||||
import com.android.colorfulos.userevent.nano.LauncherLogProto.ContainerType;
|
||||
import com.android.colorfulos.userevent.nano.LauncherLogProto.Target;
|
||||
import com.android.colorfulos.util.ActivityResultInfo;
|
||||
import com.android.colorfulos.util.ComponentKey;
|
||||
import com.android.colorfulos.util.IntArray;
|
||||
import com.android.colorfulos.util.ItemInfoMatcher;
|
||||
import com.android.colorfulos.util.MultiValueAlpha;
|
||||
import com.android.colorfulos.util.MultiValueAlpha.AlphaProperty;
|
||||
import com.android.colorfulos.util.PackageManagerHelper;
|
||||
import com.android.colorfulos.util.PackageUserKey;
|
||||
import com.android.colorfulos.util.PendingRequestArgs;
|
||||
import com.android.colorfulos.util.RaceConditionTracker;
|
||||
import com.android.colorfulos.util.SystemUiController;
|
||||
import com.android.colorfulos.util.Themes;
|
||||
import com.android.colorfulos.util.Thunk;
|
||||
import com.android.colorfulos.util.TraceHelper;
|
||||
import com.android.colorfulos.util.UiThreadHelper;
|
||||
import com.android.colorfulos.util.ViewOnDrawExecutor;
|
||||
import com.android.colorfulos.views.ActivityContext;
|
||||
import com.android.colorfulos.views.OptionsPopupView;
|
||||
import com.android.colorfulos.views.ScrimView;
|
||||
import com.android.colorfulos.widget.LauncherAppWidgetHostView;
|
||||
import com.android.colorfulos.widget.PendingAddShortcutInfo;
|
||||
import com.android.colorfulos.widget.PendingAddWidgetInfo;
|
||||
import com.android.colorfulos.widget.PendingAppWidgetHostView;
|
||||
import com.android.colorfulos.widget.WidgetAddFlowHandler;
|
||||
import com.android.colorfulos.widget.WidgetHostViewLoader;
|
||||
import com.android.colorfulos.widget.WidgetListRowEntry;
|
||||
import com.android.colorfulos.widget.WidgetsFullSheet;
|
||||
import com.android.colorfulos.widget.custom.CustomWidgetParser;
|
||||
import com.aoleyun.os.DropTarget.DragObject;
|
||||
import com.aoleyun.os.TTUtils.APKUtils;
|
||||
import com.aoleyun.os.TTUtils.Utils;
|
||||
import com.aoleyun.os.accessibility.LauncherAccessibilityDelegate;
|
||||
import com.aoleyun.os.allapps.AllAppsContainerView;
|
||||
import com.aoleyun.os.allapps.AllAppsStore;
|
||||
import com.aoleyun.os.allapps.AllAppsTransitionController;
|
||||
import com.aoleyun.os.allapps.DiscoveryBounce;
|
||||
import com.aoleyun.os.anim.PropertyListBuilder;
|
||||
import com.aoleyun.os.base.MyApplication;
|
||||
import com.aoleyun.os.compat.AppWidgetManagerCompat;
|
||||
import com.aoleyun.os.compat.LauncherAppsCompatVO;
|
||||
import com.aoleyun.os.config.FeatureFlags;
|
||||
import com.aoleyun.os.dot.DotInfo;
|
||||
import com.aoleyun.os.dragndrop.DragController;
|
||||
import com.aoleyun.os.dragndrop.DragLayer;
|
||||
import com.aoleyun.os.dragndrop.DragView;
|
||||
import com.aoleyun.os.folder.Folder;
|
||||
import com.aoleyun.os.folder.FolderIcon;
|
||||
import com.aoleyun.os.folder.FolderIconPreviewVerifier;
|
||||
import com.aoleyun.os.graphics.RotationMode;
|
||||
import com.aoleyun.os.icons.IconCache;
|
||||
import com.aoleyun.os.jpush.ExampleUtil;
|
||||
import com.aoleyun.os.jpush.LocalBroadcastManager;
|
||||
import com.aoleyun.os.keyboard.CustomActionsPopup;
|
||||
import com.aoleyun.os.keyboard.ViewGroupFocusHelper;
|
||||
import com.aoleyun.os.logging.FileLog;
|
||||
import com.aoleyun.os.logging.StatsLogUtils;
|
||||
import com.aoleyun.os.logging.UserEventDispatcher;
|
||||
import com.aoleyun.os.logging.UserEventDispatcher.UserEventDelegate;
|
||||
import com.aoleyun.os.model.AppLaunchTracker;
|
||||
import com.aoleyun.os.model.ModelWriter;
|
||||
import com.aoleyun.os.network.AppPasswdBean;
|
||||
import com.aoleyun.os.network.BaseResponse;
|
||||
import com.aoleyun.os.network.HTTPInterface;
|
||||
import com.aoleyun.os.network.NetWorkManager;
|
||||
import com.aoleyun.os.network.NewestAppUpdateResult;
|
||||
import com.aoleyun.os.network.api.AddAppLog;
|
||||
import com.aoleyun.os.notification.NotificationListener;
|
||||
import com.aoleyun.os.pageindicators.PageIndicatorDots;
|
||||
import com.aoleyun.os.popup.PopupContainerWithArrow;
|
||||
import com.aoleyun.os.popup.PopupDataProvider;
|
||||
import com.aoleyun.os.service.MainService;
|
||||
import com.aoleyun.os.shortcuts.DeepShortcutManager;
|
||||
import com.aoleyun.os.states.InternalStateHandler;
|
||||
import com.aoleyun.os.states.RotationHelper;
|
||||
import com.aoleyun.os.testing.TestProtocol;
|
||||
import com.aoleyun.os.touch.ItemClickHandler;
|
||||
import com.aoleyun.os.uioverrides.UiFactory;
|
||||
import com.aoleyun.os.uiuiutils.JGYUtils;
|
||||
import com.aoleyun.os.userevent.nano.LauncherLogProto;
|
||||
import com.aoleyun.os.userevent.nano.LauncherLogProto.Action;
|
||||
import com.aoleyun.os.userevent.nano.LauncherLogProto.ContainerType;
|
||||
import com.aoleyun.os.userevent.nano.LauncherLogProto.Target;
|
||||
import com.aoleyun.os.util.ActivityResultInfo;
|
||||
import com.aoleyun.os.util.ComponentKey;
|
||||
import com.aoleyun.os.util.IntArray;
|
||||
import com.aoleyun.os.util.ItemInfoMatcher;
|
||||
import com.aoleyun.os.util.MultiValueAlpha;
|
||||
import com.aoleyun.os.util.MultiValueAlpha.AlphaProperty;
|
||||
import com.aoleyun.os.util.PackageManagerHelper;
|
||||
import com.aoleyun.os.util.PackageUserKey;
|
||||
import com.aoleyun.os.util.PendingRequestArgs;
|
||||
import com.aoleyun.os.util.RaceConditionTracker;
|
||||
import com.aoleyun.os.util.SystemUiController;
|
||||
import com.aoleyun.os.util.Themes;
|
||||
import com.aoleyun.os.util.Thunk;
|
||||
import com.aoleyun.os.util.TraceHelper;
|
||||
import com.aoleyun.os.util.UiThreadHelper;
|
||||
import com.aoleyun.os.util.ViewOnDrawExecutor;
|
||||
import com.aoleyun.os.views.ActivityContext;
|
||||
import com.aoleyun.os.views.OptionsPopupView;
|
||||
import com.aoleyun.os.views.ScrimView;
|
||||
import com.aoleyun.os.widget.LauncherAppWidgetHostView;
|
||||
import com.aoleyun.os.widget.PendingAddShortcutInfo;
|
||||
import com.aoleyun.os.widget.PendingAddWidgetInfo;
|
||||
import com.aoleyun.os.widget.PendingAppWidgetHostView;
|
||||
import com.aoleyun.os.widget.WidgetAddFlowHandler;
|
||||
import com.aoleyun.os.widget.WidgetHostViewLoader;
|
||||
import com.aoleyun.os.widget.WidgetListRowEntry;
|
||||
import com.aoleyun.os.widget.WidgetsFullSheet;
|
||||
import com.aoleyun.os.widget.custom.CustomWidgetParser;
|
||||
import com.arialyy.aria.core.Aria;
|
||||
import com.google.gson.Gson;
|
||||
import com.google.gson.reflect.TypeToken;
|
||||
import com.tencent.mmkv.MMKV;
|
||||
|
||||
import java.io.File;
|
||||
import java.io.FileDescriptor;
|
||||
import java.io.IOException;
|
||||
import java.io.PrintWriter;
|
||||
import java.lang.reflect.Type;
|
||||
import java.util.ArrayList;
|
||||
import java.util.Collection;
|
||||
import java.util.HashMap;
|
||||
@@ -174,20 +182,18 @@ import io.reactivex.schedulers.Schedulers;
|
||||
import static android.content.pm.ActivityInfo.CONFIG_LOCALE;
|
||||
import static android.content.pm.ActivityInfo.CONFIG_ORIENTATION;
|
||||
import static android.content.pm.ActivityInfo.CONFIG_SCREEN_SIZE;
|
||||
import static com.android.colorfulos.AbstractFloatingView.TYPE_SNACKBAR;
|
||||
import static com.android.colorfulos.LauncherAnimUtils.SPRING_LOADED_EXIT_DELAY;
|
||||
import static com.android.colorfulos.LauncherState.ALL_APPS;
|
||||
import static com.android.colorfulos.LauncherState.NORMAL;
|
||||
import static com.android.colorfulos.LauncherState.OVERVIEW;
|
||||
import static com.android.colorfulos.LauncherState.OVERVIEW_PEEK;
|
||||
import static com.android.colorfulos.dragndrop.DragLayer.ALPHA_INDEX_LAUNCHER_LOAD;
|
||||
import static com.android.colorfulos.jpush.TagAliasOperatorHelper.ACTION_SET;
|
||||
import static com.android.colorfulos.jpush.TagAliasOperatorHelper.sequence;
|
||||
import static com.android.colorfulos.logging.LoggerUtils.newContainerTarget;
|
||||
import static com.android.colorfulos.logging.LoggerUtils.newTarget;
|
||||
import static com.android.colorfulos.states.RotationHelper.REQUEST_NONE;
|
||||
import static com.android.colorfulos.util.RaceConditionTracker.ENTER;
|
||||
import static com.android.colorfulos.util.RaceConditionTracker.EXIT;
|
||||
import static com.aoleyun.os.AbstractFloatingView.TYPE_SNACKBAR;
|
||||
import static com.aoleyun.os.LauncherAnimUtils.SPRING_LOADED_EXIT_DELAY;
|
||||
import static com.aoleyun.os.LauncherState.ALL_APPS;
|
||||
import static com.aoleyun.os.LauncherState.NORMAL;
|
||||
import static com.aoleyun.os.LauncherState.OVERVIEW;
|
||||
import static com.aoleyun.os.LauncherState.OVERVIEW_PEEK;
|
||||
import static com.aoleyun.os.dragndrop.DragLayer.ALPHA_INDEX_LAUNCHER_LOAD;
|
||||
import static com.aoleyun.os.logging.LoggerUtils.newContainerTarget;
|
||||
import static com.aoleyun.os.logging.LoggerUtils.newTarget;
|
||||
import static com.aoleyun.os.states.RotationHelper.REQUEST_NONE;
|
||||
import static com.aoleyun.os.util.RaceConditionTracker.ENTER;
|
||||
import static com.aoleyun.os.util.RaceConditionTracker.EXIT;
|
||||
|
||||
/**
|
||||
* Default launcher application.
|
||||
@@ -416,7 +422,7 @@ public class Launcher extends BaseDraggingActivity implements LauncherExterns,
|
||||
if (!isDefaultHome()) {
|
||||
setDefaultL();
|
||||
}
|
||||
SharedPreferences sharedPref = getPreferences(Context.MODE_PRIVATE);
|
||||
SharedPreferences sharedPref = getPreferences(MODE_PRIVATE);
|
||||
int i = sharedPref.getInt("SetWallPaper", 0);
|
||||
if (i == 0) {
|
||||
SetWallPaper();
|
||||
@@ -464,12 +470,6 @@ public class Launcher extends BaseDraggingActivity implements LauncherExterns,
|
||||
});
|
||||
registerMessageReceiver(); // used for receive msg
|
||||
JPushInterface.init(this);
|
||||
TagAliasOperatorHelper.TagAliasBean tagAliasBean = new TagAliasOperatorHelper.TagAliasBean();
|
||||
tagAliasBean.action = ACTION_SET;
|
||||
sequence++;
|
||||
tagAliasBean.alias = Utils.getSerial();
|
||||
tagAliasBean.isAliasAction = true;
|
||||
TagAliasOperatorHelper.getInstance().handleAction(this, sequence, tagAliasBean);
|
||||
String rid = JPushInterface.getRegistrationID(this);
|
||||
if (!TextUtils.isEmpty(rid)) {
|
||||
Log.e("setJpushAlias", "RegId:" + rid);
|
||||
@@ -477,6 +477,7 @@ public class Launcher extends BaseDraggingActivity implements LauncherExterns,
|
||||
JPushInterface.getAlias(this, new Random().nextInt(100));
|
||||
}
|
||||
|
||||
|
||||
//for receive customer msg from jpush server
|
||||
private MessageReceiver mMessageReceiver;
|
||||
public static final String MESSAGE_RECEIVED_ACTION = "com.example.jpushdemo.MESSAGE_RECEIVED_ACTION";
|
||||
@@ -520,7 +521,7 @@ public class Launcher extends BaseDraggingActivity implements LauncherExterns,
|
||||
e.printStackTrace();
|
||||
Log.e("TT", e.getMessage());
|
||||
}
|
||||
SharedPreferences sharedPref = getPreferences(Context.MODE_PRIVATE);
|
||||
SharedPreferences sharedPref = getPreferences(MODE_PRIVATE);
|
||||
SharedPreferences.Editor editor = sharedPref.edit();
|
||||
editor.putInt("SetWallPaper", 1);
|
||||
editor.apply();
|
||||
@@ -1089,7 +1090,7 @@ public class Launcher extends BaseDraggingActivity implements LauncherExterns,
|
||||
}
|
||||
RaceConditionTracker.onEvent(ON_START_EVT, ENTER);
|
||||
super.onStart();
|
||||
|
||||
removeRecentTask();
|
||||
String packagename = MyApplication.getInstance().getAppPackageName();
|
||||
Log.e("SendcloseApp", "packagename=" + packagename);
|
||||
if (packagename != null && packagename.length() > 0) {
|
||||
@@ -1218,9 +1219,11 @@ public class Launcher extends BaseDraggingActivity implements LauncherExterns,
|
||||
|
||||
@Override
|
||||
protected void onResume() {
|
||||
Log.e(TAG, "onResume: ");
|
||||
RaceConditionTracker.onEvent(ON_RESUME_EVT, ENTER);
|
||||
TraceHelper.beginSection("ON_RESUME");
|
||||
super.onResume();
|
||||
removeRecentTask();
|
||||
start.onstar(System.currentTimeMillis());
|
||||
TraceHelper.partitionSection("ON_RESUME", "superCall");
|
||||
|
||||
@@ -1245,9 +1248,36 @@ public class Launcher extends BaseDraggingActivity implements LauncherExterns,
|
||||
isForeground = true;
|
||||
MyApplication.getInstance().setAppPackageName(BuildConfig.APPLICATION_ID);
|
||||
MyApplication.getInstance().setOnClickTime(System.currentTimeMillis());
|
||||
HTTPInterface.getAppPasswd();
|
||||
start.onstar(System.currentTimeMillis());
|
||||
String always_top_packagename = Settings.System.getString(getContentResolver(), "always_top_packagename");
|
||||
if (!TextUtils.isEmpty(always_top_packagename)) {
|
||||
APKUtils.openPackage(Launcher.this, always_top_packagename);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
||||
private void removeRecentTask() {
|
||||
Handler.getMain().postDelayed(new Runnable() {
|
||||
@Override
|
||||
public void run() {
|
||||
String ApplicationLock = MMKV.defaultMMKV().decodeString("ApplicationLock");
|
||||
Type type = new TypeToken<List<AppPasswdBean>>() {
|
||||
}.getType();
|
||||
Gson gson = new Gson();
|
||||
List<AppPasswdBean> appPasswdBeans = gson.fromJson(ApplicationLock, type);
|
||||
if (appPasswdBeans != null) {
|
||||
for (AppPasswdBean bean : appPasswdBeans) {
|
||||
Log.e(TAG, "removeRecentTask: " + bean.getApp_package());
|
||||
Utils.removeTask(bean.getApp_package());
|
||||
}
|
||||
}
|
||||
}
|
||||
}, 1000);
|
||||
}
|
||||
|
||||
|
||||
private Start start;
|
||||
|
||||
private interface Start {
|
||||
@@ -1323,7 +1353,7 @@ public class Launcher extends BaseDraggingActivity implements LauncherExterns,
|
||||
}
|
||||
|
||||
private void checkAppUpdate(NewestAppUpdateResult result) {
|
||||
int app_version_code = result.getApp_version_code();
|
||||
int app_version_code = result.getVersion_code();
|
||||
String app_package = result.getApp_package();
|
||||
String url = result.getUrl();
|
||||
PackageInfo info = null;
|
||||
@@ -1335,7 +1365,9 @@ public class Launcher extends BaseDraggingActivity implements LauncherExterns,
|
||||
if (info == null || info.versionCode < app_version_code || info.getLongVersionCode() < app_version_code) {
|
||||
Aria.download(this)
|
||||
.load(url)
|
||||
.setFilePath(Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_DOWNLOADS) + "/jgy/" + getFileNamefromURL(url), true)
|
||||
.setExtendField(result.toString())
|
||||
.setFilePath(ContextCompat.getExternalFilesDirs(Launcher.this, Environment.DIRECTORY_DOWNLOADS)[0].getAbsolutePath() + File.separator + getFileNamefromURL(url))
|
||||
.ignoreFilePathOccupy()
|
||||
.create();
|
||||
} else {
|
||||
Log.e(TAG, "checkAppUpdate: " + app_package + " :无需更新");
|
||||
@@ -1360,6 +1392,7 @@ public class Launcher extends BaseDraggingActivity implements LauncherExterns,
|
||||
mLauncherCallbacks.onPause();
|
||||
}
|
||||
isForeground = false;
|
||||
// removeRecentTask();
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -2238,7 +2271,7 @@ public class Launcher extends BaseDraggingActivity implements LauncherExterns,
|
||||
@Override
|
||||
public void onTrimMemory(int level) {
|
||||
super.onTrimMemory(level);
|
||||
if (level >= ComponentCallbacks2.TRIM_MEMORY_UI_HIDDEN) {
|
||||
if (level >= TRIM_MEMORY_UI_HIDDEN) {
|
||||
// The widget preview db can result in holding onto over
|
||||
// 3MB of memory for caching which isn't necessary.
|
||||
SQLiteDatabase.releaseMemory();
|
||||
@@ -14,7 +14,7 @@
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
package com.android.colorfulos;
|
||||
package com.aoleyun.os;
|
||||
|
||||
import android.graphics.drawable.Drawable;
|
||||
import android.util.FloatProperty;
|
||||
@@ -14,10 +14,9 @@
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
package com.android.colorfulos;
|
||||
package com.aoleyun.os;
|
||||
|
||||
import static com.android.colorfulos.InvariantDeviceProfile.CHANGE_FLAG_ICON_PARAMS;
|
||||
import static com.android.colorfulos.util.SecureSettingsObserver.newNotificationSettingsObserver;
|
||||
import static com.aoleyun.os.InvariantDeviceProfile.CHANGE_FLAG_ICON_PARAMS;
|
||||
|
||||
import android.content.ComponentName;
|
||||
import android.content.ContentProviderClient;
|
||||
@@ -27,16 +26,17 @@ import android.content.IntentFilter;
|
||||
import android.os.Handler;
|
||||
import android.util.Log;
|
||||
|
||||
import com.android.colorfulos.compat.LauncherAppsCompat;
|
||||
import com.android.colorfulos.compat.PackageInstallerCompat;
|
||||
import com.android.colorfulos.compat.UserManagerCompat;
|
||||
import com.android.colorfulos.config.FeatureFlags;
|
||||
import com.android.colorfulos.icons.IconCache;
|
||||
import com.android.colorfulos.icons.LauncherIcons;
|
||||
import com.android.colorfulos.notification.NotificationListener;
|
||||
import com.android.colorfulos.util.MainThreadInitializedObject;
|
||||
import com.android.colorfulos.util.Preconditions;
|
||||
import com.android.colorfulos.util.SecureSettingsObserver;
|
||||
import com.aoleyun.os.R;
|
||||
import com.aoleyun.os.compat.LauncherAppsCompat;
|
||||
import com.aoleyun.os.compat.PackageInstallerCompat;
|
||||
import com.aoleyun.os.compat.UserManagerCompat;
|
||||
import com.aoleyun.os.config.FeatureFlags;
|
||||
import com.aoleyun.os.icons.IconCache;
|
||||
import com.aoleyun.os.icons.LauncherIcons;
|
||||
import com.aoleyun.os.notification.NotificationListener;
|
||||
import com.aoleyun.os.util.MainThreadInitializedObject;
|
||||
import com.aoleyun.os.util.Preconditions;
|
||||
import com.aoleyun.os.util.SecureSettingsObserver;
|
||||
|
||||
public class LauncherAppState {
|
||||
|
||||
@@ -115,7 +115,7 @@ public class LauncherAppState {
|
||||
} else {
|
||||
// Register an observer to rebind the notification listener when dots are re-enabled.
|
||||
mNotificationDotsObserver =
|
||||
newNotificationSettingsObserver(mContext, this::onNotificationSettingsChanged);
|
||||
SecureSettingsObserver.newNotificationSettingsObserver(mContext, this::onNotificationSettingsChanged);
|
||||
mNotificationDotsObserver.register();
|
||||
mNotificationDotsObserver.dispatchOnChange();
|
||||
}
|
||||
@@ -14,7 +14,7 @@
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
package com.android.colorfulos;
|
||||
package com.aoleyun.os;
|
||||
|
||||
|
||||
import android.animation.Animator;
|
||||
@@ -24,7 +24,8 @@ import android.graphics.Rect;
|
||||
import android.graphics.drawable.Drawable;
|
||||
import android.view.View;
|
||||
|
||||
import com.android.colorfulos.util.ResourceBasedOverride;
|
||||
import com.aoleyun.os.R;
|
||||
import com.aoleyun.os.util.ResourceBasedOverride;
|
||||
|
||||
/**
|
||||
* Manages the opening and closing app transitions from Launcher.
|
||||
@@ -14,7 +14,7 @@
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
package com.android.colorfulos;
|
||||
package com.aoleyun.os;
|
||||
|
||||
import static android.app.Activity.RESULT_CANCELED;
|
||||
|
||||
@@ -30,9 +30,10 @@ import android.util.SparseArray;
|
||||
import android.view.LayoutInflater;
|
||||
import android.widget.Toast;
|
||||
|
||||
import com.android.colorfulos.config.FeatureFlags;
|
||||
import com.android.colorfulos.widget.DeferredAppWidgetHostView;
|
||||
import com.android.colorfulos.widget.LauncherAppWidgetHostView;
|
||||
import com.aoleyun.os.R;
|
||||
import com.aoleyun.os.config.FeatureFlags;
|
||||
import com.aoleyun.os.widget.DeferredAppWidgetHostView;
|
||||
import com.aoleyun.os.widget.LauncherAppWidgetHostView;
|
||||
|
||||
import java.util.ArrayList;
|
||||
|
||||
@@ -14,15 +14,15 @@
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
package com.android.colorfulos;
|
||||
package com.aoleyun.os;
|
||||
|
||||
import android.appwidget.AppWidgetHostView;
|
||||
import android.content.ComponentName;
|
||||
import android.content.Intent;
|
||||
import android.os.Process;
|
||||
|
||||
import com.android.colorfulos.model.PackageItemInfo;
|
||||
import com.android.colorfulos.util.ContentWriter;
|
||||
import com.aoleyun.os.model.PackageItemInfo;
|
||||
import com.aoleyun.os.util.ContentWriter;
|
||||
|
||||
/**
|
||||
* Represents a widget (either instantiated or about to be) in the Launcher.
|
||||
@@ -1,4 +1,4 @@
|
||||
package com.android.colorfulos;
|
||||
package com.aoleyun.os;
|
||||
|
||||
import android.appwidget.AppWidgetHostView;
|
||||
import android.appwidget.AppWidgetProviderInfo;
|
||||
@@ -10,7 +10,7 @@ import android.graphics.Rect;
|
||||
import android.os.Parcel;
|
||||
import android.os.UserHandle;
|
||||
|
||||
import com.android.colorfulos.icons.ComponentWithLabel;
|
||||
import com.aoleyun.os.icons.ComponentWithLabel;
|
||||
|
||||
/**
|
||||
* This class is a thin wrapper around the framework AppWidgetProviderInfo class. This class affords
|
||||
@@ -1,12 +1,12 @@
|
||||
package com.android.colorfulos;
|
||||
package com.aoleyun.os;
|
||||
|
||||
import android.app.backup.BackupAgent;
|
||||
import android.app.backup.BackupDataInput;
|
||||
import android.app.backup.BackupDataOutput;
|
||||
import android.os.ParcelFileDescriptor;
|
||||
|
||||
import com.android.colorfulos.logging.FileLog;
|
||||
import com.android.colorfulos.provider.RestoreDbTask;
|
||||
import com.aoleyun.os.logging.FileLog;
|
||||
import com.aoleyun.os.provider.RestoreDbTask;
|
||||
|
||||
public class LauncherBackupAgent extends BackupAgent {
|
||||
|
||||
@@ -14,7 +14,7 @@
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
package com.android.colorfulos;
|
||||
package com.aoleyun.os;
|
||||
|
||||
import android.content.Intent;
|
||||
import android.os.Bundle;
|
||||
@@ -14,7 +14,7 @@
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
package com.android.colorfulos;
|
||||
package com.aoleyun.os;
|
||||
|
||||
import android.content.SharedPreferences;
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
package com.android.colorfulos;
|
||||
package com.aoleyun.os;
|
||||
|
||||
import java.util.Arrays;
|
||||
import java.util.Collections;
|
||||
@@ -15,10 +15,10 @@ public class LauncherFiles {
|
||||
private static final String XML = ".xml";
|
||||
|
||||
public static final String LAUNCHER_DB = "launcher.db";
|
||||
public static final String SHARED_PREFERENCES_KEY = "com.android.colorfulos.prefs";
|
||||
public static final String MANAGED_USER_PREFERENCES_KEY = "com.android.colorfulos.managedusers.prefs";
|
||||
public static final String SHARED_PREFERENCES_KEY = "com.aoleyun.os.prefs";
|
||||
public static final String MANAGED_USER_PREFERENCES_KEY = "com.aoleyun.os.managedusers.prefs";
|
||||
// This preference file is not backed up to cloud.
|
||||
public static final String DEVICE_PREFERENCES_KEY = "com.android.colorfulos.device.prefs";
|
||||
public static final String DEVICE_PREFERENCES_KEY = "com.aoleyun.os.device.prefs";
|
||||
|
||||
public static final String WIDGET_PREVIEWS_DB = "widgetpreviews.db";
|
||||
public static final String APP_ICONS_DB = "app_icons.db";
|
||||
@@ -14,10 +14,10 @@
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
package com.android.colorfulos;
|
||||
package com.aoleyun.os;
|
||||
|
||||
import static com.android.colorfulos.LauncherAppState.ACTION_FORCE_ROLOAD;
|
||||
import static com.android.colorfulos.config.FeatureFlags.IS_DOGFOOD_BUILD;
|
||||
import static com.aoleyun.os.LauncherAppState.ACTION_FORCE_ROLOAD;
|
||||
import static com.aoleyun.os.config.FeatureFlags.IS_DOGFOOD_BUILD;
|
||||
|
||||
import android.content.BroadcastReceiver;
|
||||
import android.content.Context;
|
||||
@@ -32,31 +32,31 @@ import android.text.TextUtils;
|
||||
import android.util.Log;
|
||||
import android.util.Pair;
|
||||
|
||||
import com.android.colorfulos.compat.LauncherAppsCompat;
|
||||
import com.android.colorfulos.compat.PackageInstallerCompat.PackageInstallInfo;
|
||||
import com.android.colorfulos.compat.UserManagerCompat;
|
||||
import com.android.colorfulos.icons.IconCache;
|
||||
import com.android.colorfulos.icons.LauncherIcons;
|
||||
import com.android.colorfulos.model.AddWorkspaceItemsTask;
|
||||
import com.android.colorfulos.model.BaseModelUpdateTask;
|
||||
import com.android.colorfulos.model.BgDataModel;
|
||||
import com.android.colorfulos.model.CacheDataUpdatedTask;
|
||||
import com.android.colorfulos.model.LoaderResults;
|
||||
import com.android.colorfulos.model.LoaderTask;
|
||||
import com.android.colorfulos.model.ModelWriter;
|
||||
import com.android.colorfulos.model.PackageInstallStateChangedTask;
|
||||
import com.android.colorfulos.model.PackageUpdatedTask;
|
||||
import com.android.colorfulos.model.ShortcutsChangedTask;
|
||||
import com.android.colorfulos.model.UserLockStateChangedTask;
|
||||
import com.android.colorfulos.shortcuts.DeepShortcutManager;
|
||||
import com.android.colorfulos.util.ComponentKey;
|
||||
import com.android.colorfulos.util.IntArray;
|
||||
import com.android.colorfulos.util.ItemInfoMatcher;
|
||||
import com.android.colorfulos.util.PackageUserKey;
|
||||
import com.android.colorfulos.util.Preconditions;
|
||||
import com.android.colorfulos.util.Thunk;
|
||||
import com.android.colorfulos.util.ViewOnDrawExecutor;
|
||||
import com.android.colorfulos.widget.WidgetListRowEntry;
|
||||
import com.aoleyun.os.compat.LauncherAppsCompat;
|
||||
import com.aoleyun.os.compat.PackageInstallerCompat.PackageInstallInfo;
|
||||
import com.aoleyun.os.compat.UserManagerCompat;
|
||||
import com.aoleyun.os.icons.IconCache;
|
||||
import com.aoleyun.os.icons.LauncherIcons;
|
||||
import com.aoleyun.os.model.AddWorkspaceItemsTask;
|
||||
import com.aoleyun.os.model.BaseModelUpdateTask;
|
||||
import com.aoleyun.os.model.BgDataModel;
|
||||
import com.aoleyun.os.model.CacheDataUpdatedTask;
|
||||
import com.aoleyun.os.model.LoaderResults;
|
||||
import com.aoleyun.os.model.LoaderTask;
|
||||
import com.aoleyun.os.model.ModelWriter;
|
||||
import com.aoleyun.os.model.PackageInstallStateChangedTask;
|
||||
import com.aoleyun.os.model.PackageUpdatedTask;
|
||||
import com.aoleyun.os.model.ShortcutsChangedTask;
|
||||
import com.aoleyun.os.model.UserLockStateChangedTask;
|
||||
import com.aoleyun.os.shortcuts.DeepShortcutManager;
|
||||
import com.aoleyun.os.util.ComponentKey;
|
||||
import com.aoleyun.os.util.IntArray;
|
||||
import com.aoleyun.os.util.ItemInfoMatcher;
|
||||
import com.aoleyun.os.util.PackageUserKey;
|
||||
import com.aoleyun.os.util.Preconditions;
|
||||
import com.aoleyun.os.util.Thunk;
|
||||
import com.aoleyun.os.util.ViewOnDrawExecutor;
|
||||
import com.aoleyun.os.widget.WidgetListRowEntry;
|
||||
|
||||
import java.io.FileDescriptor;
|
||||
import java.io.PrintWriter;
|
||||
@@ -301,7 +301,7 @@ public class LauncherModel extends BroadcastReceiver
|
||||
enqueueModelUpdateTask(new UserLockStateChangedTask(user));
|
||||
}
|
||||
}
|
||||
} else if (IS_DOGFOOD_BUILD && ACTION_FORCE_ROLOAD.equals(action)) {
|
||||
} else if (IS_DOGFOOD_BUILD && LauncherAppState.ACTION_FORCE_ROLOAD.equals(action)) {
|
||||
Launcher l = (Launcher) getCallback();
|
||||
l.reload();
|
||||
}else if (Intent.ACTION_DATE_CHANGED.equals(action) //日历更新
|
||||
@@ -14,10 +14,7 @@
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
package com.android.colorfulos;
|
||||
|
||||
import static com.android.colorfulos.provider.LauncherDbUtils.dropTable;
|
||||
import static com.android.colorfulos.provider.LauncherDbUtils.tableExists;
|
||||
package com.aoleyun.os;
|
||||
|
||||
import android.annotation.TargetApi;
|
||||
import android.app.backup.BackupManager;
|
||||
@@ -55,21 +52,20 @@ import android.text.TextUtils;
|
||||
import android.util.Log;
|
||||
import android.util.Xml;
|
||||
|
||||
import com.android.colorfulos.AutoInstallsLayout.LayoutParserCallback;
|
||||
import com.android.colorfulos.LauncherSettings.Favorites;
|
||||
import com.android.colorfulos.compat.UserManagerCompat;
|
||||
import com.android.colorfulos.config.FeatureFlags;
|
||||
import com.android.colorfulos.logging.FileLog;
|
||||
import com.android.colorfulos.model.DbDowngradeHelper;
|
||||
import com.android.colorfulos.provider.LauncherDbUtils;
|
||||
import com.android.colorfulos.provider.LauncherDbUtils.SQLiteTransaction;
|
||||
import com.android.colorfulos.provider.RestoreDbTask;
|
||||
import com.android.colorfulos.util.IOUtils;
|
||||
import com.android.colorfulos.util.IntArray;
|
||||
import com.android.colorfulos.util.IntSet;
|
||||
import com.android.colorfulos.util.NoLocaleSQLiteHelper;
|
||||
import com.android.colorfulos.util.Preconditions;
|
||||
import com.android.colorfulos.util.Thunk;
|
||||
import com.aoleyun.os.AutoInstallsLayout.LayoutParserCallback;
|
||||
import com.aoleyun.os.LauncherSettings.Favorites;
|
||||
import com.aoleyun.os.compat.UserManagerCompat;
|
||||
import com.aoleyun.os.config.FeatureFlags;
|
||||
import com.aoleyun.os.logging.FileLog;
|
||||
import com.aoleyun.os.model.DbDowngradeHelper;
|
||||
import com.aoleyun.os.provider.LauncherDbUtils;
|
||||
import com.aoleyun.os.provider.RestoreDbTask;
|
||||
import com.aoleyun.os.util.IOUtils;
|
||||
import com.aoleyun.os.util.IntArray;
|
||||
import com.aoleyun.os.util.IntSet;
|
||||
import com.aoleyun.os.util.NoLocaleSQLiteHelper;
|
||||
import com.aoleyun.os.util.Preconditions;
|
||||
import com.aoleyun.os.util.Thunk;
|
||||
|
||||
import org.xmlpull.v1.XmlPullParser;
|
||||
|
||||
@@ -182,8 +178,9 @@ public class LauncherProvider extends ContentProvider {
|
||||
return result;
|
||||
}
|
||||
|
||||
@Thunk static int dbInsertAndCheck(DatabaseHelper helper,
|
||||
SQLiteDatabase db, String table, String nullColumnHack, ContentValues values) {
|
||||
@Thunk
|
||||
static int dbInsertAndCheck(DatabaseHelper helper,
|
||||
SQLiteDatabase db, String table, String nullColumnHack, ContentValues values) {
|
||||
if (values == null) {
|
||||
throw new RuntimeException("Error: attempting to insert null values");
|
||||
}
|
||||
@@ -270,7 +267,7 @@ public class LauncherProvider extends ContentProvider {
|
||||
SqlArguments args = new SqlArguments(uri);
|
||||
|
||||
SQLiteDatabase db = mOpenHelper.getWritableDatabase();
|
||||
try (SQLiteTransaction t = new SQLiteTransaction(db)) {
|
||||
try (LauncherDbUtils.SQLiteTransaction t = new LauncherDbUtils.SQLiteTransaction(db)) {
|
||||
int numValues = values.length;
|
||||
for (int i = 0; i < numValues; i++) {
|
||||
addModifiedTime(values[i]);
|
||||
@@ -292,7 +289,7 @@ public class LauncherProvider extends ContentProvider {
|
||||
public ContentProviderResult[] applyBatch(ArrayList<ContentProviderOperation> operations)
|
||||
throws OperationApplicationException {
|
||||
createDbIfNotExists();
|
||||
try (SQLiteTransaction t = new SQLiteTransaction(mOpenHelper.getWritableDatabase())) {
|
||||
try (LauncherDbUtils.SQLiteTransaction t = new LauncherDbUtils.SQLiteTransaction(mOpenHelper.getWritableDatabase())) {
|
||||
boolean isAddOrDelete = false;
|
||||
|
||||
final int numOperations = operations.size();
|
||||
@@ -397,12 +394,12 @@ public class LauncherProvider extends ContentProvider {
|
||||
case LauncherSettings.Settings.METHOD_NEW_TRANSACTION: {
|
||||
Bundle result = new Bundle();
|
||||
result.putBinder(LauncherSettings.Settings.EXTRA_VALUE,
|
||||
new SQLiteTransaction(mOpenHelper.getWritableDatabase()));
|
||||
new LauncherDbUtils.SQLiteTransaction(mOpenHelper.getWritableDatabase()));
|
||||
return result;
|
||||
}
|
||||
case LauncherSettings.Settings.METHOD_REFRESH_BACKUP_TABLE: {
|
||||
mOpenHelper.mBackupTableExists =
|
||||
tableExists(mOpenHelper.getReadableDatabase(), Favorites.BACKUP_TABLE_NAME);
|
||||
LauncherDbUtils.tableExists(mOpenHelper.getReadableDatabase(), Favorites.BACKUP_TABLE_NAME);
|
||||
return null;
|
||||
}
|
||||
}
|
||||
@@ -415,7 +412,7 @@ public class LauncherProvider extends ContentProvider {
|
||||
*/
|
||||
private IntArray deleteEmptyFolders() {
|
||||
SQLiteDatabase db = mOpenHelper.getWritableDatabase();
|
||||
try (SQLiteTransaction t = new SQLiteTransaction(db)) {
|
||||
try (LauncherDbUtils.SQLiteTransaction t = new LauncherDbUtils.SQLiteTransaction(db)) {
|
||||
// Select folders whose id do not match any container value.
|
||||
String selection = LauncherSettings.Favorites.ITEM_TYPE + " = "
|
||||
+ LauncherSettings.Favorites.ITEM_TYPE_FOLDER + " AND "
|
||||
@@ -575,12 +572,12 @@ public class LauncherProvider extends ContentProvider {
|
||||
// Table creation sometimes fails silently, which leads to a crash loop.
|
||||
// This way, we will try to create a table every time after crash, so the device
|
||||
// would eventually be able to recover.
|
||||
if (!tableExists(getReadableDatabase(), Favorites.TABLE_NAME)) {
|
||||
if (!LauncherDbUtils.tableExists(getReadableDatabase(), Favorites.TABLE_NAME)) {
|
||||
Log.e(TAG, "Tables are missing after onCreate has been called. Trying to recreate");
|
||||
// This operation is a no-op if the table already exists.
|
||||
addFavoritesTable(getWritableDatabase(), true);
|
||||
}
|
||||
mBackupTableExists = tableExists(getReadableDatabase(), Favorites.BACKUP_TABLE_NAME);
|
||||
mBackupTableExists = LauncherDbUtils.tableExists(getReadableDatabase(), Favorites.BACKUP_TABLE_NAME);
|
||||
|
||||
initIds();
|
||||
}
|
||||
@@ -623,7 +620,7 @@ public class LauncherProvider extends ContentProvider {
|
||||
|
||||
protected void onAddOrDeleteOp(SQLiteDatabase db) {
|
||||
if (mBackupTableExists) {
|
||||
dropTable(db, Favorites.BACKUP_TABLE_NAME);
|
||||
LauncherDbUtils.dropTable(db, Favorites.BACKUP_TABLE_NAME);
|
||||
mBackupTableExists = false;
|
||||
}
|
||||
}
|
||||
@@ -693,7 +690,7 @@ public class LauncherProvider extends ContentProvider {
|
||||
case 12:
|
||||
// No-op
|
||||
case 13: {
|
||||
try (SQLiteTransaction t = new SQLiteTransaction(db)) {
|
||||
try (LauncherDbUtils.SQLiteTransaction t = new LauncherDbUtils.SQLiteTransaction(db)) {
|
||||
// Insert new column for holding widget provider name
|
||||
db.execSQL("ALTER TABLE favorites " +
|
||||
"ADD COLUMN appWidgetProvider TEXT;");
|
||||
@@ -774,7 +771,7 @@ public class LauncherProvider extends ContentProvider {
|
||||
Favorites.CONTAINER, Favorites.CONTAINER_DESKTOP);
|
||||
db.execSQL(query);
|
||||
}
|
||||
dropTable(db, "workspaceScreens");
|
||||
LauncherDbUtils.dropTable(db, "workspaceScreens");
|
||||
}
|
||||
case 28:
|
||||
// DB Upgraded successfully
|
||||
@@ -802,9 +799,9 @@ public class LauncherProvider extends ContentProvider {
|
||||
* Clears all the data for a fresh start.
|
||||
*/
|
||||
public void createEmptyDB(SQLiteDatabase db) {
|
||||
try (SQLiteTransaction t = new SQLiteTransaction(db)) {
|
||||
dropTable(db, Favorites.TABLE_NAME);
|
||||
dropTable(db, "workspaceScreens");
|
||||
try (LauncherDbUtils.SQLiteTransaction t = new LauncherDbUtils.SQLiteTransaction(db)) {
|
||||
LauncherDbUtils.dropTable(db, Favorites.TABLE_NAME);
|
||||
LauncherDbUtils.dropTable(db, "workspaceScreens");
|
||||
onCreate(db);
|
||||
t.commit();
|
||||
}
|
||||
@@ -847,7 +844,7 @@ public class LauncherProvider extends ContentProvider {
|
||||
* launcher activity target with {@link Favorites#ITEM_TYPE_APPLICATION}.
|
||||
*/
|
||||
@Thunk void convertShortcutsToLauncherActivities(SQLiteDatabase db) {
|
||||
try (SQLiteTransaction t = new SQLiteTransaction(db);
|
||||
try (LauncherDbUtils.SQLiteTransaction t = new LauncherDbUtils.SQLiteTransaction(db);
|
||||
// Only consider the primary user as other users can't have a shortcut.
|
||||
Cursor c = db.query(Favorites.TABLE_NAME,
|
||||
new String[] { Favorites._ID, Favorites.INTENT},
|
||||
@@ -885,7 +882,7 @@ public class LauncherProvider extends ContentProvider {
|
||||
}
|
||||
|
||||
@Thunk boolean updateFolderItemsRank(SQLiteDatabase db, boolean addRankColumn) {
|
||||
try (SQLiteTransaction t = new SQLiteTransaction(db)) {
|
||||
try (LauncherDbUtils.SQLiteTransaction t = new LauncherDbUtils.SQLiteTransaction(db)) {
|
||||
if (addRankColumn) {
|
||||
// Insert new column for holding rank
|
||||
db.execSQL("ALTER TABLE favorites ADD COLUMN rank INTEGER NOT NULL DEFAULT 0;");
|
||||
@@ -914,7 +911,7 @@ public class LauncherProvider extends ContentProvider {
|
||||
}
|
||||
|
||||
private boolean addIntegerColumn(SQLiteDatabase db, String columnName, long defaultValue) {
|
||||
try (SQLiteTransaction t = new SQLiteTransaction(db)) {
|
||||
try (LauncherDbUtils.SQLiteTransaction t = new LauncherDbUtils.SQLiteTransaction(db)) {
|
||||
db.execSQL("ALTER TABLE favorites ADD COLUMN "
|
||||
+ columnName + " INTEGER NOT NULL DEFAULT " + defaultValue + ";");
|
||||
t.commit();
|
||||
@@ -1,4 +1,4 @@
|
||||
package com.android.colorfulos;
|
||||
package com.aoleyun.os;
|
||||
|
||||
/**
|
||||
* This class is a listener for {@link LauncherProvider} changes. It gets notified in the
|
||||
@@ -1,7 +1,4 @@
|
||||
package com.android.colorfulos;
|
||||
|
||||
import static com.android.colorfulos.util.SystemUiController.FLAG_DARK_NAV;
|
||||
import static com.android.colorfulos.util.SystemUiController.UI_STATE_ROOT_VIEW;
|
||||
package com.aoleyun.os;
|
||||
|
||||
import android.annotation.TargetApi;
|
||||
import android.app.ActivityManager;
|
||||
@@ -16,6 +13,8 @@ import android.view.View;
|
||||
import android.view.ViewDebug;
|
||||
import android.view.WindowInsets;
|
||||
|
||||
import com.aoleyun.os.util.SystemUiController;
|
||||
|
||||
import java.util.Collections;
|
||||
import java.util.List;
|
||||
|
||||
@@ -78,7 +77,7 @@ public class LauncherRootView extends InsettableFrameLayout {
|
||||
}
|
||||
|
||||
mLauncher.getSystemUiController().updateUiState(
|
||||
UI_STATE_ROOT_VIEW, drawInsetBar ? FLAG_DARK_NAV : 0);
|
||||
SystemUiController.UI_STATE_ROOT_VIEW, drawInsetBar ? SystemUiController.FLAG_DARK_NAV : 0);
|
||||
|
||||
// Update device profile before notifying th children.
|
||||
mLauncher.updateInsets(insets);
|
||||
@@ -14,7 +14,7 @@
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
package com.android.colorfulos;
|
||||
package com.aoleyun.os;
|
||||
|
||||
import android.content.ContentResolver;
|
||||
import android.database.sqlite.SQLiteDatabase;
|
||||
@@ -13,40 +13,26 @@
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
package com.android.colorfulos;
|
||||
package com.aoleyun.os;
|
||||
|
||||
import static android.view.View.IMPORTANT_FOR_ACCESSIBILITY_AUTO;
|
||||
import static android.view.View.IMPORTANT_FOR_ACCESSIBILITY_NO_HIDE_DESCENDANTS;
|
||||
import static android.view.View.VISIBLE;
|
||||
import static android.view.accessibility.AccessibilityEvent.TYPE_WINDOW_STATE_CHANGED;
|
||||
|
||||
import static com.android.colorfulos.anim.AnimatorSetBuilder.ANIM_OVERVIEW_FADE;
|
||||
import static com.android.colorfulos.anim.AnimatorSetBuilder.ANIM_OVERVIEW_SCALE;
|
||||
import static com.android.colorfulos.anim.AnimatorSetBuilder.ANIM_OVERVIEW_TRANSLATE_X;
|
||||
import static com.android.colorfulos.anim.AnimatorSetBuilder.ANIM_WORKSPACE_FADE;
|
||||
import static com.android.colorfulos.anim.AnimatorSetBuilder.ANIM_WORKSPACE_SCALE;
|
||||
import static com.android.colorfulos.anim.Interpolators.ACCEL;
|
||||
import static com.android.colorfulos.anim.Interpolators.DEACCEL;
|
||||
import static com.android.colorfulos.anim.Interpolators.DEACCEL_1_7;
|
||||
import static com.android.colorfulos.anim.Interpolators.clampToProgress;
|
||||
import static com.android.colorfulos.testing.TestProtocol.ALL_APPS_STATE_ORDINAL;
|
||||
import static com.android.colorfulos.testing.TestProtocol.BACKGROUND_APP_STATE_ORDINAL;
|
||||
import static com.android.colorfulos.testing.TestProtocol.NORMAL_STATE_ORDINAL;
|
||||
import static com.android.colorfulos.testing.TestProtocol.OVERVIEW_PEEK_STATE_ORDINAL;
|
||||
import static com.android.colorfulos.testing.TestProtocol.OVERVIEW_STATE_ORDINAL;
|
||||
import static com.android.colorfulos.testing.TestProtocol.QUICK_SWITCH_STATE_ORDINAL;
|
||||
import static com.android.colorfulos.testing.TestProtocol.SPRING_LOADED_STATE_ORDINAL;
|
||||
import static com.android.colorfulos.anim.Interpolators.ACCEL_2;
|
||||
import static com.android.colorfulos.states.RotationHelper.REQUEST_NONE;
|
||||
|
||||
import android.view.animation.Interpolator;
|
||||
|
||||
import com.android.colorfulos.anim.AnimatorSetBuilder;
|
||||
import com.android.colorfulos.states.SpringLoadedState;
|
||||
import com.android.colorfulos.uioverrides.UiFactory;
|
||||
import com.android.colorfulos.uioverrides.states.AllAppsState;
|
||||
import com.android.colorfulos.uioverrides.states.OverviewState;
|
||||
import com.android.colorfulos.userevent.nano.LauncherLogProto.ContainerType;
|
||||
import com.aoleyun.os.anim.AnimatorSetBuilder;
|
||||
import com.aoleyun.os.states.SpringLoadedState;
|
||||
import com.aoleyun.os.uioverrides.UiFactory;
|
||||
import com.aoleyun.os.uioverrides.states.AllAppsState;
|
||||
import com.aoleyun.os.uioverrides.states.OverviewState;
|
||||
import com.aoleyun.os.userevent.nano.LauncherLogProto.ContainerType;
|
||||
import com.aoleyun.os.allapps.AllAppsTransitionController;
|
||||
import com.aoleyun.os.anim.Interpolators;
|
||||
import com.aoleyun.os.logging.UserEventDispatcher;
|
||||
import com.aoleyun.os.states.RotationHelper;
|
||||
import com.aoleyun.os.testing.TestProtocol;
|
||||
|
||||
import java.util.Arrays;
|
||||
|
||||
@@ -82,7 +68,7 @@ public class LauncherState {
|
||||
protected static final int FLAG_HAS_SYS_UI_SCRIM = 1 << 9;
|
||||
|
||||
protected static final PageAlphaProvider DEFAULT_ALPHA_PROVIDER =
|
||||
new PageAlphaProvider(ACCEL_2) {
|
||||
new PageAlphaProvider(Interpolators.ACCEL_2) {
|
||||
@Override
|
||||
public float getPageAlpha(int pageIndex) {
|
||||
return 1;
|
||||
@@ -94,7 +80,7 @@ public class LauncherState {
|
||||
/**
|
||||
* TODO: Create a separate class for NORMAL state.
|
||||
*/
|
||||
public static final LauncherState NORMAL = new LauncherState(NORMAL_STATE_ORDINAL,
|
||||
public static final LauncherState NORMAL = new LauncherState(TestProtocol.NORMAL_STATE_ORDINAL,
|
||||
ContainerType.WORKSPACE, 0,
|
||||
FLAG_DISABLE_RESTORE | FLAG_WORKSPACE_ICONS_CAN_BE_DRAGGED | FLAG_HIDE_BACK_BUTTON |
|
||||
FLAG_HAS_SYS_UI_SCRIM);
|
||||
@@ -103,21 +89,21 @@ public class LauncherState {
|
||||
* Various Launcher states arranged in the increasing order of UI layers
|
||||
*/
|
||||
public static final LauncherState SPRING_LOADED = new SpringLoadedState(
|
||||
SPRING_LOADED_STATE_ORDINAL);
|
||||
public static final LauncherState ALL_APPS = new AllAppsState(ALL_APPS_STATE_ORDINAL);
|
||||
TestProtocol.SPRING_LOADED_STATE_ORDINAL);
|
||||
public static final LauncherState ALL_APPS = new AllAppsState(TestProtocol.ALL_APPS_STATE_ORDINAL);
|
||||
|
||||
public static final LauncherState OVERVIEW = new OverviewState(OVERVIEW_STATE_ORDINAL);
|
||||
public static final LauncherState OVERVIEW = new OverviewState(TestProtocol.OVERVIEW_STATE_ORDINAL);
|
||||
public static final LauncherState OVERVIEW_PEEK =
|
||||
OverviewState.newPeekState(OVERVIEW_PEEK_STATE_ORDINAL);
|
||||
OverviewState.newPeekState(TestProtocol.OVERVIEW_PEEK_STATE_ORDINAL);
|
||||
public static final LauncherState QUICK_SWITCH =
|
||||
OverviewState.newSwitchState(QUICK_SWITCH_STATE_ORDINAL);
|
||||
OverviewState.newSwitchState(TestProtocol.QUICK_SWITCH_STATE_ORDINAL);
|
||||
public static final LauncherState BACKGROUND_APP =
|
||||
OverviewState.newBackgroundState(BACKGROUND_APP_STATE_ORDINAL);
|
||||
OverviewState.newBackgroundState(TestProtocol.BACKGROUND_APP_STATE_ORDINAL);
|
||||
|
||||
public final int ordinal;
|
||||
|
||||
/**
|
||||
* Used for containerType in {@link com.android.colorfulos.logging.UserEventDispatcher}
|
||||
* Used for containerType in {@link UserEventDispatcher}
|
||||
*/
|
||||
public final int containerType;
|
||||
|
||||
@@ -233,7 +219,7 @@ public class LauncherState {
|
||||
/**
|
||||
* Fraction shift in the vertical translation UI and related properties
|
||||
*
|
||||
* @see com.android.colorfulos.allapps.AllAppsTransitionController
|
||||
* @see AllAppsTransitionController
|
||||
*/
|
||||
public float getVerticalProgress(Launcher launcher) {
|
||||
return 1f;
|
||||
@@ -252,7 +238,7 @@ public class LauncherState {
|
||||
return DEFAULT_ALPHA_PROVIDER;
|
||||
}
|
||||
final int centerPage = launcher.getWorkspace().getNextPage();
|
||||
return new PageAlphaProvider(ACCEL_2) {
|
||||
return new PageAlphaProvider(Interpolators.ACCEL_2) {
|
||||
@Override
|
||||
public float getPageAlpha(int pageIndex) {
|
||||
return pageIndex != centerPage ? 0 : 1f;
|
||||
@@ -271,7 +257,7 @@ public class LauncherState {
|
||||
public void onStateTransitionEnd(Launcher launcher) {
|
||||
if (this == NORMAL) {
|
||||
// Clear any rotation locks when going to normal state
|
||||
launcher.getRotationHelper().setCurrentStateRequest(REQUEST_NONE);
|
||||
launcher.getRotationHelper().setCurrentStateRequest(RotationHelper.REQUEST_NONE);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -292,11 +278,11 @@ public class LauncherState {
|
||||
public void prepareForAtomicAnimation(Launcher launcher, LauncherState fromState,
|
||||
AnimatorSetBuilder builder) {
|
||||
if (this == NORMAL && fromState == OVERVIEW) {
|
||||
builder.setInterpolator(ANIM_WORKSPACE_SCALE, DEACCEL);
|
||||
builder.setInterpolator(ANIM_WORKSPACE_FADE, ACCEL);
|
||||
builder.setInterpolator(ANIM_OVERVIEW_SCALE, clampToProgress(ACCEL, 0, 0.9f));
|
||||
builder.setInterpolator(ANIM_OVERVIEW_TRANSLATE_X, ACCEL);
|
||||
builder.setInterpolator(ANIM_OVERVIEW_FADE, DEACCEL_1_7);
|
||||
builder.setInterpolator(AnimatorSetBuilder.ANIM_WORKSPACE_SCALE, Interpolators.DEACCEL);
|
||||
builder.setInterpolator(AnimatorSetBuilder.ANIM_WORKSPACE_FADE, Interpolators.ACCEL);
|
||||
builder.setInterpolator(AnimatorSetBuilder.ANIM_OVERVIEW_SCALE, Interpolators.clampToProgress(Interpolators.ACCEL, 0, 0.9f));
|
||||
builder.setInterpolator(AnimatorSetBuilder.ANIM_OVERVIEW_TRANSLATE_X, Interpolators.ACCEL);
|
||||
builder.setInterpolator(AnimatorSetBuilder.ANIM_OVERVIEW_FADE, Interpolators.DEACCEL_1_7);
|
||||
Workspace workspace = launcher.getWorkspace();
|
||||
|
||||
// Start from a higher workspace scale, but only if we're invisible so we don't jump.
|
||||
@@ -319,7 +305,7 @@ public class LauncherState {
|
||||
}
|
||||
} else if (this == NORMAL && fromState == OVERVIEW_PEEK) {
|
||||
// Keep fully visible until the very end (when overview is offscreen) to make invisible.
|
||||
builder.setInterpolator(ANIM_OVERVIEW_FADE, t -> t < 1 ? 0 : 1);
|
||||
builder.setInterpolator(AnimatorSetBuilder.ANIM_OVERVIEW_FADE, t -> t < 1 ? 0 : 1);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -14,10 +14,7 @@
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
package com.android.colorfulos;
|
||||
|
||||
import static com.android.colorfulos.LauncherState.NORMAL;
|
||||
import static com.android.colorfulos.anim.PropertySetter.NO_ANIM_PROPERTY_SETTER;
|
||||
package com.aoleyun.os;
|
||||
|
||||
import android.animation.Animator;
|
||||
import android.animation.AnimatorListenerAdapter;
|
||||
@@ -26,14 +23,13 @@ import android.os.Handler;
|
||||
import android.os.Looper;
|
||||
import android.util.Log;
|
||||
|
||||
import com.android.colorfulos.anim.AnimationSuccessListener;
|
||||
import com.android.colorfulos.anim.AnimatorPlaybackController;
|
||||
import com.android.colorfulos.anim.AnimatorSetBuilder;
|
||||
import com.android.colorfulos.anim.PropertySetter;
|
||||
import com.android.colorfulos.anim.PropertySetter.AnimatedPropertySetter;
|
||||
import com.android.colorfulos.compat.AccessibilityManagerCompat;
|
||||
import com.android.colorfulos.testing.TestProtocol;
|
||||
import com.android.colorfulos.uioverrides.UiFactory;
|
||||
import com.aoleyun.os.anim.AnimationSuccessListener;
|
||||
import com.aoleyun.os.anim.AnimatorPlaybackController;
|
||||
import com.aoleyun.os.anim.AnimatorSetBuilder;
|
||||
import com.aoleyun.os.anim.PropertySetter;
|
||||
import com.aoleyun.os.compat.AccessibilityManagerCompat;
|
||||
import com.aoleyun.os.testing.TestProtocol;
|
||||
import com.aoleyun.os.uioverrides.UiFactory;
|
||||
|
||||
import java.io.PrintWriter;
|
||||
import java.lang.annotation.Retention;
|
||||
@@ -115,10 +111,10 @@ public class LauncherStateManager {
|
||||
private Animator[] mStateElementAnimators;
|
||||
|
||||
private StateHandler[] mStateHandlers;
|
||||
private LauncherState mState = NORMAL;
|
||||
private LauncherState mState = LauncherState.NORMAL;
|
||||
|
||||
private LauncherState mLastStableState = NORMAL;
|
||||
private LauncherState mCurrentStableState = NORMAL;
|
||||
private LauncherState mLastStableState = LauncherState.NORMAL;
|
||||
private LauncherState mCurrentStableState = LauncherState.NORMAL;
|
||||
|
||||
private LauncherState mRestState;
|
||||
|
||||
@@ -287,7 +283,7 @@ public class LauncherStateManager {
|
||||
Runnable onCompleteRunnable) {
|
||||
// Since state NORMAL can be reached from multiple states, just assume that the
|
||||
// transition plays in reverse and use the same duration as previous state.
|
||||
mConfig.duration = state == NORMAL ? fromState.transitionDuration : state.transitionDuration;
|
||||
mConfig.duration = state == LauncherState.NORMAL ? fromState.transitionDuration : state.transitionDuration;
|
||||
|
||||
AnimatorSetBuilder builder = new AnimatorSetBuilder();
|
||||
prepareForAtomicAnimation(fromState, state, builder);
|
||||
@@ -441,7 +437,7 @@ public class LauncherStateManager {
|
||||
mLauncher.getWorkspace().setClipChildren(!state.disablePageClipping);
|
||||
mLauncher.finishAutoCancelActionMode();
|
||||
|
||||
if (state == NORMAL) {
|
||||
if (state == LauncherState.NORMAL) {
|
||||
setRestState(null);
|
||||
}
|
||||
|
||||
@@ -470,12 +466,12 @@ public class LauncherStateManager {
|
||||
if (mState.disableRestore) {
|
||||
goToState(getRestState());
|
||||
// Reset history
|
||||
mLastStableState = NORMAL;
|
||||
mLastStableState = LauncherState.NORMAL;
|
||||
}
|
||||
}
|
||||
|
||||
public LauncherState getRestState() {
|
||||
return mRestState == null ? NORMAL : mRestState;
|
||||
return mRestState == null ? LauncherState.NORMAL : mRestState;
|
||||
}
|
||||
|
||||
public void setRestState(LauncherState restState) {
|
||||
@@ -633,8 +629,8 @@ public class LauncherStateManager {
|
||||
|
||||
public PropertySetter getPropertySetter(AnimatorSetBuilder builder) {
|
||||
if (mPropertySetter == null) {
|
||||
mPropertySetter = duration == 0 ? NO_ANIM_PROPERTY_SETTER
|
||||
: new AnimatedPropertySetter(duration, builder);
|
||||
mPropertySetter = duration == 0 ? PropertySetter.NO_ANIM_PROPERTY_SETTER
|
||||
: new PropertySetter.AnimatedPropertySetter(duration, builder);
|
||||
}
|
||||
return mPropertySetter;
|
||||
}
|
||||
@@ -1,4 +1,4 @@
|
||||
package com.android.colorfulos;
|
||||
package com.aoleyun.os;
|
||||
|
||||
import android.animation.TimeInterpolator;
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
package com.android.colorfulos;
|
||||
package com.aoleyun.os;
|
||||
|
||||
import android.animation.TimeInterpolator;
|
||||
|
||||
@@ -14,14 +14,15 @@
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
package com.android.colorfulos;
|
||||
package com.aoleyun.os;
|
||||
|
||||
import android.content.Context;
|
||||
|
||||
import com.android.colorfulos.config.FeatureFlags;
|
||||
import com.android.colorfulos.graphics.IconShape;
|
||||
import com.android.colorfulos.logging.FileLog;
|
||||
import com.android.colorfulos.util.ResourceBasedOverride;
|
||||
import com.aoleyun.os.R;
|
||||
import com.aoleyun.os.config.FeatureFlags;
|
||||
import com.aoleyun.os.graphics.IconShape;
|
||||
import com.aoleyun.os.logging.FileLog;
|
||||
import com.aoleyun.os.util.ResourceBasedOverride;
|
||||
|
||||
/**
|
||||
* Utility class to handle one time initializations of the main process
|
||||
@@ -14,11 +14,11 @@
|
||||
* limitations under the License
|
||||
*/
|
||||
|
||||
package com.android.colorfulos;
|
||||
package com.aoleyun.os;
|
||||
|
||||
import android.os.Looper;
|
||||
|
||||
import com.android.colorfulos.util.LooperExecutor;
|
||||
import com.aoleyun.os.util.LooperExecutor;
|
||||
|
||||
/**
|
||||
* An executor service that executes its tasks on the main thread.
|
||||
@@ -1,4 +1,4 @@
|
||||
package com.android.colorfulos;
|
||||
package com.aoleyun.os;
|
||||
|
||||
public interface OnAlarmListener {
|
||||
public void onAlarm(Alarm alarm);
|
||||
@@ -14,13 +14,13 @@
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
package com.android.colorfulos;
|
||||
package com.aoleyun.os;
|
||||
|
||||
import static com.android.colorfulos.Utilities.shouldDisableGestures;
|
||||
import static com.android.colorfulos.compat.AccessibilityManagerCompat.isAccessibilityEnabled;
|
||||
import static com.android.colorfulos.compat.AccessibilityManagerCompat.isObservedEventType;
|
||||
import static com.android.colorfulos.config.FeatureFlags.QUICKSTEP_SPRINGS;
|
||||
import static com.android.colorfulos.touch.OverScroll.OVERSCROLL_DAMP_FACTOR;
|
||||
import static com.aoleyun.os.Utilities.shouldDisableGestures;
|
||||
import static com.aoleyun.os.compat.AccessibilityManagerCompat.isAccessibilityEnabled;
|
||||
import static com.aoleyun.os.compat.AccessibilityManagerCompat.isObservedEventType;
|
||||
import static com.aoleyun.os.config.FeatureFlags.QUICKSTEP_SPRINGS;
|
||||
import static com.aoleyun.os.touch.OverScroll.OVERSCROLL_DAMP_FACTOR;
|
||||
|
||||
import android.animation.LayoutTransition;
|
||||
import android.animation.TimeInterpolator;
|
||||
@@ -47,12 +47,13 @@ import android.view.accessibility.AccessibilityNodeInfo;
|
||||
import android.view.animation.Interpolator;
|
||||
import android.widget.ScrollView;
|
||||
|
||||
import com.android.colorfulos.anim.Interpolators;
|
||||
import com.android.colorfulos.config.FeatureFlags;
|
||||
import com.android.colorfulos.pageindicators.PageIndicator;
|
||||
import com.android.colorfulos.touch.OverScroll;
|
||||
import com.android.colorfulos.util.OverScroller;
|
||||
import com.android.colorfulos.util.Thunk;
|
||||
import com.aoleyun.os.R;
|
||||
import com.aoleyun.os.anim.Interpolators;
|
||||
import com.aoleyun.os.config.FeatureFlags;
|
||||
import com.aoleyun.os.pageindicators.PageIndicator;
|
||||
import com.aoleyun.os.touch.OverScroll;
|
||||
import com.aoleyun.os.util.OverScroller;
|
||||
import com.aoleyun.os.util.Thunk;
|
||||
|
||||
import java.util.ArrayList;
|
||||
|
||||
@@ -14,7 +14,7 @@
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
package com.android.colorfulos;
|
||||
package com.aoleyun.os;
|
||||
|
||||
import android.content.pm.PackageManager;
|
||||
import android.content.res.Resources;
|
||||
@@ -35,7 +35,7 @@ public class Partner {
|
||||
|
||||
/** Marker action used to discover partner */
|
||||
private static final String
|
||||
ACTION_PARTNER_CUSTOMIZATION = "com.android.colorfulos.action.PARTNER_CUSTOMIZATION";
|
||||
ACTION_PARTNER_CUSTOMIZATION = "com.aoleyun.os.action.PARTNER_CUSTOMIZATION";
|
||||
|
||||
public static final String RES_FOLDER = "partner_folder";
|
||||
public static final String RES_WALLPAPERS = "partner_wallpapers";
|
||||
@@ -14,7 +14,7 @@
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
package com.android.colorfulos;
|
||||
package com.aoleyun.os;
|
||||
|
||||
import android.content.ComponentName;
|
||||
|
||||
@@ -14,13 +14,13 @@
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
package com.android.colorfulos;
|
||||
package com.aoleyun.os;
|
||||
|
||||
import android.content.Context;
|
||||
import android.content.Intent;
|
||||
|
||||
import com.android.colorfulos.compat.PackageInstallerCompat;
|
||||
import com.android.colorfulos.util.PackageManagerHelper;
|
||||
import com.aoleyun.os.compat.PackageInstallerCompat;
|
||||
import com.aoleyun.os.util.PackageManagerHelper;
|
||||
|
||||
import androidx.annotation.NonNull;
|
||||
|
||||
@@ -14,7 +14,7 @@
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
package com.android.colorfulos;
|
||||
package com.aoleyun.os;
|
||||
|
||||
import android.content.res.Resources;
|
||||
import android.util.DisplayMetrics;
|
||||
@@ -1,12 +1,7 @@
|
||||
package com.android.colorfulos;
|
||||
package com.aoleyun.os;
|
||||
|
||||
import static android.appwidget.AppWidgetManager.INVALID_APPWIDGET_ID;
|
||||
import static android.appwidget.AppWidgetProviderInfo.WIDGET_FEATURE_RECONFIGURABLE;
|
||||
import static com.android.colorfulos.ItemInfoWithIcon.FLAG_SYSTEM_MASK;
|
||||
import static com.android.colorfulos.ItemInfoWithIcon.FLAG_SYSTEM_NO;
|
||||
import static com.android.colorfulos.LauncherSettings.Favorites.CONTAINER_DESKTOP;
|
||||
import static com.android.colorfulos.accessibility.LauncherAccessibilityDelegate.RECONFIGURE;
|
||||
import static com.android.colorfulos.accessibility.LauncherAccessibilityDelegate.UNINSTALL;
|
||||
|
||||
import android.appwidget.AppWidgetHostView;
|
||||
import android.appwidget.AppWidgetProviderInfo;
|
||||
@@ -26,13 +21,14 @@ import android.util.Log;
|
||||
import android.view.View;
|
||||
import android.widget.Toast;
|
||||
|
||||
import com.android.colorfulos.Launcher.OnResumeCallback;
|
||||
import com.android.colorfulos.compat.LauncherAppsCompat;
|
||||
import com.android.colorfulos.dragndrop.DragOptions;
|
||||
import com.android.colorfulos.logging.LoggerUtils;
|
||||
import com.android.colorfulos.userevent.nano.LauncherLogProto.ControlType;
|
||||
import com.android.colorfulos.userevent.nano.LauncherLogProto.Target;
|
||||
import com.android.colorfulos.util.Themes;
|
||||
import com.aoleyun.os.R;
|
||||
import com.aoleyun.os.compat.LauncherAppsCompat;
|
||||
import com.aoleyun.os.dragndrop.DragOptions;
|
||||
import com.aoleyun.os.logging.LoggerUtils;
|
||||
import com.aoleyun.os.userevent.nano.LauncherLogProto.ControlType;
|
||||
import com.aoleyun.os.userevent.nano.LauncherLogProto.Target;
|
||||
import com.aoleyun.os.util.Themes;
|
||||
import com.aoleyun.os.accessibility.LauncherAccessibilityDelegate;
|
||||
|
||||
import java.net.URISyntaxException;
|
||||
|
||||
@@ -65,7 +61,7 @@ public class SecondaryDropTarget extends ButtonDropTarget implements OnAlarmList
|
||||
@Override
|
||||
protected void onFinishInflate() {
|
||||
super.onFinishInflate();
|
||||
setupUi(UNINSTALL);
|
||||
setupUi(LauncherAccessibilityDelegate.UNINSTALL);
|
||||
}
|
||||
|
||||
protected void setupUi(int action) {
|
||||
@@ -74,7 +70,7 @@ public class SecondaryDropTarget extends ButtonDropTarget implements OnAlarmList
|
||||
}
|
||||
mCurrentAccessibilityAction = action;
|
||||
|
||||
if (action == UNINSTALL) {
|
||||
if (action == LauncherAccessibilityDelegate.UNINSTALL) {
|
||||
mHoverColor = getResources().getColor(R.color.uninstall_target_hover_tint);
|
||||
setDrawable(R.drawable.ic_uninstall);
|
||||
updateText(R.string.uninstall_drop_target_label);
|
||||
@@ -98,7 +94,7 @@ public class SecondaryDropTarget extends ButtonDropTarget implements OnAlarmList
|
||||
@Override
|
||||
public Target getDropTargetForLogging() {
|
||||
Target t = LoggerUtils.newTarget(Target.Type.CONTROL);
|
||||
t.controlType = mCurrentAccessibilityAction == UNINSTALL ? ControlType.UNINSTALL_TARGET
|
||||
t.controlType = mCurrentAccessibilityAction == LauncherAccessibilityDelegate.UNINSTALL ? ControlType.UNINSTALL_TARGET
|
||||
: ControlType.SETTINGS_BUTTON;
|
||||
return t;
|
||||
}
|
||||
@@ -112,13 +108,13 @@ public class SecondaryDropTarget extends ButtonDropTarget implements OnAlarmList
|
||||
public boolean supportsAccessibilityDrop(ItemInfo info, View view) {
|
||||
if (view instanceof AppWidgetHostView) {
|
||||
if (getReconfigurableWidgetId(view) != INVALID_APPWIDGET_ID) {
|
||||
setupUi(RECONFIGURE);
|
||||
setupUi(LauncherAccessibilityDelegate.RECONFIGURE);
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
setupUi(UNINSTALL);
|
||||
setupUi(LauncherAccessibilityDelegate.UNINSTALL);
|
||||
Boolean uninstallDisabled = mUninstallDisabledCache.get(info.user);
|
||||
if (uninstallDisabled == null) {
|
||||
UserManager userManager =
|
||||
@@ -136,8 +132,8 @@ public class SecondaryDropTarget extends ButtonDropTarget implements OnAlarmList
|
||||
|
||||
if (info instanceof ItemInfoWithIcon) {
|
||||
ItemInfoWithIcon iconInfo = (ItemInfoWithIcon) info;
|
||||
if ((iconInfo.runtimeStatusFlags & FLAG_SYSTEM_MASK) != 0) {
|
||||
return (iconInfo.runtimeStatusFlags & FLAG_SYSTEM_NO) != 0;
|
||||
if ((iconInfo.runtimeStatusFlags & ItemInfoWithIcon.FLAG_SYSTEM_MASK) != 0) {
|
||||
return (iconInfo.runtimeStatusFlags & ItemInfoWithIcon.FLAG_SYSTEM_NO) != 0;
|
||||
}
|
||||
}
|
||||
return getUninstallTarget(info) != null;
|
||||
@@ -187,7 +183,7 @@ public class SecondaryDropTarget extends ButtonDropTarget implements OnAlarmList
|
||||
}
|
||||
|
||||
private View getViewUnderDrag(ItemInfo info) {
|
||||
if (info instanceof LauncherAppWidgetInfo && info.container == CONTAINER_DESKTOP &&
|
||||
if (info instanceof LauncherAppWidgetInfo && info.container == LauncherSettings.Favorites.CONTAINER_DESKTOP &&
|
||||
mLauncher.getWorkspace().getDragInfo() != null) {
|
||||
return mLauncher.getWorkspace().getDragInfo().cell;
|
||||
}
|
||||
@@ -219,7 +215,7 @@ public class SecondaryDropTarget extends ButtonDropTarget implements OnAlarmList
|
||||
* the action was not performed.
|
||||
*/
|
||||
protected ComponentName performDropAction(View view, ItemInfo info) {
|
||||
if (mCurrentAccessibilityAction == RECONFIGURE) {
|
||||
if (mCurrentAccessibilityAction == LauncherAccessibilityDelegate.RECONFIGURE) {
|
||||
int widgetId = getReconfigurableWidgetId(view);
|
||||
if (widgetId != INVALID_APPWIDGET_ID) {
|
||||
mLauncher.getAppWidgetHost().startConfigActivity(mLauncher, widgetId, -1);
|
||||
@@ -256,7 +252,7 @@ public class SecondaryDropTarget extends ButtonDropTarget implements OnAlarmList
|
||||
* A wrapper around {@link DragSource} which delays the {@link #onDropCompleted} action until
|
||||
* {@link #onLauncherResume}
|
||||
*/
|
||||
private class DeferredOnComplete implements DragSource, OnResumeCallback {
|
||||
private class DeferredOnComplete implements DragSource, Launcher.OnResumeCallback {
|
||||
|
||||
private final DragSource mOriginal;
|
||||
private final Context mContext;
|
||||
@@ -14,7 +14,7 @@
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
package com.android.colorfulos;
|
||||
package com.aoleyun.os;
|
||||
|
||||
import android.annotation.TargetApi;
|
||||
import android.content.BroadcastReceiver;
|
||||
@@ -35,7 +35,7 @@ import android.provider.Settings;
|
||||
import android.text.TextUtils;
|
||||
import android.util.Log;
|
||||
|
||||
import com.android.colorfulos.compat.LauncherAppsCompat;
|
||||
import com.aoleyun.os.compat.LauncherAppsCompat;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
@@ -14,7 +14,7 @@
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
package com.android.colorfulos;
|
||||
package com.aoleyun.os;
|
||||
|
||||
import static android.view.MotionEvent.ACTION_DOWN;
|
||||
|
||||
@@ -25,9 +25,9 @@ import android.view.MotionEvent;
|
||||
import android.view.View;
|
||||
import android.view.ViewGroup;
|
||||
|
||||
import com.android.colorfulos.CellLayout.ContainerType;
|
||||
import com.android.colorfulos.views.ActivityContext;
|
||||
import com.android.colorfulos.widget.LauncherAppWidgetHostView;
|
||||
import com.aoleyun.os.CellLayout.ContainerType;
|
||||
import com.aoleyun.os.views.ActivityContext;
|
||||
import com.aoleyun.os.widget.LauncherAppWidgetHostView;
|
||||
|
||||
public class ShortcutAndWidgetContainer extends ViewGroup {
|
||||
static final String TAG = "ShortcutAndWidgetContainer";
|
||||
@@ -1,9 +1,9 @@
|
||||
package com.android.colorfulos;
|
||||
package com.aoleyun.os;
|
||||
|
||||
import android.view.MotionEvent;
|
||||
import android.view.View;
|
||||
|
||||
import com.android.colorfulos.StylusEventHelper.StylusButtonListener;
|
||||
import com.aoleyun.os.StylusEventHelper.StylusButtonListener;
|
||||
|
||||
/**
|
||||
* Simple listener that performs a long click on the view after a stylus button press.
|
||||
@@ -1,4 +1,4 @@
|
||||
package com.android.colorfulos.Statistics;
|
||||
package com.aoleyun.os.Statistics;
|
||||
|
||||
import android.app.usage.UsageStats;
|
||||
import android.content.Context;
|
||||
@@ -1,4 +1,4 @@
|
||||
package com.android.colorfulos.Statistics;
|
||||
package com.aoleyun.os.Statistics;
|
||||
|
||||
import android.annotation.TargetApi;
|
||||
import android.app.usage.UsageEvents;
|
||||
@@ -14,7 +14,7 @@ import java.util.Calendar;
|
||||
import java.util.HashMap;
|
||||
import java.util.List;
|
||||
|
||||
import static com.android.colorfulos.Statistics.AppInformation.bootTime;
|
||||
import static com.aoleyun.os.Statistics.AppInformation.bootTime;
|
||||
|
||||
|
||||
public class StatisticsInfo {
|
||||
@@ -1,4 +1,4 @@
|
||||
package com.android.colorfulos;
|
||||
package com.aoleyun.os;
|
||||
|
||||
import android.view.MotionEvent;
|
||||
import android.view.View;
|
||||
@@ -1,20 +1,22 @@
|
||||
package com.android.colorfulos.TTUtils;
|
||||
package com.aoleyun.os.TTUtils;
|
||||
|
||||
import android.app.PendingIntent;
|
||||
import android.content.ComponentName;
|
||||
import android.content.Context;
|
||||
import android.content.Intent;
|
||||
import android.content.pm.ApplicationInfo;
|
||||
import android.content.pm.PackageInfo;
|
||||
import android.content.pm.PackageInstaller;
|
||||
import android.content.pm.PackageManager;
|
||||
import android.content.pm.ResolveInfo;
|
||||
import android.os.Build;
|
||||
import android.text.TextUtils;
|
||||
import android.util.Log;
|
||||
|
||||
import androidx.annotation.RequiresApi;
|
||||
|
||||
import com.android.colorfulos.BuildConfig;
|
||||
import com.android.colorfulos.receiver.InstallResultReceiver;
|
||||
import com.aoleyun.os.BuildConfig;
|
||||
import com.aoleyun.os.receiver.InstallResultReceiver;
|
||||
|
||||
import java.io.BufferedReader;
|
||||
import java.io.File;
|
||||
@@ -22,8 +24,61 @@ import java.io.FileInputStream;
|
||||
import java.io.IOException;
|
||||
import java.io.InputStreamReader;
|
||||
import java.io.OutputStream;
|
||||
import java.util.List;
|
||||
|
||||
public class APKUtils {
|
||||
public static boolean openPackage(Context context, String packageName) {
|
||||
Context pkgContext = getPackageContext(context, packageName);
|
||||
Intent intent = getAppOpenIntentByPackageName(context, packageName);
|
||||
if (pkgContext != null && intent != null) {
|
||||
pkgContext.startActivity(intent);
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
public static Context getPackageContext(Context context, String packageName) {
|
||||
Context pkgContext = null;
|
||||
if (context.getPackageName().equals(packageName)) {
|
||||
pkgContext = context;
|
||||
} else {
|
||||
// 创建第三方应用的上下文环境
|
||||
try {
|
||||
pkgContext = context.createPackageContext(packageName,
|
||||
Context.CONTEXT_IGNORE_SECURITY
|
||||
| Context.CONTEXT_INCLUDE_CODE);
|
||||
} catch (PackageManager.NameNotFoundException e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
}
|
||||
return pkgContext;
|
||||
}
|
||||
|
||||
public static Intent getAppOpenIntentByPackageName(Context context, String packageName) {
|
||||
//Activity完整名
|
||||
String mainAct = null;
|
||||
//根据包名寻找
|
||||
PackageManager pkgMag = context.getPackageManager();
|
||||
Intent intent = new Intent(Intent.ACTION_MAIN);
|
||||
intent.addCategory(Intent.CATEGORY_LAUNCHER);
|
||||
intent.setFlags(Intent.FLAG_ACTIVITY_RESET_TASK_IF_NEEDED | Intent.FLAG_ACTIVITY_NEW_TASK);
|
||||
|
||||
List<ResolveInfo> list = pkgMag.queryIntentActivities(intent,
|
||||
PackageManager.GET_ACTIVITIES);
|
||||
for (int i = 0; i < list.size(); i++) {
|
||||
ResolveInfo info = list.get(i);
|
||||
if (info.activityInfo.packageName.equals(packageName)) {
|
||||
mainAct = info.activityInfo.name;
|
||||
break;
|
||||
}
|
||||
}
|
||||
if (TextUtils.isEmpty(mainAct)) {
|
||||
return null;
|
||||
}
|
||||
intent.setComponent(new ComponentName(packageName, mainAct));
|
||||
return intent;
|
||||
}
|
||||
|
||||
//判断是否为系统应用
|
||||
public static boolean isSystemApp(Context context, String pkgName) {
|
||||
boolean isSystemApp = false;
|
||||
@@ -1,4 +1,4 @@
|
||||
package com.android.colorfulos.TTUtils;
|
||||
package com.aoleyun.os.TTUtils;
|
||||
|
||||
import android.content.Context;
|
||||
import android.graphics.Bitmap;
|
||||
@@ -14,8 +14,8 @@ import android.graphics.drawable.AdaptiveIconDrawable;
|
||||
import android.graphics.drawable.BitmapDrawable;
|
||||
import android.graphics.drawable.Drawable;
|
||||
|
||||
import com.android.colorfulos.R;
|
||||
import com.android.colorfulos.icons.LauncherIcons;
|
||||
import com.aoleyun.os.R;
|
||||
import com.aoleyun.os.icons.LauncherIcons;
|
||||
|
||||
import java.util.Calendar;
|
||||
|
||||
266
src/com/aoleyun/os/TTUtils/CustomDialog.java
Normal file
266
src/com/aoleyun/os/TTUtils/CustomDialog.java
Normal file
@@ -0,0 +1,266 @@
|
||||
package com.aoleyun.os.TTUtils;
|
||||
|
||||
|
||||
import android.content.Context;
|
||||
import android.os.Bundle;
|
||||
import android.text.TextUtils;
|
||||
import android.view.KeyEvent;
|
||||
import android.view.View;
|
||||
import android.view.inputmethod.EditorInfo;
|
||||
import android.widget.Button;
|
||||
import android.widget.EditText;
|
||||
import android.widget.ImageView;
|
||||
import android.widget.TextView;
|
||||
|
||||
import androidx.appcompat.app.AlertDialog;
|
||||
|
||||
import com.aoleyun.os.R;
|
||||
|
||||
|
||||
/**
|
||||
* description:自定义dialog
|
||||
*/
|
||||
public class CustomDialog extends AlertDialog {
|
||||
/**
|
||||
* 显示的图片
|
||||
*/
|
||||
private ImageView imageIv;
|
||||
|
||||
/**
|
||||
* 显示的标题
|
||||
*/
|
||||
private TextView titleTv;
|
||||
|
||||
/**
|
||||
* 显示的消息
|
||||
*/
|
||||
public EditText messageTv;
|
||||
|
||||
/**
|
||||
* 确认和取消按钮
|
||||
*/
|
||||
private Button negtiveBn;
|
||||
private TextView positiveBn;
|
||||
|
||||
/**
|
||||
* 按钮之间的分割线
|
||||
*/
|
||||
private View columnLineView;
|
||||
|
||||
private Context mContext;
|
||||
|
||||
public CustomDialog(Context context) {
|
||||
super(context, R.style.CustomDialog);
|
||||
this.mContext = context;
|
||||
}
|
||||
|
||||
/**
|
||||
* 都是内容数据
|
||||
*/
|
||||
private String message;
|
||||
private String title;
|
||||
private String positive, negtive;
|
||||
private int imageResId = -1;
|
||||
|
||||
/**
|
||||
* 底部是否只有一个按钮
|
||||
*/
|
||||
private boolean isSingle = false;
|
||||
|
||||
@Override
|
||||
protected void onCreate(Bundle savedInstanceState) {
|
||||
super.onCreate(savedInstanceState);
|
||||
setContentView(R.layout.custom_dialog);
|
||||
//按空白处不能取消动画
|
||||
setCanceledOnTouchOutside(false);
|
||||
//初始化界面控件
|
||||
initView();
|
||||
//初始化界面数据
|
||||
refreshView();
|
||||
//初始化界面控件的事件
|
||||
initEvent();
|
||||
}
|
||||
|
||||
/**
|
||||
* 初始化界面的确定和取消监听器
|
||||
*/
|
||||
private void initEvent() {
|
||||
//设置确定按钮被点击后,向外界提供监听
|
||||
positiveBn.setOnClickListener(new View.OnClickListener() {
|
||||
@Override
|
||||
public void onClick(View v) {
|
||||
if (onClickBottomListener != null) {
|
||||
onClickBottomListener.onPositiveClick();
|
||||
}
|
||||
}
|
||||
});
|
||||
//设置取消按钮被点击后,向外界提供监听
|
||||
negtiveBn.setOnClickListener(new View.OnClickListener() {
|
||||
@Override
|
||||
public void onClick(View v) {
|
||||
if (onClickBottomListener != null) {
|
||||
onClickBottomListener.onNegtiveClick();
|
||||
}
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
/**
|
||||
* 初始化界面控件的显示数据
|
||||
*/
|
||||
private void refreshView() {
|
||||
//如果用户自定了title和message
|
||||
if (!TextUtils.isEmpty(title)) {
|
||||
titleTv.setText(title);
|
||||
titleTv.setVisibility(View.VISIBLE);
|
||||
} else {
|
||||
titleTv.setVisibility(View.GONE);
|
||||
}
|
||||
if (!TextUtils.isEmpty(message)) {
|
||||
// messageTv.setText(message);
|
||||
}
|
||||
//如果设置按钮的文字
|
||||
if (!TextUtils.isEmpty(positive)) {
|
||||
positiveBn.setText(positive);
|
||||
} else {
|
||||
positiveBn.setText("确定");
|
||||
}
|
||||
if (!TextUtils.isEmpty(negtive)) {
|
||||
negtiveBn.setText(negtive);
|
||||
} else {
|
||||
negtiveBn.setText("取消");
|
||||
}
|
||||
|
||||
if (imageResId != -1) {
|
||||
imageIv.setImageResource(imageResId);
|
||||
imageIv.setVisibility(View.VISIBLE);
|
||||
} else {
|
||||
imageIv.setVisibility(View.GONE);
|
||||
}
|
||||
/**
|
||||
* 只显示一个按钮的时候隐藏取消按钮,回掉只执行确定的事件
|
||||
*/
|
||||
if (isSingle) {
|
||||
columnLineView.setVisibility(View.GONE);
|
||||
negtiveBn.setVisibility(View.GONE);
|
||||
} else {
|
||||
negtiveBn.setVisibility(View.VISIBLE);
|
||||
columnLineView.setVisibility(View.VISIBLE);
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void show() {
|
||||
super.show();
|
||||
refreshView();
|
||||
}
|
||||
|
||||
/**
|
||||
* 初始化界面控件
|
||||
*/
|
||||
private void initView() {
|
||||
negtiveBn = findViewById(R.id.negtive);
|
||||
positiveBn = findViewById(R.id.positive);
|
||||
titleTv = findViewById(R.id.title);
|
||||
messageTv = findViewById(R.id.message);
|
||||
messageTv.setOnEditorActionListener(new TextView.OnEditorActionListener() {
|
||||
@Override
|
||||
public boolean onEditorAction(TextView textView, int i, KeyEvent keyEvent) {
|
||||
if (i == EditorInfo.IME_ACTION_DONE) {
|
||||
if (onClickBottomListener != null) {
|
||||
onClickBottomListener.onPositiveClick();
|
||||
}
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
}
|
||||
});
|
||||
imageIv = findViewById(R.id.image);
|
||||
columnLineView = findViewById(R.id.column_line);
|
||||
}
|
||||
|
||||
/**
|
||||
* 设置确定取消按钮的回调
|
||||
*/
|
||||
private OnClickBottomListener onClickBottomListener;
|
||||
|
||||
public void setOnClickBottomListener(OnClickBottomListener onClickBottomListener) {
|
||||
this.onClickBottomListener = onClickBottomListener;
|
||||
}
|
||||
|
||||
public interface OnClickBottomListener {
|
||||
/**
|
||||
* 点击确定按钮事件
|
||||
*/
|
||||
void onPositiveClick();
|
||||
|
||||
/**
|
||||
* 点击取消按钮事件
|
||||
*/
|
||||
void onNegtiveClick();
|
||||
}
|
||||
|
||||
public String getMessage() {
|
||||
return message;
|
||||
}
|
||||
|
||||
public CustomDialog setMessage(String message) {
|
||||
this.message = message;
|
||||
return this;
|
||||
}
|
||||
|
||||
public String getTitle() {
|
||||
return title;
|
||||
}
|
||||
|
||||
public CustomDialog setTitle(String title) {
|
||||
this.title = title;
|
||||
return this;
|
||||
}
|
||||
|
||||
public String getPositive() {
|
||||
return positive;
|
||||
}
|
||||
|
||||
public CustomDialog setPositive(String positive) {
|
||||
this.positive = positive;
|
||||
return this;
|
||||
}
|
||||
|
||||
public String getNegtive() {
|
||||
return negtive;
|
||||
}
|
||||
|
||||
public CustomDialog setNegtive(String negtive) {
|
||||
this.negtive = negtive;
|
||||
return this;
|
||||
}
|
||||
|
||||
public CustomDialog setNegtiveText(String negtive) {
|
||||
negtiveBn.setText(negtive);
|
||||
return this;
|
||||
}
|
||||
|
||||
public int getImageResId() {
|
||||
return imageResId;
|
||||
}
|
||||
|
||||
public boolean isSingle() {
|
||||
return isSingle;
|
||||
}
|
||||
|
||||
public CustomDialog setSingle(boolean single) {
|
||||
isSingle = single;
|
||||
return this;
|
||||
}
|
||||
|
||||
public CustomDialog setImageResId(int imageResId) {
|
||||
this.imageResId = imageResId;
|
||||
return this;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void dismiss() {
|
||||
super.dismiss();
|
||||
}
|
||||
}
|
||||
@@ -1,4 +1,4 @@
|
||||
package com.android.colorfulos.TTUtils;
|
||||
package com.aoleyun.os.TTUtils;
|
||||
|
||||
import java.text.SimpleDateFormat;
|
||||
import java.util.Calendar;
|
||||
106
src/com/aoleyun/os/TTUtils/ToastUtil.java
Normal file
106
src/com/aoleyun/os/TTUtils/ToastUtil.java
Normal file
@@ -0,0 +1,106 @@
|
||||
package com.aoleyun.os.TTUtils;
|
||||
|
||||
import android.annotation.SuppressLint;
|
||||
import android.content.Context;
|
||||
import android.graphics.Color;
|
||||
import android.os.Build;
|
||||
import android.os.Handler;
|
||||
import android.os.Looper;
|
||||
import android.util.Log;
|
||||
import android.view.Gravity;
|
||||
import android.widget.Toast;
|
||||
|
||||
import com.aoleyun.os.BuildConfig;
|
||||
import com.aoleyun.os.R;
|
||||
import com.aoleyun.os.uiuiutils.JGYUtils;
|
||||
import com.blankj.utilcode.util.ColorUtils;
|
||||
import com.blankj.utilcode.util.ToastUtils;
|
||||
|
||||
|
||||
/**
|
||||
* Created by haoge on 2017/3/2.
|
||||
*/
|
||||
|
||||
public class ToastUtil {
|
||||
private static final String TAG = ToastUtil.class.getSimpleName();
|
||||
@SuppressLint("StaticFieldLeak")
|
||||
private static Context mContext;
|
||||
private static Handler mainHandler = new Handler(Looper.getMainLooper());
|
||||
private static Toast debugToast;
|
||||
private static Toast toast;
|
||||
|
||||
|
||||
@SuppressLint("ShowToast")
|
||||
public static void init(Context context) {
|
||||
mContext = context;
|
||||
toast = Toast.makeText(mContext, "", Toast.LENGTH_SHORT);
|
||||
debugToast = Toast.makeText(mContext, "", Toast.LENGTH_SHORT);
|
||||
|
||||
}
|
||||
|
||||
private static long time1 = 0L;
|
||||
private static long time2 = 0L;
|
||||
|
||||
public static void show(final String msg) {
|
||||
ToastUtils.make()
|
||||
// .setBgColor(ColorUtils.getColor(R.color.toast_color))
|
||||
.setTextColor(Color.DKGRAY)
|
||||
// .setGravity(Gravity.CENTER, 0, 0)
|
||||
.setNotUseSystemToast()
|
||||
.show(msg);
|
||||
}
|
||||
|
||||
public static void betaShow(final String msg) {
|
||||
if (JGYUtils.isBetaVersion() || BuildConfig.DEBUG) {
|
||||
ToastUtils.make()
|
||||
// .setBgColor(ColorUtils.getColor(R.color.toast_color))
|
||||
.setTextColor(Color.RED)
|
||||
// .setGravity(Gravity.CENTER, 0, 0)
|
||||
.setNotUseSystemToast()
|
||||
.setDurationIsLong(true)
|
||||
.show(msg);
|
||||
} else {
|
||||
Log.e(TAG, "debugShow: " + msg);
|
||||
}
|
||||
}
|
||||
|
||||
public static void showCenter(final String msg) {
|
||||
ToastUtils.make()
|
||||
.setBgColor(ColorUtils.getColor(R.color.toast_color))
|
||||
.setTextColor(Color.WHITE)
|
||||
.setGravity(Gravity.CENTER, 0, 0)
|
||||
.setNotUseSystemToast()
|
||||
.show(msg);
|
||||
}
|
||||
|
||||
private static Toast mToast = null;
|
||||
|
||||
//android 8.0以后限制
|
||||
//https://www.jianshu.com/p/d9813ad03d59
|
||||
//https://www.jianshu.com/p/050ce052b873
|
||||
public static void showToast(Context context, String text, int duration) {
|
||||
if (Build.VERSION.SDK_INT == Build.VERSION_CODES.P) {
|
||||
Toast.makeText(context, text, duration).show();
|
||||
} else {
|
||||
if (mToast == null) {
|
||||
mToast = Toast.makeText(context, text, duration);
|
||||
} else {
|
||||
mToast.setText(text);
|
||||
mToast.setDuration(duration);
|
||||
}
|
||||
mToast.show();
|
||||
}
|
||||
}
|
||||
|
||||
// public static void showInCenter(String msg) {
|
||||
// mainHandler.post(() -> {
|
||||
// if (toast != null) {
|
||||
// toast.setGravity(Gravity.CENTER, 0, 0);
|
||||
// toast.setText(msg);
|
||||
// toast.show();
|
||||
// }
|
||||
// });
|
||||
// }
|
||||
|
||||
|
||||
}
|
||||
123
src/com/aoleyun/os/TTUtils/Utils.java
Normal file
123
src/com/aoleyun/os/TTUtils/Utils.java
Normal file
@@ -0,0 +1,123 @@
|
||||
package com.aoleyun.os.TTUtils;
|
||||
|
||||
import android.annotation.SuppressLint;
|
||||
import android.app.ActivityManager;
|
||||
import android.app.ActivityManagerNative;
|
||||
import android.app.ActivityTaskManager;
|
||||
import android.content.Context;
|
||||
import android.content.pm.UserInfo;
|
||||
import android.os.Build;
|
||||
import android.os.RemoteException;
|
||||
import android.text.TextUtils;
|
||||
import android.util.Log;
|
||||
|
||||
import com.aoleyun.os.BuildConfig;
|
||||
|
||||
import java.lang.reflect.Method;
|
||||
import java.util.ArrayList;
|
||||
import java.util.HashMap;
|
||||
import java.util.List;
|
||||
|
||||
import static android.app.ActivityManager.RECENT_IGNORE_UNAVAILABLE;
|
||||
|
||||
public class Utils {
|
||||
private static String TAG = Utils.class.getSimpleName();
|
||||
|
||||
/**
|
||||
* 获取设备序列号
|
||||
*
|
||||
* @return
|
||||
*/
|
||||
@SuppressLint({"MissingPermission", "NewApi"})
|
||||
public static String getSerial() {
|
||||
String serial = "unknow";
|
||||
try {
|
||||
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.P) {//9.0+
|
||||
serial = Build.getSerial();
|
||||
} else if (Build.VERSION.SDK_INT > Build.VERSION_CODES.N) {//8.0+
|
||||
serial = Build.SERIAL;
|
||||
} else {//8.0-
|
||||
Class<?> c = Class.forName("android.os.SystemProperties");
|
||||
Method get = c.getMethod("get", String.class);
|
||||
serial = (String) get.invoke(c, "ro.serialno");
|
||||
}
|
||||
} catch (Exception e) {
|
||||
e.printStackTrace();
|
||||
Log.e("e", "读取设备序列号异常:" + e.toString());
|
||||
}
|
||||
return serial;
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* 清除所有最近记录
|
||||
*/
|
||||
public void removeAllTask(Context context) {
|
||||
List<ActivityManager.RecentTaskInfo> list = getRecentTasks(ActivityManager.getMaxRecentTasksStatic(), getCurrentUserId());
|
||||
|
||||
for (ActivityManager.RecentTaskInfo info : list) {
|
||||
if (info.realActivity != null) {
|
||||
Log.e(TAG, "removeAllTask: " + info.realActivity.getPackageName());
|
||||
//排除自身
|
||||
if (BuildConfig.APPLICATION_ID.equals(info.realActivity.getPackageName())) {
|
||||
continue;
|
||||
}
|
||||
}
|
||||
try {
|
||||
ActivityManagerNative.getDefault().removeTask(info.id);
|
||||
} catch (RemoteException e) {
|
||||
e.printStackTrace();
|
||||
Log.e(TAG, "removeAllTask: " + e.getMessage());
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 如果界面正在最近任务列表,有些app可能不会被清理
|
||||
*/
|
||||
public static void removeTask(String packageName) {
|
||||
if (TextUtils.isEmpty(packageName)) return;
|
||||
List<ActivityManager.RecentTaskInfo> list = getRecentTasks(ActivityManager.getMaxRecentTasksStatic(), getCurrentUserId());
|
||||
HashMap<String, Integer> taskMap = new HashMap<>();
|
||||
for (ActivityManager.RecentTaskInfo info : list) {
|
||||
taskMap.put(info.realActivity.getPackageName(), info.id);
|
||||
}
|
||||
try {
|
||||
ActivityManagerNative.getDefault().removeTask(taskMap.get(packageName));
|
||||
} catch (RemoteException e) {
|
||||
e.printStackTrace();
|
||||
Log.e(TAG, "removeTask: " + e.getMessage());
|
||||
} catch (NullPointerException e) {
|
||||
e.printStackTrace();
|
||||
Log.e(TAG, "removeTask: " + e.getMessage());
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* @return a list of the recents tasks.
|
||||
* 获取近期任务列表
|
||||
*/
|
||||
public static List<ActivityManager.RecentTaskInfo> getRecentTasks(int numTasks, int userId) {
|
||||
try {
|
||||
return ActivityTaskManager.getService().getRecentTasks(numTasks,
|
||||
RECENT_IGNORE_UNAVAILABLE, userId).getList();
|
||||
} catch (RemoteException e) {
|
||||
Log.e(TAG, "Failed to get recent tasks " + e);
|
||||
return new ArrayList<>();
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* @return the current user's id.
|
||||
* 获取userId
|
||||
*/
|
||||
public static int getCurrentUserId() {
|
||||
UserInfo ui;
|
||||
try {
|
||||
ui = ActivityManager.getService().getCurrentUser();
|
||||
return ui != null ? ui.id : 0;
|
||||
} catch (RemoteException e) {
|
||||
throw e.rethrowFromSystemServer();
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -14,7 +14,7 @@
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
package com.android.colorfulos;
|
||||
package com.aoleyun.os;
|
||||
|
||||
import android.animation.ValueAnimator;
|
||||
import android.annotation.TargetApi;
|
||||
@@ -64,19 +64,20 @@ import android.view.View;
|
||||
import android.view.ViewConfiguration;
|
||||
import android.view.animation.Interpolator;
|
||||
|
||||
import com.android.colorfulos.compat.LauncherAppsCompat;
|
||||
import com.android.colorfulos.compat.ShortcutConfigActivityInfo;
|
||||
import com.android.colorfulos.config.FeatureFlags;
|
||||
import com.android.colorfulos.dragndrop.FolderAdaptiveIcon;
|
||||
import com.android.colorfulos.graphics.RotationMode;
|
||||
import com.android.colorfulos.graphics.TintedDrawableSpan;
|
||||
import com.android.colorfulos.icons.LauncherIcons;
|
||||
import com.android.colorfulos.shortcuts.DeepShortcutManager;
|
||||
import com.android.colorfulos.shortcuts.ShortcutKey;
|
||||
import com.android.colorfulos.util.IntArray;
|
||||
import com.android.colorfulos.util.PackageManagerHelper;
|
||||
import com.android.colorfulos.views.Transposable;
|
||||
import com.android.colorfulos.widget.PendingAddShortcutInfo;
|
||||
import com.aoleyun.os.R;
|
||||
import com.aoleyun.os.compat.LauncherAppsCompat;
|
||||
import com.aoleyun.os.compat.ShortcutConfigActivityInfo;
|
||||
import com.aoleyun.os.config.FeatureFlags;
|
||||
import com.aoleyun.os.dragndrop.FolderAdaptiveIcon;
|
||||
import com.aoleyun.os.graphics.RotationMode;
|
||||
import com.aoleyun.os.graphics.TintedDrawableSpan;
|
||||
import com.aoleyun.os.icons.LauncherIcons;
|
||||
import com.aoleyun.os.shortcuts.DeepShortcutManager;
|
||||
import com.aoleyun.os.shortcuts.ShortcutKey;
|
||||
import com.aoleyun.os.util.IntArray;
|
||||
import com.aoleyun.os.util.PackageManagerHelper;
|
||||
import com.aoleyun.os.views.Transposable;
|
||||
import com.aoleyun.os.widget.PendingAddShortcutInfo;
|
||||
|
||||
import java.io.Closeable;
|
||||
import java.io.IOException;
|
||||
@@ -92,7 +93,7 @@ import java.util.concurrent.TimeUnit;
|
||||
import java.util.regex.Matcher;
|
||||
import java.util.regex.Pattern;
|
||||
|
||||
import static com.android.colorfulos.ItemInfoWithIcon.FLAG_ICON_BADGED;
|
||||
import static com.aoleyun.os.ItemInfoWithIcon.FLAG_ICON_BADGED;
|
||||
|
||||
/**
|
||||
* Various utilities shared amongst the Launcher's classes.
|
||||
@@ -151,8 +152,8 @@ public final class Utilities {
|
||||
}
|
||||
|
||||
// An intent extra to indicate the horizontal scroll of the wallpaper.
|
||||
public static final String EXTRA_WALLPAPER_OFFSET = "com.android.colorfulos.WALLPAPER_OFFSET";
|
||||
public static final String EXTRA_WALLPAPER_FLAVOR = "com.android.colorfulos.WALLPAPER_FLAVOR";
|
||||
public static final String EXTRA_WALLPAPER_OFFSET = "com.aoleyun.os.WALLPAPER_OFFSET";
|
||||
public static final String EXTRA_WALLPAPER_FLAVOR = "com.aoleyun.os.WALLPAPER_FLAVOR";
|
||||
|
||||
// These values are same as that in {@link AsyncTask}.
|
||||
private static final int CPU_COUNT = Runtime.getRuntime().availableProcessors();
|
||||
@@ -1,4 +1,4 @@
|
||||
package com.android.colorfulos;
|
||||
package com.aoleyun.os;
|
||||
|
||||
import android.content.ComponentName;
|
||||
import android.content.ContentValues;
|
||||
@@ -29,20 +29,21 @@ import android.os.UserHandle;
|
||||
import android.util.Log;
|
||||
import android.util.LongSparseArray;
|
||||
|
||||
import com.android.colorfulos.compat.AppWidgetManagerCompat;
|
||||
import com.android.colorfulos.compat.ShortcutConfigActivityInfo;
|
||||
import com.android.colorfulos.compat.UserManagerCompat;
|
||||
import com.android.colorfulos.icons.GraphicsUtils;
|
||||
import com.android.colorfulos.icons.LauncherIcons;
|
||||
import com.android.colorfulos.icons.ShadowGenerator;
|
||||
import com.android.colorfulos.icons.IconCache;
|
||||
import com.android.colorfulos.model.WidgetItem;
|
||||
import com.android.colorfulos.util.ComponentKey;
|
||||
import com.android.colorfulos.util.PackageUserKey;
|
||||
import com.android.colorfulos.util.Preconditions;
|
||||
import com.android.colorfulos.util.SQLiteCacheHelper;
|
||||
import com.android.colorfulos.util.Thunk;
|
||||
import com.android.colorfulos.widget.WidgetCell;
|
||||
import com.aoleyun.os.R;
|
||||
import com.aoleyun.os.compat.AppWidgetManagerCompat;
|
||||
import com.aoleyun.os.compat.ShortcutConfigActivityInfo;
|
||||
import com.aoleyun.os.compat.UserManagerCompat;
|
||||
import com.aoleyun.os.icons.GraphicsUtils;
|
||||
import com.aoleyun.os.icons.LauncherIcons;
|
||||
import com.aoleyun.os.icons.ShadowGenerator;
|
||||
import com.aoleyun.os.icons.IconCache;
|
||||
import com.aoleyun.os.model.WidgetItem;
|
||||
import com.aoleyun.os.util.ComponentKey;
|
||||
import com.aoleyun.os.util.PackageUserKey;
|
||||
import com.aoleyun.os.util.Preconditions;
|
||||
import com.aoleyun.os.util.SQLiteCacheHelper;
|
||||
import com.aoleyun.os.util.Thunk;
|
||||
import com.aoleyun.os.widget.WidgetCell;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.Collections;
|
||||
@@ -68,7 +69,8 @@ public class WidgetPreviewLoader {
|
||||
* Note: synchronized block used for this variable is expensive and the block should always
|
||||
* be posted to a background thread.
|
||||
*/
|
||||
@Thunk final Set<Bitmap> mUnusedBitmaps =
|
||||
@Thunk
|
||||
final Set<Bitmap> mUnusedBitmaps =
|
||||
Collections.newSetFromMap(new WeakHashMap<Bitmap, Boolean>());
|
||||
|
||||
private final Context mContext;
|
||||
@@ -94,7 +96,7 @@ public class WidgetPreviewLoader {
|
||||
* @return a request id which can be used to cancel the request.
|
||||
*/
|
||||
public CancellationSignal getPreview(WidgetItem item, int previewWidth,
|
||||
int previewHeight, WidgetCell caller) {
|
||||
int previewHeight, WidgetCell caller) {
|
||||
String size = previewWidth + "x" + previewHeight;
|
||||
WidgetCacheKey key = new WidgetCacheKey(item.componentName, item.user, size);
|
||||
|
||||
@@ -14,17 +14,17 @@
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
package com.android.colorfulos;
|
||||
package com.aoleyun.os;
|
||||
|
||||
import static com.android.colorfulos.LauncherAnimUtils.OVERVIEW_TRANSITION_MS;
|
||||
import static com.android.colorfulos.LauncherAnimUtils.SPRING_LOADED_EXIT_DELAY;
|
||||
import static com.android.colorfulos.LauncherAnimUtils.SPRING_LOADED_TRANSITION_MS;
|
||||
import static com.android.colorfulos.LauncherSettings.Favorites.ITEM_TYPE_APPLICATION;
|
||||
import static com.android.colorfulos.LauncherState.ALL_APPS;
|
||||
import static com.android.colorfulos.LauncherState.NORMAL;
|
||||
import static com.android.colorfulos.LauncherState.SPRING_LOADED;
|
||||
import static com.android.colorfulos.config.FeatureFlags.ADAPTIVE_ICON_WINDOW_ANIM;
|
||||
import static com.android.colorfulos.dragndrop.DragLayer.ALPHA_INDEX_OVERLAY;
|
||||
import static com.aoleyun.os.LauncherAnimUtils.OVERVIEW_TRANSITION_MS;
|
||||
import static com.aoleyun.os.LauncherAnimUtils.SPRING_LOADED_EXIT_DELAY;
|
||||
import static com.aoleyun.os.LauncherAnimUtils.SPRING_LOADED_TRANSITION_MS;
|
||||
import static com.aoleyun.os.LauncherSettings.Favorites.ITEM_TYPE_APPLICATION;
|
||||
import static com.aoleyun.os.LauncherState.ALL_APPS;
|
||||
import static com.aoleyun.os.LauncherState.NORMAL;
|
||||
import static com.aoleyun.os.LauncherState.SPRING_LOADED;
|
||||
import static com.aoleyun.os.config.FeatureFlags.ADAPTIVE_ICON_WINDOW_ANIM;
|
||||
import static com.aoleyun.os.dragndrop.DragLayer.ALPHA_INDEX_OVERLAY;
|
||||
|
||||
import android.animation.Animator;
|
||||
import android.animation.AnimatorListenerAdapter;
|
||||
@@ -60,45 +60,45 @@ import android.view.ViewTreeObserver;
|
||||
import android.view.accessibility.AccessibilityNodeInfo;
|
||||
import android.widget.Toast;
|
||||
|
||||
import com.android.colorfulos.Launcher.LauncherOverlay;
|
||||
import com.android.colorfulos.LauncherAppWidgetHost.ProviderChangedListener;
|
||||
import com.android.colorfulos.LauncherStateManager.AnimationConfig;
|
||||
import com.android.colorfulos.accessibility.AccessibleDragListenerAdapter;
|
||||
import com.android.colorfulos.accessibility.WorkspaceAccessibilityHelper;
|
||||
import com.android.colorfulos.anim.AnimatorSetBuilder;
|
||||
import com.android.colorfulos.anim.Interpolators;
|
||||
import com.android.colorfulos.dot.FolderDotInfo;
|
||||
import com.android.colorfulos.compat.AppWidgetManagerCompat;
|
||||
import com.android.colorfulos.config.FeatureFlags;
|
||||
import com.android.colorfulos.dragndrop.DragController;
|
||||
import com.android.colorfulos.dragndrop.DragLayer;
|
||||
import com.android.colorfulos.dragndrop.DragOptions;
|
||||
import com.android.colorfulos.dragndrop.DragView;
|
||||
import com.android.colorfulos.dragndrop.SpringLoadedDragController;
|
||||
import com.android.colorfulos.folder.Folder;
|
||||
import com.android.colorfulos.folder.FolderIcon;
|
||||
import com.android.colorfulos.folder.PreviewBackground;
|
||||
import com.android.colorfulos.graphics.DragPreviewProvider;
|
||||
import com.android.colorfulos.graphics.PreloadIconDrawable;
|
||||
import com.android.colorfulos.graphics.RotationMode;
|
||||
import com.android.colorfulos.pageindicators.PageIndicatorDots;
|
||||
import com.android.colorfulos.shortcuts.ShortcutDragPreviewProvider;
|
||||
import com.android.colorfulos.testing.TestProtocol;
|
||||
import com.android.colorfulos.touch.WorkspaceTouchListener;
|
||||
import com.android.colorfulos.userevent.nano.LauncherLogProto.Action;
|
||||
import com.android.colorfulos.userevent.nano.LauncherLogProto.ContainerType;
|
||||
import com.android.colorfulos.userevent.nano.LauncherLogProto.Target;
|
||||
import com.android.colorfulos.util.IntArray;
|
||||
import com.android.colorfulos.util.IntSet;
|
||||
import com.android.colorfulos.util.IntSparseArrayMap;
|
||||
import com.android.colorfulos.util.ItemInfoMatcher;
|
||||
import com.android.colorfulos.util.PackageUserKey;
|
||||
import com.android.colorfulos.util.Thunk;
|
||||
import com.android.colorfulos.util.WallpaperOffsetInterpolator;
|
||||
import com.android.colorfulos.widget.LauncherAppWidgetHostView;
|
||||
import com.android.colorfulos.widget.PendingAddShortcutInfo;
|
||||
import com.android.colorfulos.widget.PendingAddWidgetInfo;
|
||||
import com.android.colorfulos.widget.PendingAppWidgetHostView;
|
||||
import com.aoleyun.os.LauncherAppWidgetHost.ProviderChangedListener;
|
||||
import com.aoleyun.os.LauncherStateManager.AnimationConfig;
|
||||
import com.aoleyun.os.R;
|
||||
import com.aoleyun.os.accessibility.AccessibleDragListenerAdapter;
|
||||
import com.aoleyun.os.accessibility.WorkspaceAccessibilityHelper;
|
||||
import com.aoleyun.os.anim.AnimatorSetBuilder;
|
||||
import com.aoleyun.os.anim.Interpolators;
|
||||
import com.aoleyun.os.dot.FolderDotInfo;
|
||||
import com.aoleyun.os.compat.AppWidgetManagerCompat;
|
||||
import com.aoleyun.os.config.FeatureFlags;
|
||||
import com.aoleyun.os.dragndrop.DragController;
|
||||
import com.aoleyun.os.dragndrop.DragLayer;
|
||||
import com.aoleyun.os.dragndrop.DragOptions;
|
||||
import com.aoleyun.os.dragndrop.DragView;
|
||||
import com.aoleyun.os.dragndrop.SpringLoadedDragController;
|
||||
import com.aoleyun.os.folder.Folder;
|
||||
import com.aoleyun.os.folder.FolderIcon;
|
||||
import com.aoleyun.os.folder.PreviewBackground;
|
||||
import com.aoleyun.os.graphics.DragPreviewProvider;
|
||||
import com.aoleyun.os.graphics.PreloadIconDrawable;
|
||||
import com.aoleyun.os.graphics.RotationMode;
|
||||
import com.aoleyun.os.pageindicators.PageIndicatorDots;
|
||||
import com.aoleyun.os.shortcuts.ShortcutDragPreviewProvider;
|
||||
import com.aoleyun.os.testing.TestProtocol;
|
||||
import com.aoleyun.os.touch.WorkspaceTouchListener;
|
||||
import com.aoleyun.os.userevent.nano.LauncherLogProto.Action;
|
||||
import com.aoleyun.os.userevent.nano.LauncherLogProto.ContainerType;
|
||||
import com.aoleyun.os.userevent.nano.LauncherLogProto.Target;
|
||||
import com.aoleyun.os.util.IntArray;
|
||||
import com.aoleyun.os.util.IntSet;
|
||||
import com.aoleyun.os.util.IntSparseArrayMap;
|
||||
import com.aoleyun.os.util.ItemInfoMatcher;
|
||||
import com.aoleyun.os.util.PackageUserKey;
|
||||
import com.aoleyun.os.util.Thunk;
|
||||
import com.aoleyun.os.util.WallpaperOffsetInterpolator;
|
||||
import com.aoleyun.os.widget.LauncherAppWidgetHostView;
|
||||
import com.aoleyun.os.widget.PendingAddShortcutInfo;
|
||||
import com.aoleyun.os.widget.PendingAddWidgetInfo;
|
||||
import com.aoleyun.os.widget.PendingAppWidgetHostView;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.HashSet;
|
||||
@@ -236,7 +236,7 @@ public class Workspace extends PagedView<PageIndicatorDots>
|
||||
private float mTransitionProgress;
|
||||
|
||||
// State related to Launcher Overlay
|
||||
LauncherOverlay mLauncherOverlay;
|
||||
Launcher.LauncherOverlay mLauncherOverlay;
|
||||
boolean mScrollInteractionBegan;
|
||||
boolean mStartedSendingScrollEvents;
|
||||
float mLastOverlayScroll = 0;
|
||||
@@ -501,7 +501,7 @@ public class Workspace extends PagedView<PageIndicatorDots>
|
||||
return;
|
||||
}
|
||||
// Add the first page
|
||||
CellLayout firstPage = insertNewWorkspaceScreen(Workspace.FIRST_SCREEN_ID, 0);
|
||||
CellLayout firstPage = insertNewWorkspaceScreen(FIRST_SCREEN_ID, 0);
|
||||
// Always add a QSB on the first screen.
|
||||
// if (qsb == null) {
|
||||
// // In transposed layout, we add the QSB in the Grid. As workspace does not touch the
|
||||
@@ -965,7 +965,7 @@ public class Workspace extends PagedView<PageIndicatorDots>
|
||||
}
|
||||
}
|
||||
|
||||
public void setLauncherOverlay(LauncherOverlay overlay) {
|
||||
public void setLauncherOverlay(Launcher.LauncherOverlay overlay) {
|
||||
mLauncherOverlay = overlay;
|
||||
// A new overlay has been set. Reset event tracking
|
||||
mStartedSendingScrollEvents = false;
|
||||
@@ -1261,7 +1261,7 @@ public class Workspace extends PagedView<PageIndicatorDots>
|
||||
@Override
|
||||
public int getDescendantFocusability() {
|
||||
if (workspaceInModalState()) {
|
||||
return ViewGroup.FOCUS_BLOCK_DESCENDANTS;
|
||||
return FOCUS_BLOCK_DESCENDANTS;
|
||||
}
|
||||
return super.getDescendantFocusability();
|
||||
}
|
||||
@@ -14,7 +14,7 @@
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
package com.android.colorfulos;
|
||||
package com.aoleyun.os;
|
||||
|
||||
import android.content.ComponentName;
|
||||
import android.content.Context;
|
||||
@@ -22,10 +22,10 @@ import android.content.Intent;
|
||||
import android.content.pm.ShortcutInfo;
|
||||
import android.text.TextUtils;
|
||||
|
||||
import com.android.colorfulos.LauncherSettings.Favorites;
|
||||
import com.android.colorfulos.icons.IconCache;
|
||||
import com.android.colorfulos.shortcuts.ShortcutKey;
|
||||
import com.android.colorfulos.util.ContentWriter;
|
||||
import com.aoleyun.os.LauncherSettings.Favorites;
|
||||
import com.aoleyun.os.icons.IconCache;
|
||||
import com.aoleyun.os.shortcuts.ShortcutKey;
|
||||
import com.aoleyun.os.util.ContentWriter;
|
||||
|
||||
/**
|
||||
* Represents a launchable icon on the workspaces and in folders.
|
||||
@@ -13,15 +13,15 @@
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
package com.android.colorfulos;
|
||||
package com.aoleyun.os;
|
||||
|
||||
import android.util.Log;
|
||||
import android.view.View;
|
||||
import android.view.ViewGroup;
|
||||
|
||||
import com.android.colorfulos.folder.Folder;
|
||||
import com.android.colorfulos.folder.FolderIcon;
|
||||
import com.android.colorfulos.touch.ItemLongClickListener;
|
||||
import com.aoleyun.os.folder.Folder;
|
||||
import com.aoleyun.os.folder.FolderIcon;
|
||||
import com.aoleyun.os.touch.ItemLongClickListener;
|
||||
|
||||
public interface WorkspaceLayoutManager {
|
||||
|
||||
@@ -14,32 +14,16 @@
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
package com.android.colorfulos;
|
||||
|
||||
import static com.android.colorfulos.LauncherAnimUtils.DRAWABLE_ALPHA;
|
||||
import static com.android.colorfulos.LauncherAnimUtils.SCALE_PROPERTY;
|
||||
import static com.android.colorfulos.LauncherState.HOTSEAT_ICONS;
|
||||
import static com.android.colorfulos.anim.AnimatorSetBuilder.ANIM_HOTSEAT_SCALE;
|
||||
import static com.android.colorfulos.anim.AnimatorSetBuilder.ANIM_HOTSEAT_TRANSLATE;
|
||||
import static com.android.colorfulos.anim.AnimatorSetBuilder.ANIM_WORKSPACE_FADE;
|
||||
import static com.android.colorfulos.anim.AnimatorSetBuilder.ANIM_WORKSPACE_SCALE;
|
||||
import static com.android.colorfulos.anim.AnimatorSetBuilder.ANIM_WORKSPACE_TRANSLATE;
|
||||
import static com.android.colorfulos.anim.Interpolators.LINEAR;
|
||||
import static com.android.colorfulos.anim.Interpolators.ZOOM_OUT;
|
||||
import static com.android.colorfulos.anim.PropertySetter.NO_ANIM_PROPERTY_SETTER;
|
||||
import static com.android.colorfulos.graphics.WorkspaceAndHotseatScrim.SCRIM_PROGRESS;
|
||||
import static com.android.colorfulos.graphics.WorkspaceAndHotseatScrim.SYSUI_PROGRESS;
|
||||
package com.aoleyun.os;
|
||||
|
||||
import android.view.View;
|
||||
import android.view.animation.Interpolator;
|
||||
|
||||
import com.android.colorfulos.LauncherState.PageAlphaProvider;
|
||||
import com.android.colorfulos.LauncherState.ScaleAndTranslation;
|
||||
import com.android.colorfulos.LauncherStateManager.AnimationConfig;
|
||||
import com.android.colorfulos.anim.AnimatorSetBuilder;
|
||||
import com.android.colorfulos.anim.PropertySetter;
|
||||
import com.android.colorfulos.dragndrop.DragLayer;
|
||||
import com.android.colorfulos.graphics.WorkspaceAndHotseatScrim;
|
||||
import com.aoleyun.os.anim.AnimatorSetBuilder;
|
||||
import com.aoleyun.os.anim.PropertySetter;
|
||||
import com.aoleyun.os.dragndrop.DragLayer;
|
||||
import com.aoleyun.os.graphics.WorkspaceAndHotseatScrim;
|
||||
import com.aoleyun.os.anim.Interpolators;
|
||||
|
||||
/**
|
||||
* Manages the animations between each of the workspace states.
|
||||
@@ -57,12 +41,12 @@ public class WorkspaceStateTransitionAnimation {
|
||||
}
|
||||
|
||||
public void setState(LauncherState toState) {
|
||||
setWorkspaceProperty(toState, NO_ANIM_PROPERTY_SETTER, new AnimatorSetBuilder(),
|
||||
new AnimationConfig());
|
||||
setWorkspaceProperty(toState, PropertySetter.NO_ANIM_PROPERTY_SETTER, new AnimatorSetBuilder(),
|
||||
new LauncherStateManager.AnimationConfig());
|
||||
}
|
||||
|
||||
public void setStateWithAnimation(LauncherState toState, AnimatorSetBuilder builder,
|
||||
AnimationConfig config) {
|
||||
LauncherStateManager.AnimationConfig config) {
|
||||
setWorkspaceProperty(toState, config.getPropertySetter(builder), builder, config);
|
||||
}
|
||||
|
||||
@@ -74,12 +58,12 @@ public class WorkspaceStateTransitionAnimation {
|
||||
* Starts a transition animation for the workspace.
|
||||
*/
|
||||
private void setWorkspaceProperty(LauncherState state, PropertySetter propertySetter,
|
||||
AnimatorSetBuilder builder, AnimationConfig config) {
|
||||
ScaleAndTranslation scaleAndTranslation = state.getWorkspaceScaleAndTranslation(mLauncher);
|
||||
ScaleAndTranslation hotseatScaleAndTranslation = state.getHotseatScaleAndTranslation(
|
||||
AnimatorSetBuilder builder, LauncherStateManager.AnimationConfig config) {
|
||||
LauncherState.ScaleAndTranslation scaleAndTranslation = state.getWorkspaceScaleAndTranslation(mLauncher);
|
||||
LauncherState.ScaleAndTranslation hotseatScaleAndTranslation = state.getHotseatScaleAndTranslation(
|
||||
mLauncher);
|
||||
mNewScale = scaleAndTranslation.scale;
|
||||
PageAlphaProvider pageAlphaProvider = state.getWorkspacePageAlphaProvider(mLauncher);
|
||||
LauncherState.PageAlphaProvider pageAlphaProvider = state.getWorkspacePageAlphaProvider(mLauncher);
|
||||
final int childCount = mWorkspace.getChildCount();
|
||||
for (int i = 0; i < childCount; i++) {
|
||||
applyChildState(state, (CellLayout) mWorkspace.getChildAt(i), i, pageAlphaProvider,
|
||||
@@ -87,13 +71,13 @@ public class WorkspaceStateTransitionAnimation {
|
||||
}
|
||||
|
||||
int elements = state.getVisibleElements(mLauncher);
|
||||
Interpolator fadeInterpolator = builder.getInterpolator(ANIM_WORKSPACE_FADE,
|
||||
Interpolator fadeInterpolator = builder.getInterpolator(AnimatorSetBuilder.ANIM_WORKSPACE_FADE,
|
||||
pageAlphaProvider.interpolator);
|
||||
boolean playAtomicComponent = config.playAtomicOverviewScaleComponent();
|
||||
Hotseat hotseat = mWorkspace.getHotseat();
|
||||
if (playAtomicComponent) {
|
||||
Interpolator scaleInterpolator = builder.getInterpolator(ANIM_WORKSPACE_SCALE, ZOOM_OUT);
|
||||
propertySetter.setFloat(mWorkspace, SCALE_PROPERTY, mNewScale, scaleInterpolator);
|
||||
Interpolator scaleInterpolator = builder.getInterpolator(AnimatorSetBuilder.ANIM_WORKSPACE_SCALE, Interpolators.ZOOM_OUT);
|
||||
propertySetter.setFloat(mWorkspace, LauncherAnimUtils.SCALE_PROPERTY, mNewScale, scaleInterpolator);
|
||||
|
||||
if (!hotseat.getRotationMode().isTransposed) {
|
||||
// Set the hotseat's pivot point to match the workspace's, so that it scales together.
|
||||
@@ -106,12 +90,12 @@ public class WorkspaceStateTransitionAnimation {
|
||||
hotseat.setPivotY(workspacePivot[1]);
|
||||
}
|
||||
float hotseatScale = hotseatScaleAndTranslation.scale;
|
||||
Interpolator hotseatScaleInterpolator = builder.getInterpolator(ANIM_HOTSEAT_SCALE,
|
||||
Interpolator hotseatScaleInterpolator = builder.getInterpolator(AnimatorSetBuilder.ANIM_HOTSEAT_SCALE,
|
||||
scaleInterpolator);
|
||||
propertySetter.setFloat(hotseat, SCALE_PROPERTY, hotseatScale,
|
||||
propertySetter.setFloat(hotseat, LauncherAnimUtils.SCALE_PROPERTY, hotseatScale,
|
||||
hotseatScaleInterpolator);
|
||||
|
||||
float hotseatIconsAlpha = (elements & HOTSEAT_ICONS) != 0 ? 1 : 0;
|
||||
float hotseatIconsAlpha = (elements & LauncherState.HOTSEAT_ICONS) != 0 ? 1 : 0;
|
||||
propertySetter.setViewAlpha(hotseat, hotseatIconsAlpha, fadeInterpolator);
|
||||
propertySetter.setViewAlpha(mLauncher.getWorkspace().getPageIndicator(),
|
||||
hotseatIconsAlpha, fadeInterpolator);
|
||||
@@ -123,15 +107,15 @@ public class WorkspaceStateTransitionAnimation {
|
||||
}
|
||||
|
||||
Interpolator translationInterpolator = !playAtomicComponent
|
||||
? LINEAR
|
||||
: builder.getInterpolator(ANIM_WORKSPACE_TRANSLATE, ZOOM_OUT);
|
||||
? Interpolators.LINEAR
|
||||
: builder.getInterpolator(AnimatorSetBuilder.ANIM_WORKSPACE_TRANSLATE, Interpolators.ZOOM_OUT);
|
||||
propertySetter.setFloat(mWorkspace, View.TRANSLATION_X,
|
||||
scaleAndTranslation.translationX, translationInterpolator);
|
||||
propertySetter.setFloat(mWorkspace, View.TRANSLATION_Y,
|
||||
scaleAndTranslation.translationY, translationInterpolator);
|
||||
|
||||
Interpolator hotseatTranslationInterpolator = builder.getInterpolator(
|
||||
ANIM_HOTSEAT_TRANSLATE, translationInterpolator);
|
||||
AnimatorSetBuilder.ANIM_HOTSEAT_TRANSLATE, translationInterpolator);
|
||||
propertySetter.setFloat(hotseat, View.TRANSLATION_Y,
|
||||
hotseatScaleAndTranslation.translationY, hotseatTranslationInterpolator);
|
||||
propertySetter.setFloat(mWorkspace.getPageIndicator(), View.TRANSLATION_Y,
|
||||
@@ -142,28 +126,28 @@ public class WorkspaceStateTransitionAnimation {
|
||||
|
||||
public void setScrim(PropertySetter propertySetter, LauncherState state) {
|
||||
WorkspaceAndHotseatScrim scrim = mLauncher.getDragLayer().getScrim();
|
||||
propertySetter.setFloat(scrim, SCRIM_PROGRESS, state.getWorkspaceScrimAlpha(mLauncher),
|
||||
LINEAR);
|
||||
propertySetter.setFloat(scrim, SYSUI_PROGRESS, state.hasSysUiScrim ? 1 : 0, LINEAR);
|
||||
propertySetter.setFloat(scrim, WorkspaceAndHotseatScrim.SCRIM_PROGRESS, state.getWorkspaceScrimAlpha(mLauncher),
|
||||
Interpolators.LINEAR);
|
||||
propertySetter.setFloat(scrim, WorkspaceAndHotseatScrim.SYSUI_PROGRESS, state.hasSysUiScrim ? 1 : 0, Interpolators.LINEAR);
|
||||
}
|
||||
|
||||
public void applyChildState(LauncherState state, CellLayout cl, int childIndex) {
|
||||
applyChildState(state, cl, childIndex, state.getWorkspacePageAlphaProvider(mLauncher),
|
||||
NO_ANIM_PROPERTY_SETTER, new AnimatorSetBuilder(), new AnimationConfig());
|
||||
PropertySetter.NO_ANIM_PROPERTY_SETTER, new AnimatorSetBuilder(), new LauncherStateManager.AnimationConfig());
|
||||
}
|
||||
|
||||
private void applyChildState(LauncherState state, CellLayout cl, int childIndex,
|
||||
PageAlphaProvider pageAlphaProvider, PropertySetter propertySetter,
|
||||
AnimatorSetBuilder builder, AnimationConfig config) {
|
||||
LauncherState.PageAlphaProvider pageAlphaProvider, PropertySetter propertySetter,
|
||||
AnimatorSetBuilder builder, LauncherStateManager.AnimationConfig config) {
|
||||
float pageAlpha = pageAlphaProvider.getPageAlpha(childIndex);
|
||||
int drawableAlpha = Math.round(pageAlpha * (state.hasWorkspacePageBackground ? 255 : 0));
|
||||
|
||||
if (config.playNonAtomicComponent()) {
|
||||
propertySetter.setInt(cl.getScrimBackground(),
|
||||
DRAWABLE_ALPHA, drawableAlpha, ZOOM_OUT);
|
||||
LauncherAnimUtils.DRAWABLE_ALPHA, drawableAlpha, Interpolators.ZOOM_OUT);
|
||||
}
|
||||
if (config.playAtomicOverviewScaleComponent()) {
|
||||
Interpolator fadeInterpolator = builder.getInterpolator(ANIM_WORKSPACE_FADE,
|
||||
Interpolator fadeInterpolator = builder.getInterpolator(AnimatorSetBuilder.ANIM_WORKSPACE_FADE,
|
||||
pageAlphaProvider.interpolator);
|
||||
propertySetter.setFloat(cl.getShortcutsAndWidgets(), View.ALPHA,
|
||||
pageAlpha, fadeInterpolator);
|
||||
@@ -14,15 +14,15 @@
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
package com.android.colorfulos.accessibility;
|
||||
package com.aoleyun.os.accessibility;
|
||||
|
||||
import android.view.ViewGroup;
|
||||
|
||||
import com.android.colorfulos.CellLayout;
|
||||
import com.android.colorfulos.DropTarget.DragObject;
|
||||
import com.android.colorfulos.Launcher;
|
||||
import com.android.colorfulos.dragndrop.DragController.DragListener;
|
||||
import com.android.colorfulos.dragndrop.DragOptions;
|
||||
import com.aoleyun.os.CellLayout;
|
||||
import com.aoleyun.os.DropTarget.DragObject;
|
||||
import com.aoleyun.os.Launcher;
|
||||
import com.aoleyun.os.dragndrop.DragController.DragListener;
|
||||
import com.aoleyun.os.dragndrop.DragOptions;
|
||||
|
||||
/**
|
||||
* Utility listener to enable/disable accessibility drag flags for a ViewGroup
|
||||
@@ -14,7 +14,7 @@
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
package com.android.colorfulos.accessibility;
|
||||
package com.aoleyun.os.accessibility;
|
||||
|
||||
import android.content.Context;
|
||||
import android.graphics.Rect;
|
||||
@@ -23,9 +23,9 @@ import android.view.View;
|
||||
import android.view.View.OnClickListener;
|
||||
import android.view.accessibility.AccessibilityEvent;
|
||||
|
||||
import com.android.colorfulos.CellLayout;
|
||||
import com.android.colorfulos.Launcher;
|
||||
import com.android.colorfulos.R;
|
||||
import com.aoleyun.os.CellLayout;
|
||||
import com.aoleyun.os.Launcher;
|
||||
import com.aoleyun.os.R;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
@@ -14,14 +14,14 @@
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
package com.android.colorfulos.accessibility;
|
||||
package com.aoleyun.os.accessibility;
|
||||
|
||||
import static com.android.colorfulos.compat.AccessibilityManagerCompat.isAccessibilityEnabled;
|
||||
import static com.aoleyun.os.compat.AccessibilityManagerCompat.isAccessibilityEnabled;
|
||||
|
||||
import android.view.View;
|
||||
import android.view.accessibility.AccessibilityEvent;
|
||||
|
||||
import com.android.colorfulos.Launcher;
|
||||
import com.aoleyun.os.Launcher;
|
||||
|
||||
/**
|
||||
* Periodically sends accessibility events to announce ongoing state changed. Based on the
|
||||
@@ -14,11 +14,11 @@
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
package com.android.colorfulos.accessibility;
|
||||
package com.aoleyun.os.accessibility;
|
||||
|
||||
import com.android.colorfulos.CellLayout;
|
||||
import com.android.colorfulos.R;
|
||||
import com.android.colorfulos.folder.FolderPagedView;
|
||||
import com.aoleyun.os.CellLayout;
|
||||
import com.aoleyun.os.R;
|
||||
import com.aoleyun.os.folder.FolderPagedView;
|
||||
|
||||
/**
|
||||
* Implementation of {@link DragAndDropAccessibilityDelegate} to support DnD in a folder.
|
||||
@@ -1,6 +1,6 @@
|
||||
package com.android.colorfulos.accessibility;
|
||||
package com.aoleyun.os.accessibility;
|
||||
|
||||
import static com.android.colorfulos.LauncherState.NORMAL;
|
||||
import static com.aoleyun.os.LauncherState.NORMAL;
|
||||
|
||||
import android.app.AlertDialog;
|
||||
import android.appwidget.AppWidgetProviderInfo;
|
||||
@@ -16,32 +16,32 @@ import android.view.View.AccessibilityDelegate;
|
||||
import android.view.accessibility.AccessibilityNodeInfo;
|
||||
import android.view.accessibility.AccessibilityNodeInfo.AccessibilityAction;
|
||||
|
||||
import com.android.colorfulos.AppInfo;
|
||||
import com.android.colorfulos.AppWidgetResizeFrame;
|
||||
import com.android.colorfulos.BubbleTextView;
|
||||
import com.android.colorfulos.ButtonDropTarget;
|
||||
import com.android.colorfulos.CellLayout;
|
||||
import com.android.colorfulos.DropTarget.DragObject;
|
||||
import com.android.colorfulos.FolderInfo;
|
||||
import com.android.colorfulos.ItemInfo;
|
||||
import com.android.colorfulos.Launcher;
|
||||
import com.android.colorfulos.LauncherAppWidgetInfo;
|
||||
import com.android.colorfulos.LauncherSettings;
|
||||
import com.android.colorfulos.LauncherSettings.Favorites;
|
||||
import com.android.colorfulos.PendingAddItemInfo;
|
||||
import com.android.colorfulos.R;
|
||||
import com.android.colorfulos.WorkspaceItemInfo;
|
||||
import com.android.colorfulos.Workspace;
|
||||
import com.android.colorfulos.dragndrop.DragController.DragListener;
|
||||
import com.android.colorfulos.dragndrop.DragOptions;
|
||||
import com.android.colorfulos.folder.Folder;
|
||||
import com.android.colorfulos.notification.NotificationListener;
|
||||
import com.android.colorfulos.popup.PopupContainerWithArrow;
|
||||
import com.android.colorfulos.shortcuts.DeepShortcutManager;
|
||||
import com.android.colorfulos.touch.ItemLongClickListener;
|
||||
import com.android.colorfulos.util.IntArray;
|
||||
import com.android.colorfulos.util.Thunk;
|
||||
import com.android.colorfulos.widget.LauncherAppWidgetHostView;
|
||||
import com.aoleyun.os.AppInfo;
|
||||
import com.aoleyun.os.AppWidgetResizeFrame;
|
||||
import com.aoleyun.os.BubbleTextView;
|
||||
import com.aoleyun.os.ButtonDropTarget;
|
||||
import com.aoleyun.os.CellLayout;
|
||||
import com.aoleyun.os.DropTarget.DragObject;
|
||||
import com.aoleyun.os.FolderInfo;
|
||||
import com.aoleyun.os.ItemInfo;
|
||||
import com.aoleyun.os.Launcher;
|
||||
import com.aoleyun.os.LauncherAppWidgetInfo;
|
||||
import com.aoleyun.os.LauncherSettings;
|
||||
import com.aoleyun.os.LauncherSettings.Favorites;
|
||||
import com.aoleyun.os.PendingAddItemInfo;
|
||||
import com.aoleyun.os.R;
|
||||
import com.aoleyun.os.WorkspaceItemInfo;
|
||||
import com.aoleyun.os.Workspace;
|
||||
import com.aoleyun.os.dragndrop.DragController.DragListener;
|
||||
import com.aoleyun.os.dragndrop.DragOptions;
|
||||
import com.aoleyun.os.folder.Folder;
|
||||
import com.aoleyun.os.notification.NotificationListener;
|
||||
import com.aoleyun.os.popup.PopupContainerWithArrow;
|
||||
import com.aoleyun.os.shortcuts.DeepShortcutManager;
|
||||
import com.aoleyun.os.touch.ItemLongClickListener;
|
||||
import com.aoleyun.os.util.IntArray;
|
||||
import com.aoleyun.os.util.Thunk;
|
||||
import com.aoleyun.os.widget.LauncherAppWidgetHostView;
|
||||
|
||||
import java.util.ArrayList;
|
||||
|
||||
@@ -14,22 +14,22 @@
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
package com.android.colorfulos.accessibility;
|
||||
package com.aoleyun.os.accessibility;
|
||||
|
||||
import static com.android.colorfulos.LauncherState.NORMAL;
|
||||
import static com.aoleyun.os.LauncherState.NORMAL;
|
||||
|
||||
import android.view.View;
|
||||
import android.view.accessibility.AccessibilityNodeInfo;
|
||||
import android.view.accessibility.AccessibilityNodeInfo.AccessibilityAction;
|
||||
|
||||
import com.android.colorfulos.AbstractFloatingView;
|
||||
import com.android.colorfulos.ItemInfo;
|
||||
import com.android.colorfulos.Launcher;
|
||||
import com.android.colorfulos.LauncherSettings;
|
||||
import com.android.colorfulos.R;
|
||||
import com.android.colorfulos.WorkspaceItemInfo;
|
||||
import com.android.colorfulos.notification.NotificationMainView;
|
||||
import com.android.colorfulos.shortcuts.DeepShortcutView;
|
||||
import com.aoleyun.os.AbstractFloatingView;
|
||||
import com.aoleyun.os.ItemInfo;
|
||||
import com.aoleyun.os.Launcher;
|
||||
import com.aoleyun.os.LauncherSettings;
|
||||
import com.aoleyun.os.R;
|
||||
import com.aoleyun.os.WorkspaceItemInfo;
|
||||
import com.aoleyun.os.notification.NotificationMainView;
|
||||
import com.aoleyun.os.shortcuts.DeepShortcutView;
|
||||
|
||||
import java.util.ArrayList;
|
||||
|
||||
@@ -14,22 +14,22 @@
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
package com.android.colorfulos.accessibility;
|
||||
package com.aoleyun.os.accessibility;
|
||||
|
||||
import android.content.Context;
|
||||
import android.graphics.Rect;
|
||||
import android.text.TextUtils;
|
||||
import android.view.View;
|
||||
|
||||
import com.android.colorfulos.AppInfo;
|
||||
import com.android.colorfulos.CellLayout;
|
||||
import com.android.colorfulos.FolderInfo;
|
||||
import com.android.colorfulos.ItemInfo;
|
||||
import com.android.colorfulos.Launcher;
|
||||
import com.android.colorfulos.R;
|
||||
import com.android.colorfulos.WorkspaceItemInfo;
|
||||
import com.android.colorfulos.accessibility.LauncherAccessibilityDelegate.DragType;
|
||||
import com.android.colorfulos.dragndrop.DragLayer;
|
||||
import com.aoleyun.os.AppInfo;
|
||||
import com.aoleyun.os.CellLayout;
|
||||
import com.aoleyun.os.FolderInfo;
|
||||
import com.aoleyun.os.ItemInfo;
|
||||
import com.aoleyun.os.Launcher;
|
||||
import com.aoleyun.os.R;
|
||||
import com.aoleyun.os.WorkspaceItemInfo;
|
||||
import com.aoleyun.os.accessibility.LauncherAccessibilityDelegate.DragType;
|
||||
import com.aoleyun.os.dragndrop.DragLayer;
|
||||
|
||||
import androidx.core.view.accessibility.AccessibilityNodeInfoCompat;
|
||||
|
||||
@@ -13,7 +13,7 @@
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
package com.android.colorfulos.allapps;
|
||||
package com.aoleyun.os.allapps;
|
||||
|
||||
import android.animation.ObjectAnimator;
|
||||
import android.content.Context;
|
||||
@@ -26,9 +26,9 @@ import android.graphics.drawable.Drawable;
|
||||
import android.view.ContextThemeWrapper;
|
||||
import android.view.Gravity;
|
||||
|
||||
import com.android.colorfulos.LauncherAnimUtils;
|
||||
import com.android.colorfulos.R;
|
||||
import com.android.colorfulos.util.Themes;
|
||||
import com.aoleyun.os.LauncherAnimUtils;
|
||||
import com.aoleyun.os.R;
|
||||
import com.aoleyun.os.util.Themes;
|
||||
|
||||
/**
|
||||
* This is a custom composite drawable that has a fixed virtual size and dynamically lays out its
|
||||
@@ -13,7 +13,7 @@
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
package com.android.colorfulos.allapps;
|
||||
package com.aoleyun.os.allapps;
|
||||
|
||||
import android.animation.ValueAnimator;
|
||||
import android.content.Context;
|
||||
@@ -34,30 +34,30 @@ import android.view.View;
|
||||
import android.view.ViewGroup;
|
||||
import android.view.WindowInsets;
|
||||
|
||||
import com.android.colorfulos.AppInfo;
|
||||
import com.android.colorfulos.DeviceProfile;
|
||||
import com.android.colorfulos.DeviceProfile.OnDeviceProfileChangeListener;
|
||||
import com.android.colorfulos.DragSource;
|
||||
import com.android.colorfulos.DropTarget.DragObject;
|
||||
import com.android.colorfulos.Insettable;
|
||||
import com.android.colorfulos.InsettableFrameLayout;
|
||||
import com.android.colorfulos.ItemInfo;
|
||||
import com.android.colorfulos.Launcher;
|
||||
import com.android.colorfulos.LauncherState;
|
||||
import com.android.colorfulos.R;
|
||||
import com.android.colorfulos.testing.TestProtocol;
|
||||
import com.android.colorfulos.Utilities;
|
||||
import com.android.colorfulos.compat.AccessibilityManagerCompat;
|
||||
import com.android.colorfulos.config.FeatureFlags;
|
||||
import com.android.colorfulos.keyboard.FocusedItemDecorator;
|
||||
import com.android.colorfulos.userevent.nano.LauncherLogProto.Target;
|
||||
import com.android.colorfulos.util.ItemInfoMatcher;
|
||||
import com.android.colorfulos.util.MultiValueAlpha;
|
||||
import com.android.colorfulos.util.MultiValueAlpha.AlphaProperty;
|
||||
import com.android.colorfulos.util.Themes;
|
||||
import com.android.colorfulos.views.BottomUserEducationView;
|
||||
import com.android.colorfulos.views.RecyclerViewFastScroller;
|
||||
import com.android.colorfulos.views.SpringRelativeLayout;
|
||||
import com.aoleyun.os.AppInfo;
|
||||
import com.aoleyun.os.DeviceProfile;
|
||||
import com.aoleyun.os.DeviceProfile.OnDeviceProfileChangeListener;
|
||||
import com.aoleyun.os.DragSource;
|
||||
import com.aoleyun.os.DropTarget.DragObject;
|
||||
import com.aoleyun.os.Insettable;
|
||||
import com.aoleyun.os.InsettableFrameLayout;
|
||||
import com.aoleyun.os.ItemInfo;
|
||||
import com.aoleyun.os.Launcher;
|
||||
import com.aoleyun.os.LauncherState;
|
||||
import com.aoleyun.os.R;
|
||||
import com.aoleyun.os.testing.TestProtocol;
|
||||
import com.aoleyun.os.Utilities;
|
||||
import com.aoleyun.os.compat.AccessibilityManagerCompat;
|
||||
import com.aoleyun.os.config.FeatureFlags;
|
||||
import com.aoleyun.os.keyboard.FocusedItemDecorator;
|
||||
import com.aoleyun.os.userevent.nano.LauncherLogProto.Target;
|
||||
import com.aoleyun.os.util.ItemInfoMatcher;
|
||||
import com.aoleyun.os.util.MultiValueAlpha;
|
||||
import com.aoleyun.os.util.MultiValueAlpha.AlphaProperty;
|
||||
import com.aoleyun.os.util.Themes;
|
||||
import com.aoleyun.os.views.BottomUserEducationView;
|
||||
import com.aoleyun.os.views.RecyclerViewFastScroller;
|
||||
import com.aoleyun.os.views.SpringRelativeLayout;
|
||||
|
||||
import androidx.annotation.NonNull;
|
||||
import androidx.annotation.Nullable;
|
||||
@@ -13,9 +13,9 @@
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
package com.android.colorfulos.allapps;
|
||||
package com.aoleyun.os.allapps;
|
||||
|
||||
import com.android.colorfulos.util.Thunk;
|
||||
import com.aoleyun.os.util.Thunk;
|
||||
|
||||
import java.util.HashSet;
|
||||
import java.util.List;
|
||||
@@ -13,7 +13,7 @@
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
package com.android.colorfulos.allapps;
|
||||
package com.aoleyun.os.allapps;
|
||||
|
||||
import android.content.Context;
|
||||
import android.content.Intent;
|
||||
@@ -26,16 +26,15 @@ import android.view.ViewGroup;
|
||||
import android.view.accessibility.AccessibilityEvent;
|
||||
import android.widget.TextView;
|
||||
|
||||
import com.android.colorfulos.AppInfo;
|
||||
import com.android.colorfulos.BubbleTextView;
|
||||
import com.android.colorfulos.Launcher;
|
||||
import com.android.colorfulos.R;
|
||||
import com.android.colorfulos.allapps.AlphabeticalAppsList.AdapterItem;
|
||||
import com.android.colorfulos.compat.UserManagerCompat;
|
||||
import com.android.colorfulos.model.AppLaunchTracker;
|
||||
import com.android.colorfulos.touch.ItemClickHandler;
|
||||
import com.android.colorfulos.touch.ItemLongClickListener;
|
||||
import com.android.colorfulos.util.PackageManagerHelper;
|
||||
import com.aoleyun.os.AppInfo;
|
||||
import com.aoleyun.os.BubbleTextView;
|
||||
import com.aoleyun.os.Launcher;
|
||||
import com.aoleyun.os.R;
|
||||
import com.aoleyun.os.compat.UserManagerCompat;
|
||||
import com.aoleyun.os.model.AppLaunchTracker;
|
||||
import com.aoleyun.os.touch.ItemClickHandler;
|
||||
import com.aoleyun.os.touch.ItemLongClickListener;
|
||||
import com.aoleyun.os.util.PackageManagerHelper;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
@@ -141,7 +140,7 @@ public class AllAppsGridAdapter extends RecyclerView.Adapter<AllAppsGridAdapter.
|
||||
* which should not be counted towards the collection info.
|
||||
*/
|
||||
private int getRowsNotForAccessibility(int adapterPosition) {
|
||||
List<AdapterItem> items = mApps.getAdapterItems();
|
||||
List<AlphabeticalAppsList.AdapterItem> items = mApps.getAdapterItems();
|
||||
adapterPosition = Math.max(adapterPosition, mApps.getAdapterItems().size() - 1);
|
||||
int extraRows = 0;
|
||||
for (int i = 0; i <= adapterPosition; i++) {
|
||||
@@ -13,13 +13,13 @@
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
package com.android.colorfulos.allapps;
|
||||
package com.aoleyun.os.allapps;
|
||||
|
||||
import android.content.Context;
|
||||
import android.util.AttributeSet;
|
||||
import android.view.MotionEvent;
|
||||
|
||||
import com.android.colorfulos.PagedView;
|
||||
import com.aoleyun.os.PagedView;
|
||||
|
||||
public class AllAppsPagedView extends PagedView<PersonalWorkSlidingTabStrip> {
|
||||
|
||||
@@ -13,7 +13,7 @@
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
package com.android.colorfulos.allapps;
|
||||
package com.aoleyun.os.allapps;
|
||||
|
||||
import static android.view.View.MeasureSpec.UNSPECIFIED;
|
||||
|
||||
@@ -26,17 +26,17 @@ import android.util.SparseIntArray;
|
||||
import android.view.MotionEvent;
|
||||
import android.view.View;
|
||||
|
||||
import com.android.colorfulos.BaseRecyclerView;
|
||||
import com.android.colorfulos.DeviceProfile;
|
||||
import com.android.colorfulos.ItemInfo;
|
||||
import com.android.colorfulos.Launcher;
|
||||
import com.android.colorfulos.LauncherAppState;
|
||||
import com.android.colorfulos.R;
|
||||
import com.android.colorfulos.compat.AccessibilityManagerCompat;
|
||||
import com.android.colorfulos.logging.StatsLogUtils.LogContainerProvider;
|
||||
import com.android.colorfulos.userevent.nano.LauncherLogProto.ContainerType;
|
||||
import com.android.colorfulos.userevent.nano.LauncherLogProto.Target;
|
||||
import com.android.colorfulos.views.RecyclerViewFastScroller;
|
||||
import com.aoleyun.os.BaseRecyclerView;
|
||||
import com.aoleyun.os.DeviceProfile;
|
||||
import com.aoleyun.os.ItemInfo;
|
||||
import com.aoleyun.os.Launcher;
|
||||
import com.aoleyun.os.LauncherAppState;
|
||||
import com.aoleyun.os.R;
|
||||
import com.aoleyun.os.compat.AccessibilityManagerCompat;
|
||||
import com.aoleyun.os.userevent.nano.LauncherLogProto.ContainerType;
|
||||
import com.aoleyun.os.userevent.nano.LauncherLogProto.Target;
|
||||
import com.aoleyun.os.views.RecyclerViewFastScroller;
|
||||
import com.aoleyun.os.logging.StatsLogUtils;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
@@ -45,7 +45,7 @@ import androidx.recyclerview.widget.RecyclerView;
|
||||
/**
|
||||
* A RecyclerView with custom fast scroll support for the all apps view.
|
||||
*/
|
||||
public class AllAppsRecyclerView extends BaseRecyclerView implements LogContainerProvider {
|
||||
public class AllAppsRecyclerView extends BaseRecyclerView implements StatsLogUtils.LogContainerProvider {
|
||||
|
||||
private AlphabeticalAppsList mApps;
|
||||
private AllAppsFastScrollHelper mFastScrollHelper;
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user