mirror of
https://github.com/Divested-Mobile/DivestOS-Build.git
synced 2024-12-25 23:49:32 -05:00
LAOS 11.0 Manifest and Chromium
This commit is contained in:
parent
ea43d30e38
commit
f1631ac1f3
@ -1,36 +1,36 @@
|
|||||||
<?xml version="1.0" encoding="UTF-8"?>
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
<manifest>
|
<manifest>
|
||||||
|
|
||||||
<remove-project name="CyanogenMod/android_device_generic_mips" />
|
<remove-project name="LineageOS/android_device_generic_mips" />
|
||||||
<remove-project name="CyanogenMod/android_device_generic_x86" />
|
<remove-project name="LineageOS/android_device_generic_x86" />
|
||||||
<remove-project name="CyanogenMod/android_device_google_accessory_arduino" />
|
<remove-project name="LineageOS/android_device_google_accessory_arduino" />
|
||||||
<remove-project name="CyanogenMod/android_device_google_accessory_demokit" />
|
<remove-project name="LineageOS/android_device_google_accessory_demokit" />
|
||||||
<remove-project name="CyanogenMod/android_external_ant-wireless_ant_native" />
|
<remove-project name="LineageOS/android_external_ant-wireless_ant_native" />
|
||||||
<remove-project name="CyanogenMod/android_external_ant-wireless_ant_service" />
|
<remove-project name="LineageOS/android_external_ant-wireless_ant_service" />
|
||||||
<remove-project name="CyanogenMod/android_external_arduino" />
|
<remove-project name="LineageOS/android_external_arduino" />
|
||||||
<remove-project name="CyanogenMod/android_hardware_samsung_slsi_exynos5" />
|
<remove-project name="LineageOS/android_hardware_samsung_slsi_exynos5" />
|
||||||
<remove-project name="CyanogenMod/android_hardware_ti_omap3" />
|
<remove-project name="LineageOS/android_hardware_ti_omap3" />
|
||||||
<remove-project name="CyanogenMod/android_hardware_ti_omap4xxx" />
|
<remove-project name="LineageOS/android_hardware_ti_omap4xxx" />
|
||||||
<remove-project name="CyanogenMod/android_packages_apps_CMAccount" />
|
<remove-project name="LineageOS/android_packages_apps_CMAccount" />
|
||||||
<remove-project name="CyanogenMod/android_packages_apps_CMBugreport" />
|
<remove-project name="LineageOS/android_packages_apps_CMBugreport" />
|
||||||
<remove-project name="CyanogenMod/android_packages_apps_CMUpdater" />
|
<remove-project name="LineageOS/android_packages_apps_CMUpdater" />
|
||||||
<remove-project name="CyanogenMod/android_packages_apps_Provision" />
|
<remove-project name="LineageOS/android_packages_apps_Provision" />
|
||||||
<remove-project name="CyanogenMod/android_packages_apps_Stk" />
|
<remove-project name="LineageOS/android_packages_apps_Stk" />
|
||||||
<remove-project name="CyanogenMod/android_packages_apps_VideoEditor" />
|
<remove-project name="LineageOS/android_packages_apps_VideoEditor" />
|
||||||
<remove-project name="CyanogenMod/android_packages_apps_VoiceDialer" />
|
<remove-project name="LineageOS/android_packages_apps_VoiceDialer" />
|
||||||
<remove-project name="CyanogenMod/android_packages_apps_VoicePlus" />
|
<remove-project name="LineageOS/android_packages_apps_VoicePlus" />
|
||||||
<remove-project name="CyanogenMod/android_packages_inputmethods_OpenWnn" />
|
<remove-project name="LineageOS/android_packages_inputmethods_OpenWnn" />
|
||||||
<remove-project name="CyanogenMod/android_packages_inputmethods_PinyinIME" />
|
<remove-project name="LineageOS/android_packages_inputmethods_PinyinIME" />
|
||||||
<remove-project name="CyanogenMod/android_packages_screensavers_Basic" />
|
<remove-project name="LineageOS/android_packages_screensavers_Basic" />
|
||||||
<remove-project name="CyanogenMod/android_packages_screensavers_PhotoTable" />
|
<remove-project name="LineageOS/android_packages_screensavers_PhotoTable" />
|
||||||
<remove-project name="CyanogenMod/android_packages_screensavers_WebView" />
|
<remove-project name="LineageOS/android_packages_screensavers_WebView" />
|
||||||
<remove-project name="CyanogenMod/android_packages_wallpapers_Galaxy4" />
|
<remove-project name="LineageOS/android_packages_wallpapers_Galaxy4" />
|
||||||
<remove-project name="CyanogenMod/android_packages_wallpapers_HoloSpiral" />
|
<remove-project name="LineageOS/android_packages_wallpapers_HoloSpiral" />
|
||||||
<remove-project name="CyanogenMod/android_packages_wallpapers_MagicSmoke" />
|
<remove-project name="LineageOS/android_packages_wallpapers_MagicSmoke" />
|
||||||
<remove-project name="CyanogenMod/android_packages_wallpapers_MusicVisualization" />
|
<remove-project name="LineageOS/android_packages_wallpapers_MusicVisualization" />
|
||||||
<remove-project name="CyanogenMod/android_packages_wallpapers_NoiseField" />
|
<remove-project name="LineageOS/android_packages_wallpapers_NoiseField" />
|
||||||
<remove-project name="CyanogenMod/android_packages_wallpapers_PhaseBeam" />
|
<remove-project name="LineageOS/android_packages_wallpapers_PhaseBeam" />
|
||||||
<remove-project name="CyanogenMod/android_packages_wallpapers_PhotoPhase" />
|
<remove-project name="LineageOS/android_packages_wallpapers_PhotoPhase" />
|
||||||
<remove-project name="device/generic/mini-emulator-armv7-a-neon" />
|
<remove-project name="device/generic/mini-emulator-armv7-a-neon" />
|
||||||
<remove-project name="device/generic/mini-emulator-mips" />
|
<remove-project name="device/generic/mini-emulator-mips" />
|
||||||
<remove-project name="device/generic/mini-emulator-x86" />
|
<remove-project name="device/generic/mini-emulator-x86" />
|
||||||
@ -67,7 +67,7 @@
|
|||||||
|
|
||||||
<!--Device Repos-->
|
<!--Device Repos-->
|
||||||
<project path="device/zte/nex" name="spock1104/android_device_zte_nex" remote="github" revision="cm11_newkern" />
|
<project path="device/zte/nex" name="spock1104/android_device_zte_nex" remote="github" revision="cm11_newkern" />
|
||||||
<project path="device/qcom/common" name="CyanogenMod/android_device_qcom_common" remote="github" revision="cm-11.0" />
|
<project path="device/qcom/common" name="LineageOS/android_device_qcom_common" remote="github" revision="cm-11.0" />
|
||||||
<project path="kernel/zte/msm8930" name="spock1104/android_kernel_zte_msm8930" remote="github" revision="stockmod" />
|
<project path="kernel/zte/msm8930" name="spock1104/android_kernel_zte_msm8930" remote="github" revision="stockmod" />
|
||||||
|
|
||||||
|
|
@ -70,6 +70,13 @@
|
|||||||
<remove-project name="platform/prebuilts/python/darwin-x86/2.7.5" />
|
<remove-project name="platform/prebuilts/python/darwin-x86/2.7.5" />
|
||||||
<!-- END OF UNNECESSARY REPO REMOVAL -->
|
<!-- END OF UNNECESSARY REPO REMOVAL -->
|
||||||
|
|
||||||
|
<!-- START OF CUSTOM REPOS
|
||||||
|
<remote name="dsc" fetch="https://gogs.spotco.us:3000/DeblobbedAndroid/" />
|
||||||
|
<remove-project name="LineageOS/android_external_chromium-webview" />
|
||||||
|
<project path="external/chromium-webview" name="android_packages_apps_chromium-webview.git" remote="dsc" revision="cm-14.1" />
|
||||||
|
<project path="external/chromium" name="android_packages_apps_Chromium.git" remote="dsc" revision="master" /> -->
|
||||||
|
<!-- END OF CUSTOM REPOS -->
|
||||||
|
|
||||||
<!-- START OF ADDITIONAL REPOS -->
|
<!-- START OF ADDITIONAL REPOS -->
|
||||||
<!-- MicroG -->
|
<!-- MicroG -->
|
||||||
<project path="packages/apps/GmsCore" name="microg/android_packages_apps_GmsCore" remote="github" revision="master" />
|
<project path="packages/apps/GmsCore" name="microg/android_packages_apps_GmsCore" remote="github" revision="master" />
|
||||||
|
@ -0,0 +1,290 @@
|
|||||||
|
From 55f6ea35d6c238db3c5bdc3a5b0f753567809b45 Mon Sep 17 00:00:00 2001
|
||||||
|
From: milaq <micha.laqua@gmail.com>
|
||||||
|
Date: Wed, 23 Nov 2016 17:31:23 +0100
|
||||||
|
Subject: [PATCH] ignore exchange server policy (1/2)
|
||||||
|
|
||||||
|
disable policies enforced by an exchange server configuration and the inconveniences and uncertainty that go along with it.
|
||||||
|
|
||||||
|
based on the "ExchangeBypassXposed" module by Shantanu Goel.
|
||||||
|
---
|
||||||
|
.../com/android/emailcommon/provider/Policy.java | 34 ++---
|
||||||
|
provider_src/com/android/email/SecurityPolicy.java | 163 +--------------------
|
||||||
|
.../android/email/EmailNotificationController.java | 10 +-
|
||||||
|
3 files changed, 21 insertions(+), 186 deletions(-)
|
||||||
|
|
||||||
|
diff --git a/emailcommon/src/com/android/emailcommon/provider/Policy.java b/emailcommon/src/com/android/emailcommon/provider/Policy.java
|
||||||
|
index f32b750..48acd6f 100755
|
||||||
|
--- a/emailcommon/src/com/android/emailcommon/provider/Policy.java
|
||||||
|
+++ b/emailcommon/src/com/android/emailcommon/provider/Policy.java
|
||||||
|
@@ -226,24 +226,20 @@ public final class Policy extends EmailContent implements EmailContent.PolicyCol
|
||||||
|
* zero out complex characters for simple passwords.
|
||||||
|
*/
|
||||||
|
public void normalize() {
|
||||||
|
- if (mPasswordMode == PASSWORD_MODE_NONE) {
|
||||||
|
- mPasswordMaxFails = 0;
|
||||||
|
- mMaxScreenLockTime = 0;
|
||||||
|
- mPasswordMinLength = 0;
|
||||||
|
- mPasswordComplexChars = 0;
|
||||||
|
- mPasswordHistory = 0;
|
||||||
|
- mPasswordExpirationDays = 0;
|
||||||
|
- } else {
|
||||||
|
- if ((mPasswordMode != PASSWORD_MODE_SIMPLE) &&
|
||||||
|
- (mPasswordMode != PASSWORD_MODE_STRONG)) {
|
||||||
|
- throw new IllegalArgumentException("password mode");
|
||||||
|
- }
|
||||||
|
- // If we're only requiring a simple password, set complex chars to zero; note
|
||||||
|
- // that EAS can erroneously send non-zero values in this case
|
||||||
|
- if (mPasswordMode == PASSWORD_MODE_SIMPLE) {
|
||||||
|
- mPasswordComplexChars = 0;
|
||||||
|
- }
|
||||||
|
- }
|
||||||
|
+ mPasswordMode = PASSWORD_MODE_NONE;
|
||||||
|
+ mRequireRemoteWipe = false;
|
||||||
|
+ mRequireEncryption = false;
|
||||||
|
+ mRequireEncryptionExternal = false;
|
||||||
|
+ mRequireManualSyncWhenRoaming = false;
|
||||||
|
+ mDontAllowCamera = false;
|
||||||
|
+ mDontAllowAttachments = false;
|
||||||
|
+ mDontAllowHtml = false;
|
||||||
|
+ mPasswordMaxFails = 0;
|
||||||
|
+ mMaxScreenLockTime = 0;
|
||||||
|
+ mPasswordMinLength = 0;
|
||||||
|
+ mPasswordComplexChars = 0;
|
||||||
|
+ mPasswordHistory = 0;
|
||||||
|
+ mPasswordExpirationDays = 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
@@ -525,4 +521,4 @@ public final class Policy extends EmailContent implements EmailContent.PolicyCol
|
||||||
|
mProtocolPoliciesEnforced = in.readString();
|
||||||
|
mProtocolPoliciesUnsupported = in.readString();
|
||||||
|
}
|
||||||
|
-}
|
||||||
|
\ No newline at end of file
|
||||||
|
+}
|
||||||
|
diff --git a/provider_src/com/android/email/SecurityPolicy.java b/provider_src/com/android/email/SecurityPolicy.java
|
||||||
|
index 8418871..f2e7ebd 100644
|
||||||
|
--- a/provider_src/com/android/email/SecurityPolicy.java
|
||||||
|
+++ b/provider_src/com/android/email/SecurityPolicy.java
|
||||||
|
@@ -247,28 +247,7 @@ public class SecurityPolicy {
|
||||||
|
* @return true if the requested policies are active, false if not.
|
||||||
|
*/
|
||||||
|
public boolean isActive(Policy policy) {
|
||||||
|
- int reasons = getInactiveReasons(policy);
|
||||||
|
- if (DebugUtils.DEBUG && (reasons != 0)) {
|
||||||
|
- StringBuilder sb = new StringBuilder("isActive for " + policy + ": ");
|
||||||
|
- sb.append("FALSE -> ");
|
||||||
|
- if ((reasons & INACTIVE_NEED_ACTIVATION) != 0) {
|
||||||
|
- sb.append("no_admin ");
|
||||||
|
- }
|
||||||
|
- if ((reasons & INACTIVE_NEED_CONFIGURATION) != 0) {
|
||||||
|
- sb.append("config ");
|
||||||
|
- }
|
||||||
|
- if ((reasons & INACTIVE_NEED_PASSWORD) != 0) {
|
||||||
|
- sb.append("password ");
|
||||||
|
- }
|
||||||
|
- if ((reasons & INACTIVE_NEED_ENCRYPTION) != 0) {
|
||||||
|
- sb.append("encryption ");
|
||||||
|
- }
|
||||||
|
- if ((reasons & INACTIVE_PROTOCOL_POLICIES) != 0) {
|
||||||
|
- sb.append("protocol ");
|
||||||
|
- }
|
||||||
|
- LogUtils.d(TAG, sb.toString());
|
||||||
|
- }
|
||||||
|
- return reasons == 0;
|
||||||
|
+ return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
@@ -317,84 +296,7 @@ public class SecurityPolicy {
|
||||||
|
* is needed (typically, by the user) before the required security polices are fully active.
|
||||||
|
*/
|
||||||
|
public int getInactiveReasons(Policy policy) {
|
||||||
|
- // select aggregate set if needed
|
||||||
|
- if (policy == null) {
|
||||||
|
- policy = getAggregatePolicy();
|
||||||
|
- }
|
||||||
|
- // quick check for the "empty set" of no policies
|
||||||
|
- if (policy == Policy.NO_POLICY) {
|
||||||
|
- return 0;
|
||||||
|
- }
|
||||||
|
- int reasons = 0;
|
||||||
|
- DevicePolicyManager dpm = getDPM();
|
||||||
|
- if (isActiveAdmin()) {
|
||||||
|
- // check each policy explicitly
|
||||||
|
- if (policy.mPasswordMinLength > 0) {
|
||||||
|
- if (dpm.getPasswordMinimumLength(mAdminName) < policy.mPasswordMinLength) {
|
||||||
|
- reasons |= INACTIVE_NEED_PASSWORD;
|
||||||
|
- }
|
||||||
|
- }
|
||||||
|
- if (policy.mPasswordMode > 0) {
|
||||||
|
- if (dpm.getPasswordQuality(mAdminName) < policy.getDPManagerPasswordQuality()) {
|
||||||
|
- reasons |= INACTIVE_NEED_PASSWORD;
|
||||||
|
- }
|
||||||
|
- if (!dpm.isActivePasswordSufficient()) {
|
||||||
|
- reasons |= INACTIVE_NEED_PASSWORD;
|
||||||
|
- }
|
||||||
|
- }
|
||||||
|
- if (policy.mMaxScreenLockTime > 0) {
|
||||||
|
- // Note, we use seconds, dpm uses milliseconds
|
||||||
|
- if (dpm.getMaximumTimeToLock(mAdminName) > policy.mMaxScreenLockTime * 1000) {
|
||||||
|
- reasons |= INACTIVE_NEED_CONFIGURATION;
|
||||||
|
- }
|
||||||
|
- }
|
||||||
|
- if (policy.mPasswordExpirationDays > 0) {
|
||||||
|
- // confirm that expirations are currently set
|
||||||
|
- long currentTimeout = dpm.getPasswordExpirationTimeout(mAdminName);
|
||||||
|
- if (currentTimeout == 0
|
||||||
|
- || currentTimeout > policy.getDPManagerPasswordExpirationTimeout()) {
|
||||||
|
- reasons |= INACTIVE_NEED_PASSWORD;
|
||||||
|
- }
|
||||||
|
- // confirm that the current password hasn't expired
|
||||||
|
- long expirationDate = dpm.getPasswordExpiration(mAdminName);
|
||||||
|
- long timeUntilExpiration = expirationDate - System.currentTimeMillis();
|
||||||
|
- boolean expired = timeUntilExpiration < 0;
|
||||||
|
- if (expired) {
|
||||||
|
- reasons |= INACTIVE_NEED_PASSWORD;
|
||||||
|
- }
|
||||||
|
- }
|
||||||
|
- if (policy.mPasswordHistory > 0) {
|
||||||
|
- if (dpm.getPasswordHistoryLength(mAdminName) < policy.mPasswordHistory) {
|
||||||
|
- // There's no user action for changes here; this is just a configuration change
|
||||||
|
- reasons |= INACTIVE_NEED_CONFIGURATION;
|
||||||
|
- }
|
||||||
|
- }
|
||||||
|
- if (policy.mPasswordComplexChars > 0) {
|
||||||
|
- if (dpm.getPasswordMinimumNonLetter(mAdminName) < policy.mPasswordComplexChars) {
|
||||||
|
- reasons |= INACTIVE_NEED_PASSWORD;
|
||||||
|
- }
|
||||||
|
- }
|
||||||
|
- if (policy.mRequireEncryption) {
|
||||||
|
- int encryptionStatus = getDPM().getStorageEncryptionStatus();
|
||||||
|
- if (encryptionStatus != DevicePolicyManager.ENCRYPTION_STATUS_ACTIVE) {
|
||||||
|
- reasons |= INACTIVE_NEED_ENCRYPTION;
|
||||||
|
- }
|
||||||
|
- }
|
||||||
|
- if (policy.mDontAllowCamera && !dpm.getCameraDisabled(mAdminName)) {
|
||||||
|
- reasons |= INACTIVE_NEED_CONFIGURATION;
|
||||||
|
- }
|
||||||
|
- // password failures are counted locally - no test required here
|
||||||
|
- // no check required for remote wipe (it's supported, if we're the admin)
|
||||||
|
-
|
||||||
|
- if (policy.mProtocolPoliciesUnsupported != null) {
|
||||||
|
- reasons |= INACTIVE_PROTOCOL_POLICIES;
|
||||||
|
- }
|
||||||
|
-
|
||||||
|
- // If we made it all the way, reasons == 0 here. Otherwise it's a list of grievances.
|
||||||
|
- return reasons;
|
||||||
|
- }
|
||||||
|
- // return false, not active
|
||||||
|
- return INACTIVE_NEED_ACTIVATION;
|
||||||
|
+ return 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
@@ -403,53 +305,7 @@ public class SecurityPolicy {
|
||||||
|
* we only proceed if we are already active as an admin.
|
||||||
|
*/
|
||||||
|
public void setActivePolicies() {
|
||||||
|
- DevicePolicyManager dpm = getDPM();
|
||||||
|
- // compute aggregate set of policies
|
||||||
|
- Policy aggregatePolicy = getAggregatePolicy();
|
||||||
|
- // if empty set, detach from policy manager
|
||||||
|
- if (aggregatePolicy == Policy.NO_POLICY) {
|
||||||
|
- if (DebugUtils.DEBUG) {
|
||||||
|
- LogUtils.d(TAG, "setActivePolicies: none, remove admin");
|
||||||
|
- }
|
||||||
|
- dpm.removeActiveAdmin(mAdminName);
|
||||||
|
- } else if (isActiveAdmin()) {
|
||||||
|
- if (DebugUtils.DEBUG) {
|
||||||
|
- LogUtils.d(TAG, "setActivePolicies: " + aggregatePolicy);
|
||||||
|
- }
|
||||||
|
- // set each policy in the policy manager
|
||||||
|
- // password mode & length
|
||||||
|
- dpm.setPasswordQuality(mAdminName, aggregatePolicy.getDPManagerPasswordQuality());
|
||||||
|
- dpm.setPasswordMinimumLength(mAdminName, aggregatePolicy.mPasswordMinLength);
|
||||||
|
- // screen lock time
|
||||||
|
- dpm.setMaximumTimeToLock(mAdminName, aggregatePolicy.mMaxScreenLockTime * 1000);
|
||||||
|
- // local wipe (failed passwords limit)
|
||||||
|
- dpm.setMaximumFailedPasswordsForWipe(mAdminName, aggregatePolicy.mPasswordMaxFails);
|
||||||
|
- // password expiration (days until a password expires). API takes mSec.
|
||||||
|
- dpm.setPasswordExpirationTimeout(mAdminName,
|
||||||
|
- aggregatePolicy.getDPManagerPasswordExpirationTimeout());
|
||||||
|
- // password history length (number of previous passwords that may not be reused)
|
||||||
|
- dpm.setPasswordHistoryLength(mAdminName, aggregatePolicy.mPasswordHistory);
|
||||||
|
- // password minimum complex characters.
|
||||||
|
- // Note, in Exchange, "complex chars" simply means "non alpha", but in the DPM,
|
||||||
|
- // setting the quality to complex also defaults min symbols=1 and min numeric=1.
|
||||||
|
- // We always / safely clear minSymbols & minNumeric to zero (there is no policy
|
||||||
|
- // configuration in which we explicitly require a minimum number of digits or symbols.)
|
||||||
|
- dpm.setPasswordMinimumSymbols(mAdminName, 0);
|
||||||
|
- dpm.setPasswordMinimumNumeric(mAdminName, 0);
|
||||||
|
- dpm.setPasswordMinimumNonLetter(mAdminName, aggregatePolicy.mPasswordComplexChars);
|
||||||
|
- // Device capabilities
|
||||||
|
- try {
|
||||||
|
- // If we are running in a managed policy, it is a securityException to even
|
||||||
|
- // call setCameraDisabled(), if is disabled is false. We have to swallow
|
||||||
|
- // the exception here.
|
||||||
|
- dpm.setCameraDisabled(mAdminName, aggregatePolicy.mDontAllowCamera);
|
||||||
|
- } catch (SecurityException e) {
|
||||||
|
- LogUtils.d(TAG, "SecurityException in setCameraDisabled, nothing changed");
|
||||||
|
- }
|
||||||
|
-
|
||||||
|
- // encryption required
|
||||||
|
- dpm.setStorageEncryption(mAdminName, aggregatePolicy.mRequireEncryption);
|
||||||
|
- }
|
||||||
|
+ return;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
@@ -677,12 +533,7 @@ public class SecurityPolicy {
|
||||||
|
* return to the caller if there is an unexpected failure. The wipe includes external storage.
|
||||||
|
*/
|
||||||
|
public void remoteWipe() {
|
||||||
|
- DevicePolicyManager dpm = getDPM();
|
||||||
|
- if (dpm.isAdminActive(mAdminName)) {
|
||||||
|
- dpm.wipeData(DevicePolicyManager.WIPE_EXTERNAL_STORAGE);
|
||||||
|
- } else {
|
||||||
|
- LogUtils.d(Logging.LOG_TAG, "Could not remote wipe because not device admin.");
|
||||||
|
- }
|
||||||
|
+ return;
|
||||||
|
}
|
||||||
|
/**
|
||||||
|
* If we are not the active device admin, try to become so.
|
||||||
|
@@ -694,11 +545,7 @@ public class SecurityPolicy {
|
||||||
|
* @return true if we are already active, false if we are not
|
||||||
|
*/
|
||||||
|
public boolean isActiveAdmin() {
|
||||||
|
- DevicePolicyManager dpm = getDPM();
|
||||||
|
- return dpm.isAdminActive(mAdminName)
|
||||||
|
- && dpm.hasGrantedPolicy(mAdminName, DeviceAdminInfo.USES_POLICY_EXPIRE_PASSWORD)
|
||||||
|
- && dpm.hasGrantedPolicy(mAdminName, DeviceAdminInfo.USES_ENCRYPTED_STORAGE)
|
||||||
|
- && dpm.hasGrantedPolicy(mAdminName, DeviceAdminInfo.USES_POLICY_DISABLE_CAMERA);
|
||||||
|
+ return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
diff --git a/src/com/android/email/EmailNotificationController.java b/src/com/android/email/EmailNotificationController.java
|
||||||
|
index 2d22776..d5b3c02 100644
|
||||||
|
--- a/src/com/android/email/EmailNotificationController.java
|
||||||
|
+++ b/src/com/android/email/EmailNotificationController.java
|
||||||
|
@@ -516,15 +516,7 @@ public class EmailNotificationController implements NotificationController {
|
||||||
|
*/
|
||||||
|
@Override
|
||||||
|
public void showSecurityChangedNotification(Account account) {
|
||||||
|
- final Intent intent = new Intent(Intent.ACTION_VIEW,
|
||||||
|
- EmailProvider.getIncomingSettingsUri(account.getId()));
|
||||||
|
- final String accountName = account.getDisplayName();
|
||||||
|
- final String ticker =
|
||||||
|
- mContext.getString(R.string.security_changed_ticker_fmt, accountName);
|
||||||
|
- final String title =
|
||||||
|
- mContext.getString(R.string.security_notification_content_change_title);
|
||||||
|
- showNotification(account.mId, ticker, title, accountName, intent,
|
||||||
|
- (int)(NOTIFICATION_ID_BASE_SECURITY_CHANGED + account.mId));
|
||||||
|
+ return;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
--
|
||||||
|
2.10.2
|
||||||
|
|
@ -0,0 +1,28 @@
|
|||||||
|
From 4de809a92b1f2ea0a64db3c8d6a8d770e14389ed Mon Sep 17 00:00:00 2001
|
||||||
|
From: milaq <micha.laqua@gmail.com>
|
||||||
|
Date: Wed, 23 Nov 2016 17:33:08 +0100
|
||||||
|
Subject: [PATCH] ignore exchange server policy (2/2)
|
||||||
|
|
||||||
|
disable policies enforced by an exchange server configuration and the inconveniences and uncertainty that go along with it.
|
||||||
|
|
||||||
|
based on the "ExchangeBypassXposed" module by Shantanu Goel.
|
||||||
|
---
|
||||||
|
src/com/android/exchange/adapter/ProvisionParser.java | 2 +-
|
||||||
|
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||||
|
|
||||||
|
diff --git a/src/com/android/exchange/adapter/ProvisionParser.java b/src/com/android/exchange/adapter/ProvisionParser.java
|
||||||
|
index 4888b8d..664a08d 100644
|
||||||
|
--- a/src/com/android/exchange/adapter/ProvisionParser.java
|
||||||
|
+++ b/src/com/android/exchange/adapter/ProvisionParser.java
|
||||||
|
@@ -75,7 +75,7 @@ public class ProvisionParser extends Parser {
|
||||||
|
}
|
||||||
|
|
||||||
|
public boolean hasSupportablePolicySet() {
|
||||||
|
- return (mPolicy != null) && mIsSupportable;
|
||||||
|
+ return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void clearUnsupportablePolicies() {
|
||||||
|
--
|
||||||
|
2.10.2
|
||||||
|
|
@ -9,3 +9,7 @@ PRODUCT_PACKAGES += \
|
|||||||
PRODUCT_PACKAGES += \
|
PRODUCT_PACKAGES += \
|
||||||
F-Droid \
|
F-Droid \
|
||||||
FDroidPrivilegedExtension
|
FDroidPrivilegedExtension
|
||||||
|
|
||||||
|
# Chromium
|
||||||
|
PRODUCT_PACKAGES += \
|
||||||
|
chromium
|
||||||
|
@ -5,7 +5,7 @@
|
|||||||
#TODO: Automate TimeKeep replacing, Clean init*.rc files, Create TWRP version, Remove more variants
|
#TODO: Automate TimeKeep replacing, Clean init*.rc files, Create TWRP version, Remove more variants
|
||||||
|
|
||||||
#
|
#
|
||||||
#Device Status (Tested under LineageOS 14.1)
|
#Device Status (Tested under LineageOS 14.1 and 11.0)
|
||||||
#
|
#
|
||||||
#Fully Functional: bacon, clark
|
#Fully Functional: bacon, clark
|
||||||
#LTE Broken (Potentially Unrelated): mako
|
#LTE Broken (Potentially Unrelated): mako
|
||||||
|
Loading…
Reference in New Issue
Block a user