/*
* Copyright (C) 2008 The Android Open Source Project
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package com.android.launcher2;
import android.accounts.Account;
import android.accounts.AccountManager;
import android.animation.Animator;
import android.animation.AnimatorListenerAdapter;
import android.animation.AnimatorSet;
import android.animation.ObjectAnimator;
import android.animation.PropertyValuesHolder;
import android.animation.ValueAnimator;
import android.animation.ValueAnimator.AnimatorUpdateListener;
import android.app.Activity;
import android.app.ActivityManager;
import android.app.ActivityOptions;
import android.app.SearchManager;
import android.appwidget.AppWidgetHostView;
import android.appwidget.AppWidgetManager;
import android.appwidget.AppWidgetProviderInfo;
import android.content.ActivityNotFoundException;
import android.content.BroadcastReceiver;
import android.content.ComponentCallbacks2;
import android.content.ComponentName;
import android.content.ContentResolver;
import android.content.Context;
import android.content.Intent;
import android.content.IntentFilter;
import android.content.SharedPreferences;
import android.content.pm.ActivityInfo;
import android.content.pm.PackageManager;
import android.content.pm.PackageManager.NameNotFoundException;
import android.content.res.Configuration;
import android.content.res.Resources;
import android.database.ContentObserver;
import android.graphics.Bitmap;
import android.graphics.Canvas;
import android.graphics.Color;
import android.graphics.PorterDuff;
import android.graphics.Rect;
import android.graphics.drawable.ColorDrawable;
import android.graphics.drawable.Drawable;
import android.net.Uri;
import android.os.AsyncTask;
import android.os.Bundle;
import android.os.Environment;
import android.os.Handler;
import android.os.Message;
import android.os.StrictMode;
import android.os.SystemClock;
import android.provider.Settings;
import android.speech.RecognizerIntent;
import android.text.Selection;
import android.text.SpannableStringBuilder;
import android.text.TextUtils;
import android.text.method.TextKeyListener;
import android.util.Log;
import android.view.Display;
import android.view.HapticFeedbackConstants;
import android.view.KeyEvent;
import android.view.LayoutInflater;
import android.view.Menu;
import android.view.MenuItem;
import android.view.MotionEvent;
import android.view.Surface;
import android.view.View;
import android.view.View.OnLongClickListener;
import android.view.ViewGroup;
import android.view.ViewTreeObserver;
import android.view.ViewTreeObserver.OnGlobalLayoutListener;
import android.view.WindowManager;
import android.view.accessibility.AccessibilityEvent;
import android.view.animation.AccelerateDecelerateInterpolator;
import android.view.animation.AccelerateInterpolator;
import android.view.animation.DecelerateInterpolator;
import android.view.inputmethod.InputMethodManager;
import android.widget.Advanceable;
import android.widget.ImageView;
import android.widget.TextView;
import android.widget.Toast;
//import com.android.common.Search;
import com.show.luanch.R;
import com.android.launcher2.DropTarget.DragObject;
import java.io.DataInputStream;
import java.io.DataOutputStream;
import java.io.FileDescriptor;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.io.PrintWriter;
import java.util.ArrayList;
import java.util.Collection;
import java.util.Collections;
import java.util.Comparator;
import java.util.HashMap;
import java.util.HashSet;
import java.util.List;
import java.util.Set;
/**
* 桌面主界面Activity
*/
public final class Launcher extends Activity implements View.OnClickListener,
OnLongClickListener, LauncherModel.Callbacks, View.OnTouchListener {
static final String TAG = "Launcher";
static final boolean LOGD = false;
static final boolean PROFILE_STARTUP = false;
static final boolean DEBUG_WIDGETS = false;
static final boolean DEBUG_STRICT_MODE = false;
private static final int MENU_GROUP_WALLPAPER = 1;
private static final int MENU_WALLPAPER_SETTINGS = Menu.FIRST + 1;
private static final int MENU_MANAGE_APPS = MENU_WALLPAPER_SETTINGS + 1;
private static final int MENU_SYSTEM_SETTINGS = MENU_MANAGE_APPS + 1;
private static final int MENU_HELP = MENU_SYSTEM_SETTINGS + 1;
private static final int REQUEST_CREATE_SHORTCUT = 1;
private static final int REQUEST_CREATE_APPWIDGET = 5;
private static final int REQUEST_PICK_APPLICATION = 6;
private static final int REQUEST_PICK_SHORTCUT = 7;
private static final int REQUEST_PICK_APPWIDGET = 9;
private static final int REQUEST_PICK_WALLPAPER = 10;
private static final int REQUEST_BIND_APPWIDGET = 11;
static final String EXTRA_SHORTCUT_DUPLICATE = "duplicate";
static final int SCREEN_COUNT = 5;// 五屏
static final int DEFAULT_SCREEN = 2;// 默认屏幕为中间的屏幕
private static final String PREFERENCES = "launcher.preferences";
// To turn on these properties, type
// adb shell setprop log.tag.PROPERTY_NAME [VERBOSE | SUPPRESS]
static final String FORCE_ENABLE_ROTATION_PROPERTY = "launcher_force_rotate";
static final String DUMP_STATE_PROPERTY = "launcher_dump_state";
// The Intent extra that defines whether to ignore the launch animation
static final String INTENT_EXTRA_IGNORE_LAUNCH_ANIMATION = "com.android.launcher.intent.extra.shortcut.INGORE_LAUNCH_ANIMATION";
// Type: int
private static final String RUNTIME_STATE_CURRENT_SCREEN = "launcher.current_screen";
// Type: int
private static final String RUNTIME_STATE = "launcher.state";
// Type: int
private static final String RUNTIME_STATE_PENDING_ADD_CONTAINER = "launcher.add_container";
// Type: int
private static final String RUNTIME_STATE_PENDING_ADD_SCREEN = "launcher.add_screen";
// Type: int
private static final String RUNTIME_STATE_PENDING_ADD_CELL_X = "launcher.add_cell_x";
// Type: int
private static final String RUNTIME_STATE_PENDING_ADD_CELL_Y = "launcher.add_cell_y";
// Type: boolean
private static final String RUNTIME_STATE_PENDING_FOLDER_RENAME = "launcher.rename_folder";
// Type: long
private static final String RUNTIME_STATE_PENDING_FOLDER_RENAME_ID = "launcher.rename_folder_id";
// Type: int
private static final String RUNTIME_STATE_PENDING_ADD_SPAN_X = "launcher.add_span_x";
// Type: int
private static final String RUNTIME_STATE_PENDING_ADD_SPAN_Y = "launcher.add_span_y";
// Type: parcelable
private static final String RUNTIME_STATE_PENDING_ADD_WIDGET_INFO = "launcher.add_widget_info";
private static final String TOOLBAR_ICON_METADATA_NAME = "com.android.launcher.toolbar_icon";
private static final String TOOLBAR_SEARCH_ICON_METADATA_NAME = "com.android.launcher.toolbar_search_icon";
private static final String TOOLBAR_VOICE_SEARCH_ICON_METADATA_NAME = "com.android.launcher.toolbar_voice_search_icon";
/** Launcher可能的四种状态:NONE,桌面上,“所有程序”界面,切换界面? */
private enum State {
NONE, WORKSPACE, APPS_CUSTOMIZE, APPS_CUSTOMIZE_SPRING_LOADED
};
private State mState = State.WORKSPACE;
private AnimatorSet mStateAnimation;
private AnimatorSet mDividerAnimator;
static final int APPWIDGET_HOST_ID = 1024;
private static final int EXIT_SPRINGLOADED_MODE_SHORT_TIMEOUT = 300;
private static final int EXIT_SPRINGLOADED_MODE_LONG_TIMEOUT = 600;
private static final int SHOW_CLING_DURATION = 550;
private static final int DISMISS_CLING_DURATION = 250;
private static final Object sLock = new O
没有合适的资源?快使用搜索试试~ 我知道了~
Android 4.0 Launcher2 源码 Eclipse版(已修改包名,不冲突系统桌面)
共595个文件
png:250个
xml:196个
java:80个
需积分: 12 49 下载量 156 浏览量
2016-09-03
09:23:27
上传
评论 1
收藏 14.19MB RAR 举报
温馨提示
测试的时候,为了避免和android系统自带的Launcher有冲突,特意修改了包名,完美适用
资源推荐
资源详情
资源评论
收起资源包目录
Android 4.0 Launcher2 源码 Eclipse版(已修改包名,不冲突系统桌面) (595个子文件)
.classpath 475B
proguard.flags 2KB
.gitattributes 483B
.gitignore 3KB
Launcher.java 137KB
Workspace.java 131KB
CellLayout.java 129KB
LauncherModel.java 121KB
R.java 119KB
AppsCustomizePagedView.java 77KB
PagedView.java 61KB
LauncherProvider.java 51KB
FocusHelper.java 38KB
Folder.java 37KB
DragLayer.java 29KB
DragController.java 24KB
FolderIcon.java 24KB
DeleteDropTarget.java 18KB
PagedViewCellLayout.java 17KB
AppsCustomizeTabHost.java 16KB
AppWidgetResizeFrame.java 16KB
BubbleTextView.java 12KB
WallpaperChooserDialogFragment.java 11KB
InstallShortcutReceiver.java 11KB
Cling.java 11KB
HolographicOutlineHelper.java 9KB
DragView.java 9KB
Utilities.java 9KB
PagedViewWidget.java 8KB
SearchDropTargetBar.java 8KB
IconCache.java 7KB
LauncherSettings.java 7KB
LauncherViewPropertyAnimator.java 7KB
InstallWidgetReceiver.java 7KB
AllAppsList.java 7KB
UninstallShortcutReceiver.java 6KB
ShortcutAndWidgetContainer.java 6KB
PagedViewWithDraggableItems.java 6KB
SmoothPagedView.java 6KB
DropTarget.java 6KB
PagedViewCellLayoutChildren.java 5KB
Hotseat.java 5KB
StrokedTextView.java 5KB
ItemInfo.java 5KB
ShortcutInfo.java 5KB
LauncherApplication.java 5KB
PagedViewIconCache.java 4KB
InterruptibleInOutAnimator.java 4KB
DeferredHandler.java 4KB
InfoDropTarget.java 4KB
PagedViewGridLayout.java 4KB
ApplicationInfo.java 4KB
ButtonDropTarget.java 4KB
SymmetricalLinearTween.java 4KB
HideFromAccessibilityHelper.java 3KB
HolographicViewHelper.java 3KB
PendingAddItemInfo.java 3KB
LauncherAnimUtils.java 3KB
LauncherAppWidgetHostView.java 3KB
PagedViewIcon.java 3KB
HolographicLinearLayout.java 3KB
LauncherAppWidgetInfo.java 3KB
FastBitmapDrawable.java 3KB
UserInitializeReceiver.java 3KB
FolderInfo.java 2KB
FocusOnlyTabWidget.java 2KB
Alarm.java 2KB
HandleView.java 2KB
SpringLoadedDragController.java 2KB
PreloadReceiver.java 2KB
DrawableStateProxyView.java 2KB
CheckLongPressHelper.java 2KB
LauncherAppWidgetHost.java 2KB
HolographicImageView.java 2KB
WallpaperChooser.java 2KB
AccessibleTabView.java 2KB
PagedViewWidgetImageView.java 1KB
DragSource.java 1KB
DragScroller.java 1KB
FolderEditText.java 1KB
LauncherAnimatorUpdateListener.java 1KB
Manifest.java 823B
TweenCallback.java 796B
BuildConfig.java 157B
wallpaper_01.jpg 1.28MB
wallpaper_02.jpg 1.26MB
wallpaper_08.jpg 778KB
wallpaper_00.jpg 689KB
wallpaper_04.jpg 624KB
wallpaper_02.jpg 606KB
wallpaper_09.jpg 594KB
wallpaper_07.jpg 546KB
wallpaper_05.jpg 522KB
wallpaper_08.jpg 407KB
wallpaper_05.jpg 397KB
wallpaper_09.jpg 389KB
wallpaper_03.jpg 348KB
wallpaper_01.jpg 304KB
wallpaper_04.jpg 294KB
wallpaper_10.jpg 293KB
共 595 条
- 1
- 2
- 3
- 4
- 5
- 6
资源评论
brainbgm
- 粉丝: 36
- 资源: 18
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功