Loading apex/jobscheduler/framework/java/android/app/job/JobSchedulerFrameworkInitializer.java +3 −1 Original line number Diff line number Diff line Loading @@ -20,6 +20,7 @@ import android.annotation.SystemApi; import android.app.JobSchedulerImpl; import android.app.SystemServiceRegistry; import android.app.tare.EconomyManager; import android.app.tare.IEconomyManager; import android.content.Context; import android.os.DeviceIdleManager; import android.os.IDeviceIdleController; Loading Loading @@ -58,6 +59,7 @@ public class JobSchedulerFrameworkInitializer { Context.POWER_EXEMPTION_SERVICE, PowerExemptionManager.class, PowerExemptionManager::new); SystemServiceRegistry.registerStaticService( Context.RESOURCE_ECONOMY_SERVICE, EconomyManager.class, EconomyManager::new); Context.RESOURCE_ECONOMY_SERVICE, EconomyManager.class, (b) -> new EconomyManager(IEconomyManager.Stub.asInterface(b))); } } apex/jobscheduler/framework/java/android/app/tare/EconomyManager.java +39 −1 Original line number Diff line number Diff line Loading @@ -19,7 +19,9 @@ package android.app.tare; import android.annotation.IntDef; import android.annotation.Nullable; import android.annotation.SystemService; import android.annotation.TestApi; import android.content.Context; import android.os.RemoteException; import android.util.Log; import java.lang.annotation.Retention; Loading @@ -30,6 +32,7 @@ import java.lang.annotation.RetentionPolicy; * * @hide */ @TestApi @SystemService(Context.RESOURCE_ECONOMY_SERVICE) public class EconomyManager { private static final String TAG = "TARE-" + EconomyManager.class.getSimpleName(); Loading Loading @@ -95,13 +98,17 @@ public class EconomyManager { } } /** @hide */ @TestApi public static final int ENABLED_MODE_OFF = 0; /** @hide */ public static final int ENABLED_MODE_ON = 1; /** * Go through the motions, tracking events, updating balances and other TARE state values, * but don't use TARE to affect actual device behavior. * @hide */ @TestApi public static final int ENABLED_MODE_SHADOW = 2; /** @hide */ Loading @@ -114,6 +121,7 @@ public class EconomyManager { public @interface EnabledMode { } /** @hide */ public static String enabledModeToString(@EnabledMode int mode) { switch (mode) { case ENABLED_MODE_OFF: return "ENABLED_MODE_OFF"; Loading @@ -123,11 +131,18 @@ public class EconomyManager { } } /** @hide */ @TestApi public static final String KEY_ENABLE_TARE_MODE = "enable_tare_mode"; /** @hide */ public static final String KEY_ENABLE_POLICY_ALARM = "enable_policy_alarm"; /** @hide */ public static final String KEY_ENABLE_POLICY_JOB_SCHEDULER = "enable_policy_job"; /** @hide */ public static final int DEFAULT_ENABLE_TARE_MODE = ENABLED_MODE_OFF; /** @hide */ public static final boolean DEFAULT_ENABLE_POLICY_ALARM = true; /** @hide */ public static final boolean DEFAULT_ENABLE_POLICY_JOB_SCHEDULER = true; // Keys for AlarmManager TARE factors Loading Loading @@ -612,4 +627,27 @@ public class EconomyManager { public static final long DEFAULT_JS_ACTION_JOB_MIN_RUNNING_BASE_PRICE_CAKES = arcToCake(1); /** @hide */ public static final long DEFAULT_JS_ACTION_JOB_TIMEOUT_PENALTY_BASE_PRICE_CAKES = arcToCake(60); //////// APIs below //////// private final IEconomyManager mService; /** @hide */ public EconomyManager(IEconomyManager service) { mService = service; } /** * Returns the current enabled status of TARE. * @hide */ @EnabledMode @TestApi public int getEnabledMode() { try { return mService.getEnabledMode(); } catch (RemoteException e) { throw e.rethrowFromSystemServer(); } } } apex/jobscheduler/framework/java/android/app/tare/IEconomyManager.aidl +1 −0 Original line number Diff line number Diff line Loading @@ -21,4 +21,5 @@ package android.app.tare; * {@hide} */ interface IEconomyManager { int getEnabledMode(); } apex/jobscheduler/service/java/com/android/server/tare/InternalResourceService.java +5 −0 Original line number Diff line number Diff line Loading @@ -1350,6 +1350,11 @@ public class InternalResourceService extends SystemService { } } @Override public int getEnabledMode() { return InternalResourceService.this.getEnabledMode(); } @Override public int handleShellCommand(@NonNull ParcelFileDescriptor in, @NonNull ParcelFileDescriptor out, @NonNull ParcelFileDescriptor err, Loading core/api/test-current.txt +11 −0 Original line number Diff line number Diff line Loading @@ -777,6 +777,17 @@ package android.app.prediction { } package android.app.tare { public class EconomyManager { method public int getEnabledMode(); field public static final int ENABLED_MODE_OFF = 0; // 0x0 field public static final int ENABLED_MODE_SHADOW = 2; // 0x2 field public static final String KEY_ENABLE_TARE_MODE = "enable_tare_mode"; } } package android.app.usage { public class StorageStatsManager { Loading Loading
apex/jobscheduler/framework/java/android/app/job/JobSchedulerFrameworkInitializer.java +3 −1 Original line number Diff line number Diff line Loading @@ -20,6 +20,7 @@ import android.annotation.SystemApi; import android.app.JobSchedulerImpl; import android.app.SystemServiceRegistry; import android.app.tare.EconomyManager; import android.app.tare.IEconomyManager; import android.content.Context; import android.os.DeviceIdleManager; import android.os.IDeviceIdleController; Loading Loading @@ -58,6 +59,7 @@ public class JobSchedulerFrameworkInitializer { Context.POWER_EXEMPTION_SERVICE, PowerExemptionManager.class, PowerExemptionManager::new); SystemServiceRegistry.registerStaticService( Context.RESOURCE_ECONOMY_SERVICE, EconomyManager.class, EconomyManager::new); Context.RESOURCE_ECONOMY_SERVICE, EconomyManager.class, (b) -> new EconomyManager(IEconomyManager.Stub.asInterface(b))); } }
apex/jobscheduler/framework/java/android/app/tare/EconomyManager.java +39 −1 Original line number Diff line number Diff line Loading @@ -19,7 +19,9 @@ package android.app.tare; import android.annotation.IntDef; import android.annotation.Nullable; import android.annotation.SystemService; import android.annotation.TestApi; import android.content.Context; import android.os.RemoteException; import android.util.Log; import java.lang.annotation.Retention; Loading @@ -30,6 +32,7 @@ import java.lang.annotation.RetentionPolicy; * * @hide */ @TestApi @SystemService(Context.RESOURCE_ECONOMY_SERVICE) public class EconomyManager { private static final String TAG = "TARE-" + EconomyManager.class.getSimpleName(); Loading Loading @@ -95,13 +98,17 @@ public class EconomyManager { } } /** @hide */ @TestApi public static final int ENABLED_MODE_OFF = 0; /** @hide */ public static final int ENABLED_MODE_ON = 1; /** * Go through the motions, tracking events, updating balances and other TARE state values, * but don't use TARE to affect actual device behavior. * @hide */ @TestApi public static final int ENABLED_MODE_SHADOW = 2; /** @hide */ Loading @@ -114,6 +121,7 @@ public class EconomyManager { public @interface EnabledMode { } /** @hide */ public static String enabledModeToString(@EnabledMode int mode) { switch (mode) { case ENABLED_MODE_OFF: return "ENABLED_MODE_OFF"; Loading @@ -123,11 +131,18 @@ public class EconomyManager { } } /** @hide */ @TestApi public static final String KEY_ENABLE_TARE_MODE = "enable_tare_mode"; /** @hide */ public static final String KEY_ENABLE_POLICY_ALARM = "enable_policy_alarm"; /** @hide */ public static final String KEY_ENABLE_POLICY_JOB_SCHEDULER = "enable_policy_job"; /** @hide */ public static final int DEFAULT_ENABLE_TARE_MODE = ENABLED_MODE_OFF; /** @hide */ public static final boolean DEFAULT_ENABLE_POLICY_ALARM = true; /** @hide */ public static final boolean DEFAULT_ENABLE_POLICY_JOB_SCHEDULER = true; // Keys for AlarmManager TARE factors Loading Loading @@ -612,4 +627,27 @@ public class EconomyManager { public static final long DEFAULT_JS_ACTION_JOB_MIN_RUNNING_BASE_PRICE_CAKES = arcToCake(1); /** @hide */ public static final long DEFAULT_JS_ACTION_JOB_TIMEOUT_PENALTY_BASE_PRICE_CAKES = arcToCake(60); //////// APIs below //////// private final IEconomyManager mService; /** @hide */ public EconomyManager(IEconomyManager service) { mService = service; } /** * Returns the current enabled status of TARE. * @hide */ @EnabledMode @TestApi public int getEnabledMode() { try { return mService.getEnabledMode(); } catch (RemoteException e) { throw e.rethrowFromSystemServer(); } } }
apex/jobscheduler/framework/java/android/app/tare/IEconomyManager.aidl +1 −0 Original line number Diff line number Diff line Loading @@ -21,4 +21,5 @@ package android.app.tare; * {@hide} */ interface IEconomyManager { int getEnabledMode(); }
apex/jobscheduler/service/java/com/android/server/tare/InternalResourceService.java +5 −0 Original line number Diff line number Diff line Loading @@ -1350,6 +1350,11 @@ public class InternalResourceService extends SystemService { } } @Override public int getEnabledMode() { return InternalResourceService.this.getEnabledMode(); } @Override public int handleShellCommand(@NonNull ParcelFileDescriptor in, @NonNull ParcelFileDescriptor out, @NonNull ParcelFileDescriptor err, Loading
core/api/test-current.txt +11 −0 Original line number Diff line number Diff line Loading @@ -777,6 +777,17 @@ package android.app.prediction { } package android.app.tare { public class EconomyManager { method public int getEnabledMode(); field public static final int ENABLED_MODE_OFF = 0; // 0x0 field public static final int ENABLED_MODE_SHADOW = 2; // 0x2 field public static final String KEY_ENABLE_TARE_MODE = "enable_tare_mode"; } } package android.app.usage { public class StorageStatsManager { Loading