version:1.5

fix:迁移到奥乐云平台
add:
This commit is contained in:
2021-12-10 14:49:23 +08:00
parent 2462bafa85
commit ed8310da47
713 changed files with 6024 additions and 4805 deletions

View File

@@ -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;
}
}

View File

@@ -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;
}
}

View File

@@ -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);
}
}

View File

@@ -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;
}
}

View File

@@ -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";
}

View File

@@ -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;

View File

@@ -14,7 +14,7 @@
* limitations under the License.
*/
package com.android.colorfulos;
package com.aoleyun.os;
import android.os.Handler;
import android.os.SystemClock;

View File

@@ -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;

View File

@@ -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 {

View File

@@ -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);

View File

@@ -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();

View File

@@ -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()) {

View File

@@ -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;

View File

@@ -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() {

View File

@@ -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;

View File

@@ -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;

View File

@@ -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));
}
/**

View File

@@ -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,

View File

@@ -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();

View File

@@ -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;

View File

@@ -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));

View File

@@ -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 {

View File

@@ -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 {

View File

@@ -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

View File

@@ -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.

View File

@@ -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) {

View File

@@ -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;
/**

View File

@@ -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;

View File

@@ -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) {

View File

@@ -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();

View File

@@ -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;

View File

@@ -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;

View File

@@ -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 {

View File

@@ -14,7 +14,7 @@
* limitations under the License.
*/
package com.android.colorfulos;
package com.aoleyun.os;
import android.graphics.Rect;

View File

@@ -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")

View File

@@ -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();

View File

@@ -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);

View File

@@ -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);
}

View File

@@ -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.

View File

@@ -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) {

View File

@@ -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();

View File

@@ -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;

View File

@@ -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();
}

View File

@@ -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.

View File

@@ -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;

View File

@@ -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.

View File

@@ -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

View File

@@ -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 {

View File

@@ -14,7 +14,7 @@
* limitations under the License.
*/
package com.android.colorfulos;
package com.aoleyun.os;
import android.content.Intent;
import android.os.Bundle;

View File

@@ -14,7 +14,7 @@
* limitations under the License.
*/
package com.android.colorfulos;
package com.aoleyun.os;
import android.content.SharedPreferences;

View File

@@ -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";

View File

@@ -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) //日历更新

View File

@@ -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();

View File

@@ -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

View File

@@ -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);

View File

@@ -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;

View File

@@ -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);
}
}

View File

@@ -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;
}

View File

@@ -1,4 +1,4 @@
package com.android.colorfulos;
package com.aoleyun.os;
import android.animation.TimeInterpolator;

View File

@@ -1,4 +1,4 @@
package com.android.colorfulos;
package com.aoleyun.os;
import android.animation.TimeInterpolator;

View File

@@ -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

View File

@@ -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.

View File

@@ -1,4 +1,4 @@
package com.android.colorfulos;
package com.aoleyun.os;
public interface OnAlarmListener {
public void onAlarm(Alarm alarm);

View File

@@ -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;

View File

@@ -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";

View File

@@ -14,7 +14,7 @@
* limitations under the License.
*/
package com.android.colorfulos;
package com.aoleyun.os;
import android.content.ComponentName;

View File

@@ -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;

View File

@@ -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;

View File

@@ -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;

View File

@@ -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;

View File

@@ -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";

View File

@@ -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.

View File

@@ -1,4 +1,4 @@
package com.android.colorfulos.Statistics;
package com.aoleyun.os.Statistics;
import android.app.usage.UsageStats;
import android.content.Context;

View File

@@ -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 {

View File

@@ -1,4 +1,4 @@
package com.android.colorfulos;
package com.aoleyun.os;
import android.view.MotionEvent;
import android.view.View;

View File

@@ -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;

View File

@@ -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;

View 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();
}
}

View File

@@ -1,4 +1,4 @@
package com.android.colorfulos.TTUtils;
package com.aoleyun.os.TTUtils;
import java.text.SimpleDateFormat;
import java.util.Calendar;

View 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();
// }
// });
// }
}

View 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();
}
}
}

View File

@@ -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();

View File

@@ -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);

View File

@@ -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();
}

View File

@@ -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.

View File

@@ -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 {

View File

@@ -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);

View File

@@ -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

View File

@@ -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;

View File

@@ -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

View File

@@ -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.

View File

@@ -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;

View File

@@ -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;

View File

@@ -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;

View File

@@ -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

View File

@@ -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;

View File

@@ -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;

View File

@@ -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++) {

View File

@@ -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> {

View File

@@ -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