LAOS 11.0 Manifest and Chromium

This commit is contained in:
Tad 2017-05-27 03:27:26 -04:00
parent ea43d30e38
commit f1631ac1f3
6 changed files with 361 additions and 32 deletions

View File

@ -1,36 +1,36 @@
<?xml version="1.0" encoding="UTF-8"?>
<manifest>
<remove-project name="CyanogenMod/android_device_generic_mips" />
<remove-project name="CyanogenMod/android_device_generic_x86" />
<remove-project name="CyanogenMod/android_device_google_accessory_arduino" />
<remove-project name="CyanogenMod/android_device_google_accessory_demokit" />
<remove-project name="CyanogenMod/android_external_ant-wireless_ant_native" />
<remove-project name="CyanogenMod/android_external_ant-wireless_ant_service" />
<remove-project name="CyanogenMod/android_external_arduino" />
<remove-project name="CyanogenMod/android_hardware_samsung_slsi_exynos5" />
<remove-project name="CyanogenMod/android_hardware_ti_omap3" />
<remove-project name="CyanogenMod/android_hardware_ti_omap4xxx" />
<remove-project name="CyanogenMod/android_packages_apps_CMAccount" />
<remove-project name="CyanogenMod/android_packages_apps_CMBugreport" />
<remove-project name="CyanogenMod/android_packages_apps_CMUpdater" />
<remove-project name="CyanogenMod/android_packages_apps_Provision" />
<remove-project name="CyanogenMod/android_packages_apps_Stk" />
<remove-project name="CyanogenMod/android_packages_apps_VideoEditor" />
<remove-project name="CyanogenMod/android_packages_apps_VoiceDialer" />
<remove-project name="CyanogenMod/android_packages_apps_VoicePlus" />
<remove-project name="CyanogenMod/android_packages_inputmethods_OpenWnn" />
<remove-project name="CyanogenMod/android_packages_inputmethods_PinyinIME" />
<remove-project name="CyanogenMod/android_packages_screensavers_Basic" />
<remove-project name="CyanogenMod/android_packages_screensavers_PhotoTable" />
<remove-project name="CyanogenMod/android_packages_screensavers_WebView" />
<remove-project name="CyanogenMod/android_packages_wallpapers_Galaxy4" />
<remove-project name="CyanogenMod/android_packages_wallpapers_HoloSpiral" />
<remove-project name="CyanogenMod/android_packages_wallpapers_MagicSmoke" />
<remove-project name="CyanogenMod/android_packages_wallpapers_MusicVisualization" />
<remove-project name="CyanogenMod/android_packages_wallpapers_NoiseField" />
<remove-project name="CyanogenMod/android_packages_wallpapers_PhaseBeam" />
<remove-project name="CyanogenMod/android_packages_wallpapers_PhotoPhase" />
<remove-project name="LineageOS/android_device_generic_mips" />
<remove-project name="LineageOS/android_device_generic_x86" />
<remove-project name="LineageOS/android_device_google_accessory_arduino" />
<remove-project name="LineageOS/android_device_google_accessory_demokit" />
<remove-project name="LineageOS/android_external_ant-wireless_ant_native" />
<remove-project name="LineageOS/android_external_ant-wireless_ant_service" />
<remove-project name="LineageOS/android_external_arduino" />
<remove-project name="LineageOS/android_hardware_samsung_slsi_exynos5" />
<remove-project name="LineageOS/android_hardware_ti_omap3" />
<remove-project name="LineageOS/android_hardware_ti_omap4xxx" />
<remove-project name="LineageOS/android_packages_apps_CMAccount" />
<remove-project name="LineageOS/android_packages_apps_CMBugreport" />
<remove-project name="LineageOS/android_packages_apps_CMUpdater" />
<remove-project name="LineageOS/android_packages_apps_Provision" />
<remove-project name="LineageOS/android_packages_apps_Stk" />
<remove-project name="LineageOS/android_packages_apps_VideoEditor" />
<remove-project name="LineageOS/android_packages_apps_VoiceDialer" />
<remove-project name="LineageOS/android_packages_apps_VoicePlus" />
<remove-project name="LineageOS/android_packages_inputmethods_OpenWnn" />
<remove-project name="LineageOS/android_packages_inputmethods_PinyinIME" />
<remove-project name="LineageOS/android_packages_screensavers_Basic" />
<remove-project name="LineageOS/android_packages_screensavers_PhotoTable" />
<remove-project name="LineageOS/android_packages_screensavers_WebView" />
<remove-project name="LineageOS/android_packages_wallpapers_Galaxy4" />
<remove-project name="LineageOS/android_packages_wallpapers_HoloSpiral" />
<remove-project name="LineageOS/android_packages_wallpapers_MagicSmoke" />
<remove-project name="LineageOS/android_packages_wallpapers_MusicVisualization" />
<remove-project name="LineageOS/android_packages_wallpapers_NoiseField" />
<remove-project name="LineageOS/android_packages_wallpapers_PhaseBeam" />
<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-mips" />
<remove-project name="device/generic/mini-emulator-x86" />
@ -67,7 +67,7 @@
<!--Device Repos-->
<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" />

View File

@ -70,6 +70,13 @@
<remove-project name="platform/prebuilts/python/darwin-x86/2.7.5" />
<!-- 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 -->
<!-- MicroG -->
<project path="packages/apps/GmsCore" name="microg/android_packages_apps_GmsCore" remote="github" revision="master" />

View File

@ -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

View File

@ -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

View File

@ -9,3 +9,7 @@ PRODUCT_PACKAGES += \
PRODUCT_PACKAGES += \
F-Droid \
FDroidPrivilegedExtension
# Chromium
PRODUCT_PACKAGES += \
chromium

View File

@ -5,7 +5,7 @@
#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
#LTE Broken (Potentially Unrelated): mako