/*
* Copyright (C) 2010 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.zheng.systemui.statusbar.phone;
import android.animation.Animator;
import android.animation.Animator.AnimatorListener;
import android.animation.AnimatorListenerAdapter;
import android.animation.AnimatorSet;
import android.animation.ObjectAnimator;
import android.app.ActivityManager;
import android.app.ActivityManagerNative;
import android.app.Dialog;
import android.app.KeyguardManager;
import android.app.Notification;
import android.app.PendingIntent;
import android.app.StatusBarManager;
import android.content.BroadcastReceiver;
import android.content.Context;
import android.content.Intent;
import android.content.IntentFilter;
import android.content.res.Configuration;
import android.content.res.Resources;
import android.graphics.Canvas;
import android.graphics.ColorFilter;
import android.graphics.PixelFormat;
import android.graphics.PorterDuff;
import android.graphics.Rect;
import android.graphics.drawable.Drawable;
import android.graphics.drawable.NinePatchDrawable;
import android.inputmethodservice.InputMethodService;
import android.os.IBinder;
import android.os.Message;
import android.os.RemoteException;
import android.os.ServiceManager;
import android.os.SystemClock;
import android.provider.Settings;
import android.util.DisplayMetrics;
import android.util.Log;
import android.util.Slog;
import android.view.Choreographer;
import android.view.Display;
import android.view.Gravity;
import android.view.IWindowManager;
import android.view.KeyEvent;
import android.view.MotionEvent;
import android.view.VelocityTracker;
import android.view.View;
import android.view.ViewGroup;
import android.view.ViewGroup.LayoutParams;
import android.view.WindowManager;
import android.view.WindowManagerImpl;
import android.view.animation.AccelerateInterpolator;
import android.view.animation.Animation;
import android.view.animation.AnimationUtils;
import android.view.animation.DecelerateInterpolator;
import android.widget.FrameLayout;
import android.widget.ImageView;
import android.widget.LinearLayout;
import android.widget.ScrollView;
import android.widget.TextView;
import com.android.internal.statusbar.StatusBarIcon;
import com.android.internal.statusbar.StatusBarNotification;
import com.zheng.systemui.R;
import com.zheng.systemui.recent.RecentTasksLoader;
import com.zheng.systemui.statusbar.BaseStatusBar;
import com.zheng.systemui.statusbar.NotificationData;
import com.zheng.systemui.statusbar.NotificationData.Entry;
import com.zheng.systemui.statusbar.CommandQueue;
import com.zheng.systemui.statusbar.RotationToggle;
import com.zheng.systemui.statusbar.SignalClusterView;
import com.zheng.systemui.statusbar.StatusBarIconView;
import com.zheng.systemui.statusbar.policy.BatteryController;
import com.zheng.systemui.statusbar.policy.DateView;
import com.zheng.systemui.statusbar.policy.IntruderAlertView;
import com.zheng.systemui.statusbar.policy.LocationController;
import com.zheng.systemui.statusbar.policy.OnSizeChangedListener;
import com.zheng.systemui.statusbar.policy.NetworkController;
import com.zheng.systemui.statusbar.policy.NotificationRowLayout;
import java.io.FileDescriptor;
import java.io.PrintWriter;
import java.util.ArrayList;
public class PhoneStatusBar extends BaseStatusBar {
static final String TAG = "PhoneStatusBar";
public static final boolean DEBUG = false;
public static final boolean SPEW = DEBUG;
public static final boolean DUMPTRUCK = true; // extra dumpsys info
// additional instrumentation for testing purposes; intended to be left on during development
public static final boolean CHATTY = DEBUG;
public static final String ACTION_STATUSBAR_START
= "com.android.internal.policy.statusbar.START";
private static final boolean DIM_BEHIND_EXPANDED_PANEL = true;
private static final boolean SHOW_CARRIER_LABEL = true;
private static final int MSG_OPEN_NOTIFICATION_PANEL = 1000;
private static final int MSG_CLOSE_NOTIFICATION_PANEL = 1001;
// 1020-1030 reserved for BaseStatusBar
// will likely move to a resource or other tunable param at some point
private static final int INTRUDER_ALERT_DECAY_MS = 0; // disabled, was 10000;
private static final boolean CLOSE_PANEL_WHEN_EMPTIED = true;
private static final int NOTIFICATION_PRIORITY_MULTIPLIER = 10; // see NotificationManagerService
private static final int HIDE_ICONS_BELOW_SCORE = Notification.PRIORITY_LOW * NOTIFICATION_PRIORITY_MULTIPLIER;
// fling gesture tuning parameters, scaled to display density
private float mSelfExpandVelocityPx; // classic value: 2000px/s
private float mSelfCollapseVelocityPx; // classic value: 2000px/s (will be negated to collapse "up")
private float mFlingExpandMinVelocityPx; // classic value: 200px/s
private float mFlingCollapseMinVelocityPx; // classic value: 200px/s
private float mCollapseMinDisplayFraction; // classic value: 0.08 (25px/min(320px,480px) on G1)
private float mExpandMinDisplayFraction; // classic value: 0.5 (drag open halfway to expand)
private float mFlingGestureMaxXVelocityPx; // classic value: 150px/s
private float mExpandAccelPx; // classic value: 2000px/s/s
private float mCollapseAccelPx; // classic value: 2000px/s/s (will be negated to collapse "up")
private float mFlingGestureMaxOutputVelocityPx; // how fast can it really go? (should be a little
// faster than mSelfCollapseVelocityPx)
PhoneStatusBarPolicy mIconPolicy;
// These are no longer handled by the policy, because we need custom strategies for them
BatteryController mBatteryController;
LocationController mLocationController;
NetworkController mNetworkController;
int mNaturalBarHeight = -1;
int mIconSize = -1;
int mIconHPadding = -1;
Display mDisplay;
IWindowManager mWindowManager;
StatusBarWindowView mStatusBarWindow;
PhoneStatusBarView mStatusBarView;
int mPixelFormat;
Object mQueueLock = new Object();
// icons
LinearLayout mIcons;
IconMerger mNotificationIcons;
View mMoreIcon;
LinearLayout mStatusIcons;
// expanded notifications
View mNotificationPanel; // the sliding/resizing panel within the notification window
ScrollView mScrollView;
View mExpandedContents;
int mNotificationPanelMarginBottomPx, mNotificationPanelMarginLeftPx;
final Rect mNotificationPanelBackgroundPadding = new Rect();
int mNotificationPanelGravity;
int mNotificationPanelMinHeight;
boolean mNotificationPanelIsFullScreenWidth;
// top bar
View mClearButton;
View mSettingsButton;
RotationToggle mRotationButton;
// carrier/wifi label
private TextView mCarrierLabel;
private boolean mCarrierLabelVisible = false;
private int mCarrierLabelHeight;
// drag bar
CloseDragHandle mCloseView;
private int mCloseViewHeight;
// position
int[] mPositionTmp = new int[2];
boolean mExpanded;
boolean mExpandedVisible;
// the date view
DateView mDateView;
// for immersive activities
private IntruderAlertView mIntruderAlertView;
// on-screen navigation buttons
private NavigationBarView mNavigationBarView = null;
// the tracker view
int mTrackingPosition; // the position of the top of the tracking view.
private boolean mPanelSl
没有合适的资源?快使用搜索试试~ 我知道了~
资源推荐
资源详情
资源评论
收起资源包目录
SystemUI(导入到Eclipse,可以正常运行) (2000个子文件)
resources.ap_ 1.74MB
SystemUI.apk 1.97MB
PhoneStatusBar.class 50KB
TabletStatusBar.class 42KB
NetworkController.class 29KB
RecentsPanelView.class 26KB
BaseStatusBar.class 25KB
InputMethodsPanel.class 18KB
ImageWallpaper$DrawableEngine.class 16KB
RecentsVerticalScrollView.class 13KB
RecentsHorizontalScrollView.class 13KB
NavigationBarView.class 13KB
GlobalScreenshot.class 12KB
UsbStorageActivity.class 11KB
SwipeHelper.class 11KB
SaveImageInBackgroundTask.class 10KB
NotificationPanel.class 10KB
RecentTasksLoader.class 10KB
TabletTicker.class 10KB
R$drawable.class 10KB
StatusBarIconView.class 9KB
KeyButtonView.class 9KB
SearchPanelView.class 9KB
StorageNotification.class 8KB
PowerUI.class 8KB
ExpandHelper.class 8KB
NotificationRowLayout.class 8KB
CommandQueue.class 7KB
UsbPermissionActivity.class 7KB
NotificationPlayer.class 7KB
R$string.class 7KB
PhoneStatusBarPolicy.class 7KB
UsbConfirmActivity.class 7KB
LoadAverageService$LoadView.class 6KB
R$id.class 6KB
Ticker.class 6KB
Choreographer.class 6KB
TabletStatusBar$H.class 6KB
RecentsScrollViewPerformanceHelper.class 6KB
IntruderAlertView.class 5KB
SignalClusterView.class 5KB
Clock.class 5KB
BeanBag$Board$Bean.class 5KB
UsbResolverActivity.class 5KB
PhoneStatusBarView.class 5KB
RecentsPanelView$TaskDescriptionAdapter.class 5KB
SettingsView.class 5KB
BeanBag$Board.class 5KB
RecentTasksLoader$1.class 5KB
InputMethodButton.class 5KB
ToggleSlider.class 5KB
SystemUIService.class 5KB
NotificationData.class 4KB
TabletStatusBar$NotificationIconTouchListener.class 4KB
CommandQueue$H.class 4KB
Ticker$Segment.class 4KB
UsbAccessoryUriActivity.class 4KB
LocationController.class 4KB
RingtonePlayer.class 4KB
DelegateViewHelper.class 4KB
R$dimen.class 4KB
NotificationPanel$Choreographer.class 4KB
DateView.class 4KB
PhoneStatusBar$NotificationClicker.class 4KB
BrightnessController.class 3KB
NotificationPlayer$CreationAndCompletionThread.class 3KB
TabletStatusBarView.class 3KB
BluetoothController.class 3KB
NotificationPanelTitle.class 3KB
NetworkOverLimitActivity.class 3KB
NotificationPlayer$CmdThread.class 3KB
RingtonePlayer$1.class 3KB
TabletStatusBar$NotificationTriggerTouchListener.class 3KB
CompatModePanel.class 3KB
BaseStatusBar$NotificationClicker.class 3KB
ExpandHelper$2.class 3KB
AirplaneModeController.class 3KB
PhoneStatusBar$12$1.class 3KB
CarrierLabel.class 3KB
BatteryController.class 3KB
StatusBarWindowView.class 3KB
EventHole.class 3KB
NotificationLinearLayout.class 3KB
PhoneStatusBar$12.class 3KB
DoNotDisturbController.class 3KB
AutoRotateController.class 3KB
DreamsDockLauncher.class 3KB
PowerUI$1.class 3KB
TabletStatusBar$7.class 3KB
ShirtPocket$DropZone.class 3KB
ShirtPocket.class 3KB
RecentTasksLoader$2.class 2KB
UsbStorageActivity$2.class 2KB
RecentsPanelView$3.class 2KB
IconMerger.class 2KB
TaskDescription.class 2KB
VolumeController.class 2KB
InputMethodsPanel$InputMethodComparator.class 2KB
NetworkController$1.class 2KB
AnimatedImageView.class 2KB
共 2000 条
- 1
- 2
- 3
- 4
- 5
- 6
- 20
yesterdaylike
- 粉丝: 16
- 资源: 15
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- IMG_20240423_191216.jpg
- 基于MATLAB实现分析黑体辐射光谱图时将通过迈克尔逊干涉仪得到干涉图经过傅里叶变换转换为光谱图的功能源码.zip
- DynamicArray02.java
- 数据可视化 matplotlib 实例.docx
- 数据可视化 matplotlib 实例.7z
- Python 使用 Matplotlib 绘制甘特图的实践.7z
- Python 使用 Matplotlib 绘制甘特图的实践.docx
- matplotlib 中的 cmap 参数介绍.docx
- matplotlib 中的 cmap 参数介绍.7z
- 基于matlab的毕业设计基于Matlab使用LQR实现车辆轨迹跟踪源码.zip
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功
- 1
- 2
- 3
- 4
前往页