Android R 版本客制化处理合集 (一)

NFC (Enabler\Reader\TapPay)

vendor/mediatek/proprietary/packages/apps/MtkSettings/src/com/mediatek/nfc/MtkNfcEnabler.java
@@ -45,6 +45,10 @@ public class MtkNfcEnabler implements SwitchBar.OnSwitchChangeListener {
     private QueryTask mQueryTask = null;
 
     private static final String TAG = "MtkNfcEnabler";
+       
+       // Monkey.NFC
+    public boolean isShowSwitchBar = true;
+
 
     /**
      * The broadcast receiver is used to handle the nfc adapter state changed.
@@ -94,11 +98,17 @@ public class MtkNfcEnabler implements SwitchBar.OnSwitchChangeListener {
 
     public void setupSwitchBar() {
+               // Moneky.NFC
+               isShowSwitchBar = true;
         mSwitchBar.addOnSwitchChangeListener(this);
+               
         mSwitchBar.show();
     }

     public void teardownSwitchBar() {
+               // Monkey.NFC
+        isShowSwitchBar = false;
+
         mSwitchBar.removeOnSwitchChangeListener(this);
         mSwitchBar.hide();
     }
alps/vendor/mediatek/proprietary/packages/apps/MtkSettings/src/com/mediatek/nfc/NfcSettings.java
@@ -177,7 +177,8 @@ public class NfcSettings extends SettingsPreferenceFragment implements Indexable
         Log.d("@M_" + TAG, "onDestroyView, mSwitchBar removeOnSwitchChangeListener");
 
 //        getActivity().getActionBar().setCustomView(null);
-        if (mNfcEnabler != null) {
+        // Mondify Monkey.NFC
+        if (mNfcEnabler != null && mNfcEnabler.isShowSwitchBar) {
             mNfcEnabler.teardownSwitchBar();
         }
         super.onDestroyView();
@@ -227,10 +228,34 @@ public class NfcSettings extends SettingsPreferenceFragment implements Indexable
 
     private void updatePreferenceEnabledStatus(int state) {
         Log.d("@M_" + TAG, "updatePreferenceEnabledStatus nfc state :"  + state);
+
+        // add Monkey.NFC
+        int isDisableNfcRadio = Settings.Global.getInt(mActivity.getContentResolver(), "disable_nfc_radio", 2);

+            if (isDisableNfcRadio == 0) {
+                if (mNfcEnabler != null && mNfcEnabler.isShowSwitchBar) {
+                    mNfcEnabler.teardownSwitchBar();
+                }
+            } else {
+                if (mNfcEnabler != null && !mNfcEnabler.isShowSwitchBar) {
+                    mNfcEnabler.setupSwitchBar();
+                }
+            }
+        //end
+
         // if nfc is on, set enabled, else set disenabled.
         if (state == NfcAdapter.STATE_ON) {
             mNfcP2pModePref.setEnabled(true);
-            mNfcRwTagPref.setEnabled(true);
+            // add Monkey.NFC
+            int isDisableNfcTapPay = Settings.Global.getInt(mActivity.getContentResolver(),"disable_nfc_hce_on", 2);
+            int isDisableNfcReader = Settings.Global.getInt(mActivity.getContentResolver(),"disable_nfc_reader", 2);
+            if(isDisableNfcReader == 0){
+                mNfcRwTagPref.setEnabled(false);
+            }else{
+                mNfcRwTagPref.setEnabled(true);
+            }
+            //end
             /*if (mNfcBeamOpen) {
                 mAndroidBeam.setSummary(R.string.android_beam_on_summary);
             } else {
@@ -239,7 +264,13 @@ public class NfcSettings extends SettingsPreferenceFragment implements Indexable
             if (mCardEmulationExist) {
                 mCardEmulationPref.setEnabled(true);
             }
-            mNfcTapPayPref.setEnabled(true);
+            // add Monkey.NFC
+            if(isDisableNfcTapPay == 0){
+                mNfcTapPayPref.setEnabled(false);
+            }else{
+                mNfcTapPayPref.setEnabled(true);
+            }
+            //end
         } else {

Enable Status Bar 

alps/vendor/mediatek/proprietary/packages/apps/SystemUI/src/com/android/systemui/statusbar/phone/StatusBar.java
@@ -999,8 +999,42 @@ public class StatusBar extends SystemUI implements DemoMode,
                         }
                     }
                 }, OverlayPlugin.class, true /* Allow multiple plugins */);
+            mContext.getContentResolver().registerContentObserver(Settings.Global.getUriFor(
+                    "hide_statusbar"), false, mHideStatusbarObserver);
+
+        //end
     }
 
+    private final android.database.ContentObserver mHideStatusbarObserver = new android.database.ContentObserver(new Handler()) {
+        @Override
+        public void onChange(boolean selfChange, Uri uri) {
+            Log.e(TAG, "mHideStatusbarObserver  onChange() uri = " + uri.toString());
+            if (Settings.Global.getInt(mContext.getContentResolver(), "hide_statusbar", 1) == 0) {
+                Log.e(TAG, "mStatusBarWindow.setVisibility " + (mStatusBarView != null));
+                if (mStatusBarView != null) {
+                    LinearLayout statusBarContents = ((LinearLayout) mStatusBarView.findViewById(R.id.status_bar_contents));
+                    if (statusBarContents != null) {
+                        statusBarContents.setVisibility(View.GONE);
+                    }
+                }
+            } else {
+                if (mStatusBarView != null) {
+                    LinearLayout statusBarContents = ((LinearLayout) mStatusBarView.findViewById(R.id.status_bar_contents));
+                    if (statusBarContents != null) {
+                        statusBarContents.setVisibility(View.VISIBLE);
+                    }
+                }
+            }
+        }
+    };
+    //end
+
     // ================================================================================
     // Constructing the view
     // ================================================================================
@@ -1086,6 +1120,26 @@ public class StatusBar extends SystemUI implements DemoMode,
                             mStatusBarView.findViewById(R.id.notification_lights_out));
                     mNotificationShadeWindowViewController.setStatusBarView(mStatusBarView);
                     checkBarModes();

+                        if (Settings.Global.getInt(mContext.getContentResolver(), "hide_statusbar", 1) == 0) {
+                            Log.e(TAG, "mStatusBarWindow.setVisibility " + (mStatusBarView != null));
+                            if (mStatusBarView != null) {
+                                LinearLayout statusBarContents = ((LinearLayout) mStatusBarView.findViewById(R.id.status_bar_contents));
+                                if (statusBarContents != null) {
+                                    statusBarContents.setVisibility(View.GONE);
+                                }
+                            }
+                        } else {
+                            if (mStatusBarView != null) {
+                                LinearLayout statusBarContents = ((LinearLayout) mStatusBarView.findViewById(R.id.status_bar_contents));
+                                if (statusBarContents != null) {
+                                    statusBarContents.setVisibility(View.VISIBLE);
+                                }
+                            }
+                        }
+                    //end
                     /// M: add for plmn display feature @{
                     attachPlmnPlugin();
                     ///@}
@@ -1287,6 +1341,27 @@ public class StatusBar extends SystemUI implements DemoMode,
 
         // Private API call to make the shadows look better for Recents
         ThreadedRenderer.overrideProperty("ambientRatio", String.valueOf(1.5f));
+
+            if (Settings.Global.getInt(mContext.getContentResolver(), "hide_statusbar", 1) == 0) {
+                Log.e(TAG, "mStatusBarWindow.setVisibility " + (mStatusBarView != null));
+                if (mStatusBarView != null) {
+                    LinearLayout statusBarContents = ((LinearLayout) mStatusBarView.findViewById(R.id.status_bar_contents));
+                    if (statusBarContents != null) {
+                        statusBarContents.setVisibility(View.GONE);
+                    }
+                }
+            } else {
+                if (mStatusBarView != null) {
+                    LinearLayout statusBarContents = ((LinearLayout) mStatusBarView.findViewById(R.id.status_bar_contents));
+                    if (statusBarContents != null) {
+                        statusBarContents.setVisibility(View.VISIBLE);
+                    }
+                }
+            }
+        //end
     }
 
     @VisibleForTesting

Disable App

+    public static void setApplicationSetting(Context context, String[] packageName, boolean enable) {
+        Log.e(TAG, "setApplicationSetting()  packageName = " + packageName + "  ,  enable = " + enable);
+        if (packageName == null || packageName.length == 0) {
+            Log.e(TAG, "setApplicationSetting()  packageName is null");
+            return;
+        }
+        PackageManager pm = context.getPackageManager();
+        if (pm == null) {
+            Log.e(TAG, "setApplicationSetting()  pm is null");
+            return;
+        }
+        for (String s : packageName) {
+            if (enable) {
+                pm.setApplicationEnabledSetting(s, PackageManager.COMPONENT_ENABLED_STATE_ENABLED, 0);
+            } else {
+                pm.setApplicationEnabledSetting(s, PackageManager.COMPONENT_ENABLED_STATE_DISABLED, 0);
+            }
+        }
+    }

Package name to launch on power button double press

frameworks/base/services/core/java/com/android/server/policy/PhoneWindowManager.java
@@ -1206,13 +1206,43 @@ public class PhoneWindowManager implements WindowManagerPolicy {
                 break;
             case MULTI_PRESS_POWER_BRIGHTNESS_BOOST:
                 Slog.i(TAG, "Starting brightness boost.");
-                if (!interactive) {
-                    wakeUpFromPowerKey(eventTime);
+                               // Package name to launch on power button double press
+                if(ture){
+                    if(!android.text.TextUtils.isEmpty(Settings.System.getString(mContext.getContentResolver(), "power_double_press_intent"))){
+                        String componentName = Settings.System.getString(mContext.getContentResolver(), "power_double_press_intent");
+                                               openAPP(mContext, componentName);//kamari 
+                    }else{
+                        if (!interactive) {
+                            wakeUpFromPowerKey(eventTime);
+                        }
+                        mPowerManager.boostScreenBrightness(eventTime);
+                    }
+                }else{
+                    if (!interactive) {
+                        wakeUpFromPowerKey(eventTime);
+                    }
+                    mPowerManager.boostScreenBrightness(eventTime);
                 }
-                mPowerManager.boostScreenBrightness(eventTime);
+                               // end Package name to launch on power button double press
                 break;
         }
     }
+       
+       /**
+       *  Package name to launch on power button double press
+       */
+       public void openAPP(Context mContext, String packageName){
+        PackageManager packageManager = mContext.getPackageManager();
+        Intent intent = new Intent(Intent.ACTION_MAIN,null);
+        intent.addCategory(Intent.CATEGORY_LAUNCHER);
+        intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
+        intent = packageManager.getLaunchIntentForPackage(packageName);
+        if(intent==null){
+            Log.e(TAG,"openAPP fail, apk not MAIN or uninstall!");
+        }else{
+            mContext.startActivity(intent);
+        }
+    }
 
     private int getLidBehavior() {
         return Settings.Global.getInt(mContext.getContentResolver(),
@@ -1867,8 +1897,14 @@ public class PhoneWindowManager implements WindowManagerPolicy {
                 com.android.internal.R.integer.config_longPressOnPowerBehavior);
         mVeryLongPressOnPowerBehavior = mContext.getResources().getInteger(
                 com.android.internal.R.integer.config_veryLongPressOnPowerBehavior);
-        mDoublePressOnPowerBehavior = mContext.getResources().getInteger(
+               // Package name to launch on power button double press
+               if(ture){
+                               mDoublePressOnPowerBehavior = 2;
+               }else{
+                        mDoublePressOnPowerBehavior = mContext.getResources().getInteger(
                 com.android.internal.R.integer.config_doublePressOnPowerBehavior);
+               }
+               // KCM.kamari modify end KCM_SOCIAL_MOBILE_API_SUPPORT for Package name to launch on power button double press
         mTriplePressOnPowerBehavior = mContext.getResources().getInteger(
                 com.android.internal.R.integer.config_triplePressOnPowerBehavior);
         mShortPressOnSleepBehavior = mContext.getResources().getInteger(
(END)

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

旧时旅人

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值