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)