diff options
765 files changed, 2043 insertions, 760 deletions
diff --git a/api/current.txt b/api/current.txt index 282f062..b270698 100644 --- a/api/current.txt +++ b/api/current.txt @@ -12166,70 +12166,75 @@ package android.hardware.camera2 { } public final class CameraCharacteristics extends android.hardware.camera2.CameraMetadata { - method public T get(android.hardware.camera2.CameraMetadata.Key<T>); - method public java.util.List<android.hardware.camera2.CameraMetadata.Key<?>> getAvailableCaptureRequestKeys(); - method public java.util.List<android.hardware.camera2.CameraMetadata.Key<?>> getAvailableCaptureResultKeys(); - field public static final android.hardware.camera2.CameraMetadata.Key CONTROL_AE_AVAILABLE_ANTIBANDING_MODES; - field public static final android.hardware.camera2.CameraMetadata.Key CONTROL_AE_AVAILABLE_MODES; - field public static final android.hardware.camera2.CameraMetadata.Key CONTROL_AE_AVAILABLE_TARGET_FPS_RANGES; - field public static final android.hardware.camera2.CameraMetadata.Key CONTROL_AE_COMPENSATION_RANGE; - field public static final android.hardware.camera2.CameraMetadata.Key CONTROL_AE_COMPENSATION_STEP; - field public static final android.hardware.camera2.CameraMetadata.Key CONTROL_AF_AVAILABLE_MODES; - field public static final android.hardware.camera2.CameraMetadata.Key CONTROL_AVAILABLE_EFFECTS; - field public static final android.hardware.camera2.CameraMetadata.Key CONTROL_AVAILABLE_SCENE_MODES; - field public static final android.hardware.camera2.CameraMetadata.Key CONTROL_AVAILABLE_VIDEO_STABILIZATION_MODES; - field public static final android.hardware.camera2.CameraMetadata.Key CONTROL_AWB_AVAILABLE_MODES; - field public static final android.hardware.camera2.CameraMetadata.Key CONTROL_MAX_REGIONS; - field public static final android.hardware.camera2.CameraMetadata.Key EDGE_AVAILABLE_EDGE_MODES; - field public static final android.hardware.camera2.CameraMetadata.Key FLASH_INFO_AVAILABLE; - field public static final android.hardware.camera2.CameraMetadata.Key HOT_PIXEL_AVAILABLE_HOT_PIXEL_MODES; - field public static final android.hardware.camera2.CameraMetadata.Key INFO_SUPPORTED_HARDWARE_LEVEL; - field public static final android.hardware.camera2.CameraMetadata.Key JPEG_AVAILABLE_THUMBNAIL_SIZES; - field public static final android.hardware.camera2.CameraMetadata.Key LENS_FACING; - field public static final android.hardware.camera2.CameraMetadata.Key LENS_INFO_AVAILABLE_APERTURES; - field public static final android.hardware.camera2.CameraMetadata.Key LENS_INFO_AVAILABLE_FILTER_DENSITIES; - field public static final android.hardware.camera2.CameraMetadata.Key LENS_INFO_AVAILABLE_FOCAL_LENGTHS; - field public static final android.hardware.camera2.CameraMetadata.Key LENS_INFO_AVAILABLE_OPTICAL_STABILIZATION; - field public static final android.hardware.camera2.CameraMetadata.Key LENS_INFO_FOCUS_DISTANCE_CALIBRATION; - field public static final android.hardware.camera2.CameraMetadata.Key LENS_INFO_HYPERFOCAL_DISTANCE; - field public static final android.hardware.camera2.CameraMetadata.Key LENS_INFO_MINIMUM_FOCUS_DISTANCE; - field public static final android.hardware.camera2.CameraMetadata.Key LENS_INFO_SHADING_MAP_SIZE; - field public static final android.hardware.camera2.CameraMetadata.Key NOISE_REDUCTION_AVAILABLE_NOISE_REDUCTION_MODES; - field public static final android.hardware.camera2.CameraMetadata.Key REQUEST_AVAILABLE_CAPABILITIES; - field public static final android.hardware.camera2.CameraMetadata.Key REQUEST_MAX_NUM_INPUT_STREAMS; - field public static final android.hardware.camera2.CameraMetadata.Key REQUEST_MAX_NUM_OUTPUT_STREAMS; - field public static final android.hardware.camera2.CameraMetadata.Key REQUEST_PARTIAL_RESULT_COUNT; - field public static final android.hardware.camera2.CameraMetadata.Key REQUEST_PIPELINE_MAX_DEPTH; - field public static final android.hardware.camera2.CameraMetadata.Key SCALER_AVAILABLE_MAX_DIGITAL_ZOOM; - field public static final android.hardware.camera2.CameraMetadata.Key SCALER_CROPPING_TYPE; - field public static final android.hardware.camera2.CameraMetadata.Key SCALER_STREAM_CONFIGURATION_MAP; - field public static final android.hardware.camera2.CameraMetadata.Key SENSOR_AVAILABLE_TEST_PATTERN_MODES; - field public static final android.hardware.camera2.CameraMetadata.Key SENSOR_BASE_GAIN_FACTOR; - field public static final android.hardware.camera2.CameraMetadata.Key SENSOR_BLACK_LEVEL_PATTERN; - field public static final android.hardware.camera2.CameraMetadata.Key SENSOR_CALIBRATION_TRANSFORM1; - field public static final android.hardware.camera2.CameraMetadata.Key SENSOR_CALIBRATION_TRANSFORM2; - field public static final android.hardware.camera2.CameraMetadata.Key SENSOR_COLOR_TRANSFORM1; - field public static final android.hardware.camera2.CameraMetadata.Key SENSOR_COLOR_TRANSFORM2; - field public static final android.hardware.camera2.CameraMetadata.Key SENSOR_FORWARD_MATRIX1; - field public static final android.hardware.camera2.CameraMetadata.Key SENSOR_FORWARD_MATRIX2; - field public static final android.hardware.camera2.CameraMetadata.Key SENSOR_INFO_ACTIVE_ARRAY_SIZE; - field public static final android.hardware.camera2.CameraMetadata.Key SENSOR_INFO_COLOR_FILTER_ARRANGEMENT; - field public static final android.hardware.camera2.CameraMetadata.Key SENSOR_INFO_EXPOSURE_TIME_RANGE; - field public static final android.hardware.camera2.CameraMetadata.Key SENSOR_INFO_MAX_FRAME_DURATION; - field public static final android.hardware.camera2.CameraMetadata.Key SENSOR_INFO_PHYSICAL_SIZE; - field public static final android.hardware.camera2.CameraMetadata.Key SENSOR_INFO_PIXEL_ARRAY_SIZE; - field public static final android.hardware.camera2.CameraMetadata.Key SENSOR_INFO_SENSITIVITY_RANGE; - field public static final android.hardware.camera2.CameraMetadata.Key SENSOR_INFO_WHITE_LEVEL; - field public static final android.hardware.camera2.CameraMetadata.Key SENSOR_MAX_ANALOG_SENSITIVITY; - field public static final android.hardware.camera2.CameraMetadata.Key SENSOR_ORIENTATION; - field public static final android.hardware.camera2.CameraMetadata.Key SENSOR_REFERENCE_ILLUMINANT1; - field public static final android.hardware.camera2.CameraMetadata.Key SENSOR_REFERENCE_ILLUMINANT2; - field public static final android.hardware.camera2.CameraMetadata.Key STATISTICS_INFO_AVAILABLE_FACE_DETECT_MODES; - field public static final android.hardware.camera2.CameraMetadata.Key STATISTICS_INFO_AVAILABLE_HOT_PIXEL_MAP_MODES; - field public static final android.hardware.camera2.CameraMetadata.Key STATISTICS_INFO_MAX_FACE_COUNT; - field public static final android.hardware.camera2.CameraMetadata.Key SYNC_MAX_LATENCY; - field public static final android.hardware.camera2.CameraMetadata.Key TONEMAP_AVAILABLE_TONE_MAP_MODES; - field public static final android.hardware.camera2.CameraMetadata.Key TONEMAP_MAX_CURVE_POINTS; + method public T get(android.hardware.camera2.CameraCharacteristics.Key<T>); + method public java.util.List<android.hardware.camera2.CaptureRequest.Key<?>> getAvailableCaptureRequestKeys(); + method public java.util.List<android.hardware.camera2.CaptureResult.Key<?>> getAvailableCaptureResultKeys(); + field public static final android.hardware.camera2.CameraCharacteristics.Key CONTROL_AE_AVAILABLE_ANTIBANDING_MODES; + field public static final android.hardware.camera2.CameraCharacteristics.Key CONTROL_AE_AVAILABLE_MODES; + field public static final android.hardware.camera2.CameraCharacteristics.Key CONTROL_AE_AVAILABLE_TARGET_FPS_RANGES; + field public static final android.hardware.camera2.CameraCharacteristics.Key CONTROL_AE_COMPENSATION_RANGE; + field public static final android.hardware.camera2.CameraCharacteristics.Key CONTROL_AE_COMPENSATION_STEP; + field public static final android.hardware.camera2.CameraCharacteristics.Key CONTROL_AF_AVAILABLE_MODES; + field public static final android.hardware.camera2.CameraCharacteristics.Key CONTROL_AVAILABLE_EFFECTS; + field public static final android.hardware.camera2.CameraCharacteristics.Key CONTROL_AVAILABLE_SCENE_MODES; + field public static final android.hardware.camera2.CameraCharacteristics.Key CONTROL_AVAILABLE_VIDEO_STABILIZATION_MODES; + field public static final android.hardware.camera2.CameraCharacteristics.Key CONTROL_AWB_AVAILABLE_MODES; + field public static final android.hardware.camera2.CameraCharacteristics.Key CONTROL_MAX_REGIONS; + field public static final android.hardware.camera2.CameraCharacteristics.Key EDGE_AVAILABLE_EDGE_MODES; + field public static final android.hardware.camera2.CameraCharacteristics.Key FLASH_INFO_AVAILABLE; + field public static final android.hardware.camera2.CameraCharacteristics.Key HOT_PIXEL_AVAILABLE_HOT_PIXEL_MODES; + field public static final android.hardware.camera2.CameraCharacteristics.Key INFO_SUPPORTED_HARDWARE_LEVEL; + field public static final android.hardware.camera2.CameraCharacteristics.Key JPEG_AVAILABLE_THUMBNAIL_SIZES; + field public static final android.hardware.camera2.CameraCharacteristics.Key LENS_FACING; + field public static final android.hardware.camera2.CameraCharacteristics.Key LENS_INFO_AVAILABLE_APERTURES; + field public static final android.hardware.camera2.CameraCharacteristics.Key LENS_INFO_AVAILABLE_FILTER_DENSITIES; + field public static final android.hardware.camera2.CameraCharacteristics.Key LENS_INFO_AVAILABLE_FOCAL_LENGTHS; + field public static final android.hardware.camera2.CameraCharacteristics.Key LENS_INFO_AVAILABLE_OPTICAL_STABILIZATION; + field public static final android.hardware.camera2.CameraCharacteristics.Key LENS_INFO_FOCUS_DISTANCE_CALIBRATION; + field public static final android.hardware.camera2.CameraCharacteristics.Key LENS_INFO_HYPERFOCAL_DISTANCE; + field public static final android.hardware.camera2.CameraCharacteristics.Key LENS_INFO_MINIMUM_FOCUS_DISTANCE; + field public static final android.hardware.camera2.CameraCharacteristics.Key LENS_INFO_SHADING_MAP_SIZE; + field public static final android.hardware.camera2.CameraCharacteristics.Key NOISE_REDUCTION_AVAILABLE_NOISE_REDUCTION_MODES; + field public static final android.hardware.camera2.CameraCharacteristics.Key REQUEST_AVAILABLE_CAPABILITIES; + field public static final android.hardware.camera2.CameraCharacteristics.Key REQUEST_MAX_NUM_INPUT_STREAMS; + field public static final android.hardware.camera2.CameraCharacteristics.Key REQUEST_MAX_NUM_OUTPUT_STREAMS; + field public static final android.hardware.camera2.CameraCharacteristics.Key REQUEST_PARTIAL_RESULT_COUNT; + field public static final android.hardware.camera2.CameraCharacteristics.Key REQUEST_PIPELINE_MAX_DEPTH; + field public static final android.hardware.camera2.CameraCharacteristics.Key SCALER_AVAILABLE_MAX_DIGITAL_ZOOM; + field public static final android.hardware.camera2.CameraCharacteristics.Key SCALER_CROPPING_TYPE; + field public static final android.hardware.camera2.CameraCharacteristics.Key SCALER_STREAM_CONFIGURATION_MAP; + field public static final android.hardware.camera2.CameraCharacteristics.Key SENSOR_AVAILABLE_TEST_PATTERN_MODES; + field public static final android.hardware.camera2.CameraCharacteristics.Key SENSOR_BLACK_LEVEL_PATTERN; + field public static final android.hardware.camera2.CameraCharacteristics.Key SENSOR_CALIBRATION_TRANSFORM1; + field public static final android.hardware.camera2.CameraCharacteristics.Key SENSOR_CALIBRATION_TRANSFORM2; + field public static final android.hardware.camera2.CameraCharacteristics.Key SENSOR_COLOR_TRANSFORM1; + field public static final android.hardware.camera2.CameraCharacteristics.Key SENSOR_COLOR_TRANSFORM2; + field public static final android.hardware.camera2.CameraCharacteristics.Key SENSOR_FORWARD_MATRIX1; + field public static final android.hardware.camera2.CameraCharacteristics.Key SENSOR_FORWARD_MATRIX2; + field public static final android.hardware.camera2.CameraCharacteristics.Key SENSOR_INFO_ACTIVE_ARRAY_SIZE; + field public static final android.hardware.camera2.CameraCharacteristics.Key SENSOR_INFO_COLOR_FILTER_ARRANGEMENT; + field public static final android.hardware.camera2.CameraCharacteristics.Key SENSOR_INFO_EXPOSURE_TIME_RANGE; + field public static final android.hardware.camera2.CameraCharacteristics.Key SENSOR_INFO_MAX_FRAME_DURATION; + field public static final android.hardware.camera2.CameraCharacteristics.Key SENSOR_INFO_PHYSICAL_SIZE; + field public static final android.hardware.camera2.CameraCharacteristics.Key SENSOR_INFO_PIXEL_ARRAY_SIZE; + field public static final android.hardware.camera2.CameraCharacteristics.Key SENSOR_INFO_SENSITIVITY_RANGE; + field public static final android.hardware.camera2.CameraCharacteristics.Key SENSOR_INFO_WHITE_LEVEL; + field public static final android.hardware.camera2.CameraCharacteristics.Key SENSOR_MAX_ANALOG_SENSITIVITY; + field public static final android.hardware.camera2.CameraCharacteristics.Key SENSOR_ORIENTATION; + field public static final android.hardware.camera2.CameraCharacteristics.Key SENSOR_REFERENCE_ILLUMINANT1; + field public static final android.hardware.camera2.CameraCharacteristics.Key SENSOR_REFERENCE_ILLUMINANT2; + field public static final android.hardware.camera2.CameraCharacteristics.Key STATISTICS_INFO_AVAILABLE_FACE_DETECT_MODES; + field public static final android.hardware.camera2.CameraCharacteristics.Key STATISTICS_INFO_AVAILABLE_HOT_PIXEL_MAP_MODES; + field public static final android.hardware.camera2.CameraCharacteristics.Key STATISTICS_INFO_MAX_FACE_COUNT; + field public static final android.hardware.camera2.CameraCharacteristics.Key SYNC_MAX_LATENCY; + field public static final android.hardware.camera2.CameraCharacteristics.Key TONEMAP_AVAILABLE_TONE_MAP_MODES; + field public static final android.hardware.camera2.CameraCharacteristics.Key TONEMAP_MAX_CURVE_POINTS; + } + + public static final class CameraCharacteristics.Key { + method public final boolean equals(java.lang.Object); + method public java.lang.String getName(); + method public final int hashCode(); } public abstract interface CameraDevice implements java.lang.AutoCloseable { @@ -12292,8 +12297,7 @@ package android.hardware.camera2 { } public abstract class CameraMetadata { - method public abstract T get(android.hardware.camera2.CameraMetadata.Key<T>); - method public java.util.List<android.hardware.camera2.CameraMetadata.Key<?>> getKeys(); + method public java.util.List<TKey> getKeys(); field public static final int COLOR_CORRECTION_MODE_FAST = 1; // 0x1 field public static final int COLOR_CORRECTION_MODE_HIGH_QUALITY = 2; // 0x2 field public static final int COLOR_CORRECTION_MODE_TRANSFORM_MATRIX = 0; // 0x0 @@ -12463,12 +12467,6 @@ package android.hardware.camera2 { field public static final int TONEMAP_MODE_HIGH_QUALITY = 2; // 0x2 } - public static class CameraMetadata.Key { - method public final boolean equals(java.lang.Object); - method public final java.lang.String getName(); - method public final int hashCode(); - } - public class CaptureFailure { method public int getFrameNumber(); method public int getReason(); @@ -12481,146 +12479,157 @@ package android.hardware.camera2 { public final class CaptureRequest extends android.hardware.camera2.CameraMetadata implements android.os.Parcelable { method public int describeContents(); - method public T get(android.hardware.camera2.CameraMetadata.Key<T>); + method public T get(android.hardware.camera2.CaptureRequest.Key<T>); method public java.lang.Object getTag(); method public void writeToParcel(android.os.Parcel, int); - field public static final android.hardware.camera2.CameraMetadata.Key BLACK_LEVEL_LOCK; - field public static final android.hardware.camera2.CameraMetadata.Key COLOR_CORRECTION_GAINS; - field public static final android.hardware.camera2.CameraMetadata.Key COLOR_CORRECTION_MODE; - field public static final android.hardware.camera2.CameraMetadata.Key COLOR_CORRECTION_TRANSFORM; - field public static final android.hardware.camera2.CameraMetadata.Key CONTROL_AE_ANTIBANDING_MODE; - field public static final android.hardware.camera2.CameraMetadata.Key CONTROL_AE_EXPOSURE_COMPENSATION; - field public static final android.hardware.camera2.CameraMetadata.Key CONTROL_AE_LOCK; - field public static final android.hardware.camera2.CameraMetadata.Key CONTROL_AE_MODE; - field public static final android.hardware.camera2.CameraMetadata.Key CONTROL_AE_PRECAPTURE_TRIGGER; - field public static final android.hardware.camera2.CameraMetadata.Key CONTROL_AE_REGIONS; - field public static final android.hardware.camera2.CameraMetadata.Key CONTROL_AE_TARGET_FPS_RANGE; - field public static final android.hardware.camera2.CameraMetadata.Key CONTROL_AF_MODE; - field public static final android.hardware.camera2.CameraMetadata.Key CONTROL_AF_REGIONS; - field public static final android.hardware.camera2.CameraMetadata.Key CONTROL_AF_TRIGGER; - field public static final android.hardware.camera2.CameraMetadata.Key CONTROL_AWB_LOCK; - field public static final android.hardware.camera2.CameraMetadata.Key CONTROL_AWB_MODE; - field public static final android.hardware.camera2.CameraMetadata.Key CONTROL_AWB_REGIONS; - field public static final android.hardware.camera2.CameraMetadata.Key CONTROL_CAPTURE_INTENT; - field public static final android.hardware.camera2.CameraMetadata.Key CONTROL_EFFECT_MODE; - field public static final android.hardware.camera2.CameraMetadata.Key CONTROL_MODE; - field public static final android.hardware.camera2.CameraMetadata.Key CONTROL_SCENE_MODE; - field public static final android.hardware.camera2.CameraMetadata.Key CONTROL_VIDEO_STABILIZATION_MODE; + field public static final android.hardware.camera2.CaptureRequest.Key BLACK_LEVEL_LOCK; + field public static final android.hardware.camera2.CaptureRequest.Key COLOR_CORRECTION_GAINS; + field public static final android.hardware.camera2.CaptureRequest.Key COLOR_CORRECTION_MODE; + field public static final android.hardware.camera2.CaptureRequest.Key COLOR_CORRECTION_TRANSFORM; + field public static final android.hardware.camera2.CaptureRequest.Key CONTROL_AE_ANTIBANDING_MODE; + field public static final android.hardware.camera2.CaptureRequest.Key CONTROL_AE_EXPOSURE_COMPENSATION; + field public static final android.hardware.camera2.CaptureRequest.Key CONTROL_AE_LOCK; + field public static final android.hardware.camera2.CaptureRequest.Key CONTROL_AE_MODE; + field public static final android.hardware.camera2.CaptureRequest.Key CONTROL_AE_PRECAPTURE_TRIGGER; + field public static final android.hardware.camera2.CaptureRequest.Key CONTROL_AE_REGIONS; + field public static final android.hardware.camera2.CaptureRequest.Key CONTROL_AE_TARGET_FPS_RANGE; + field public static final android.hardware.camera2.CaptureRequest.Key CONTROL_AF_MODE; + field public static final android.hardware.camera2.CaptureRequest.Key CONTROL_AF_REGIONS; + field public static final android.hardware.camera2.CaptureRequest.Key CONTROL_AF_TRIGGER; + field public static final android.hardware.camera2.CaptureRequest.Key CONTROL_AWB_LOCK; + field public static final android.hardware.camera2.CaptureRequest.Key CONTROL_AWB_MODE; + field public static final android.hardware.camera2.CaptureRequest.Key CONTROL_AWB_REGIONS; + field public static final android.hardware.camera2.CaptureRequest.Key CONTROL_CAPTURE_INTENT; + field public static final android.hardware.camera2.CaptureRequest.Key CONTROL_EFFECT_MODE; + field public static final android.hardware.camera2.CaptureRequest.Key CONTROL_MODE; + field public static final android.hardware.camera2.CaptureRequest.Key CONTROL_SCENE_MODE; + field public static final android.hardware.camera2.CaptureRequest.Key CONTROL_VIDEO_STABILIZATION_MODE; field public static final android.os.Parcelable.Creator CREATOR; - field public static final android.hardware.camera2.CameraMetadata.Key EDGE_MODE; - field public static final android.hardware.camera2.CameraMetadata.Key FLASH_MODE; - field public static final android.hardware.camera2.CameraMetadata.Key HOT_PIXEL_MODE; - field public static final android.hardware.camera2.CameraMetadata.Key JPEG_GPS_COORDINATES; - field public static final android.hardware.camera2.CameraMetadata.Key JPEG_GPS_PROCESSING_METHOD; - field public static final android.hardware.camera2.CameraMetadata.Key JPEG_GPS_TIMESTAMP; - field public static final android.hardware.camera2.CameraMetadata.Key JPEG_ORIENTATION; - field public static final android.hardware.camera2.CameraMetadata.Key JPEG_QUALITY; - field public static final android.hardware.camera2.CameraMetadata.Key JPEG_THUMBNAIL_QUALITY; - field public static final android.hardware.camera2.CameraMetadata.Key JPEG_THUMBNAIL_SIZE; - field public static final android.hardware.camera2.CameraMetadata.Key LENS_APERTURE; - field public static final android.hardware.camera2.CameraMetadata.Key LENS_FILTER_DENSITY; - field public static final android.hardware.camera2.CameraMetadata.Key LENS_FOCAL_LENGTH; - field public static final android.hardware.camera2.CameraMetadata.Key LENS_FOCUS_DISTANCE; - field public static final android.hardware.camera2.CameraMetadata.Key LENS_OPTICAL_STABILIZATION_MODE; - field public static final android.hardware.camera2.CameraMetadata.Key NOISE_REDUCTION_MODE; - field public static final android.hardware.camera2.CameraMetadata.Key SCALER_CROP_REGION; - field public static final android.hardware.camera2.CameraMetadata.Key SENSOR_EXPOSURE_TIME; - field public static final android.hardware.camera2.CameraMetadata.Key SENSOR_FRAME_DURATION; - field public static final android.hardware.camera2.CameraMetadata.Key SENSOR_SENSITIVITY; - field public static final android.hardware.camera2.CameraMetadata.Key SENSOR_TEST_PATTERN_DATA; - field public static final android.hardware.camera2.CameraMetadata.Key SENSOR_TEST_PATTERN_MODE; - field public static final android.hardware.camera2.CameraMetadata.Key SHADING_MODE; - field public static final android.hardware.camera2.CameraMetadata.Key STATISTICS_FACE_DETECT_MODE; - field public static final android.hardware.camera2.CameraMetadata.Key STATISTICS_HOT_PIXEL_MAP_MODE; - field public static final android.hardware.camera2.CameraMetadata.Key STATISTICS_LENS_SHADING_MAP_MODE; - field public static final android.hardware.camera2.CameraMetadata.Key TONEMAP_CURVE_BLUE; - field public static final android.hardware.camera2.CameraMetadata.Key TONEMAP_CURVE_GREEN; - field public static final android.hardware.camera2.CameraMetadata.Key TONEMAP_CURVE_RED; - field public static final android.hardware.camera2.CameraMetadata.Key TONEMAP_MODE; + field public static final android.hardware.camera2.CaptureRequest.Key EDGE_MODE; + field public static final android.hardware.camera2.CaptureRequest.Key FLASH_MODE; + field public static final android.hardware.camera2.CaptureRequest.Key HOT_PIXEL_MODE; + field public static final android.hardware.camera2.CaptureRequest.Key JPEG_GPS_COORDINATES; + field public static final android.hardware.camera2.CaptureRequest.Key JPEG_GPS_PROCESSING_METHOD; + field public static final android.hardware.camera2.CaptureRequest.Key JPEG_GPS_TIMESTAMP; + field public static final android.hardware.camera2.CaptureRequest.Key JPEG_ORIENTATION; + field public static final android.hardware.camera2.CaptureRequest.Key JPEG_QUALITY; + field public static final android.hardware.camera2.CaptureRequest.Key JPEG_THUMBNAIL_QUALITY; + field public static final android.hardware.camera2.CaptureRequest.Key JPEG_THUMBNAIL_SIZE; + field public static final android.hardware.camera2.CaptureRequest.Key LENS_APERTURE; + field public static final android.hardware.camera2.CaptureRequest.Key LENS_FILTER_DENSITY; + field public static final android.hardware.camera2.CaptureRequest.Key LENS_FOCAL_LENGTH; + field public static final android.hardware.camera2.CaptureRequest.Key LENS_FOCUS_DISTANCE; + field public static final android.hardware.camera2.CaptureRequest.Key LENS_OPTICAL_STABILIZATION_MODE; + field public static final android.hardware.camera2.CaptureRequest.Key NOISE_REDUCTION_MODE; + field public static final android.hardware.camera2.CaptureRequest.Key SCALER_CROP_REGION; + field public static final android.hardware.camera2.CaptureRequest.Key SENSOR_EXPOSURE_TIME; + field public static final android.hardware.camera2.CaptureRequest.Key SENSOR_FRAME_DURATION; + field public static final android.hardware.camera2.CaptureRequest.Key SENSOR_SENSITIVITY; + field public static final android.hardware.camera2.CaptureRequest.Key SENSOR_TEST_PATTERN_DATA; + field public static final android.hardware.camera2.CaptureRequest.Key SENSOR_TEST_PATTERN_MODE; + field public static final android.hardware.camera2.CaptureRequest.Key SHADING_MODE; + field public static final android.hardware.camera2.CaptureRequest.Key STATISTICS_FACE_DETECT_MODE; + field public static final android.hardware.camera2.CaptureRequest.Key STATISTICS_HOT_PIXEL_MAP_MODE; + field public static final android.hardware.camera2.CaptureRequest.Key STATISTICS_LENS_SHADING_MAP_MODE; + field public static final android.hardware.camera2.CaptureRequest.Key TONEMAP_CURVE_BLUE; + field public static final android.hardware.camera2.CaptureRequest.Key TONEMAP_CURVE_GREEN; + field public static final android.hardware.camera2.CaptureRequest.Key TONEMAP_CURVE_RED; + field public static final android.hardware.camera2.CaptureRequest.Key TONEMAP_MODE; } public static final class CaptureRequest.Builder { method public void addTarget(android.view.Surface); method public android.hardware.camera2.CaptureRequest build(); - method public T get(android.hardware.camera2.CameraMetadata.Key<T>); + method public T get(android.hardware.camera2.CaptureRequest.Key<T>); method public void removeTarget(android.view.Surface); - method public void set(android.hardware.camera2.CameraMetadata.Key<T>, T); + method public void set(android.hardware.camera2.CaptureRequest.Key<T>, T); method public void setTag(java.lang.Object); } + public static final class CaptureRequest.Key { + method public final boolean equals(java.lang.Object); + method public java.lang.String getName(); + method public final int hashCode(); + } + public final class CaptureResult extends android.hardware.camera2.CameraMetadata { - method public T get(android.hardware.camera2.CameraMetadata.Key<T>); + method public T get(android.hardware.camera2.CaptureResult.Key<T>); method public int getFrameNumber(); method public android.hardware.camera2.CaptureRequest getRequest(); method public int getSequenceId(); - field public static final android.hardware.camera2.CameraMetadata.Key BLACK_LEVEL_LOCK; - field public static final android.hardware.camera2.CameraMetadata.Key COLOR_CORRECTION_GAINS; - field public static final android.hardware.camera2.CameraMetadata.Key COLOR_CORRECTION_MODE; - field public static final android.hardware.camera2.CameraMetadata.Key COLOR_CORRECTION_TRANSFORM; - field public static final android.hardware.camera2.CameraMetadata.Key CONTROL_AE_ANTIBANDING_MODE; - field public static final android.hardware.camera2.CameraMetadata.Key CONTROL_AE_EXPOSURE_COMPENSATION; - field public static final android.hardware.camera2.CameraMetadata.Key CONTROL_AE_LOCK; - field public static final android.hardware.camera2.CameraMetadata.Key CONTROL_AE_MODE; - field public static final android.hardware.camera2.CameraMetadata.Key CONTROL_AE_PRECAPTURE_TRIGGER; - field public static final android.hardware.camera2.CameraMetadata.Key CONTROL_AE_REGIONS; - field public static final android.hardware.camera2.CameraMetadata.Key CONTROL_AE_STATE; - field public static final android.hardware.camera2.CameraMetadata.Key CONTROL_AE_TARGET_FPS_RANGE; - field public static final android.hardware.camera2.CameraMetadata.Key CONTROL_AF_MODE; - field public static final android.hardware.camera2.CameraMetadata.Key CONTROL_AF_REGIONS; - field public static final android.hardware.camera2.CameraMetadata.Key CONTROL_AF_STATE; - field public static final android.hardware.camera2.CameraMetadata.Key CONTROL_AF_TRIGGER; - field public static final android.hardware.camera2.CameraMetadata.Key CONTROL_AWB_LOCK; - field public static final android.hardware.camera2.CameraMetadata.Key CONTROL_AWB_MODE; - field public static final android.hardware.camera2.CameraMetadata.Key CONTROL_AWB_REGIONS; - field public static final android.hardware.camera2.CameraMetadata.Key CONTROL_AWB_STATE; - field public static final android.hardware.camera2.CameraMetadata.Key CONTROL_CAPTURE_INTENT; - field public static final android.hardware.camera2.CameraMetadata.Key CONTROL_EFFECT_MODE; - field public static final android.hardware.camera2.CameraMetadata.Key CONTROL_MODE; - field public static final android.hardware.camera2.CameraMetadata.Key CONTROL_SCENE_MODE; - field public static final android.hardware.camera2.CameraMetadata.Key CONTROL_VIDEO_STABILIZATION_MODE; - field public static final android.hardware.camera2.CameraMetadata.Key EDGE_MODE; - field public static final android.hardware.camera2.CameraMetadata.Key FLASH_MODE; - field public static final android.hardware.camera2.CameraMetadata.Key FLASH_STATE; - field public static final android.hardware.camera2.CameraMetadata.Key HOT_PIXEL_MODE; - field public static final android.hardware.camera2.CameraMetadata.Key JPEG_GPS_COORDINATES; - field public static final android.hardware.camera2.CameraMetadata.Key JPEG_GPS_PROCESSING_METHOD; - field public static final android.hardware.camera2.CameraMetadata.Key JPEG_GPS_TIMESTAMP; - field public static final android.hardware.camera2.CameraMetadata.Key JPEG_ORIENTATION; - field public static final android.hardware.camera2.CameraMetadata.Key JPEG_QUALITY; - field public static final android.hardware.camera2.CameraMetadata.Key JPEG_THUMBNAIL_QUALITY; - field public static final android.hardware.camera2.CameraMetadata.Key JPEG_THUMBNAIL_SIZE; - field public static final android.hardware.camera2.CameraMetadata.Key LENS_APERTURE; - field public static final android.hardware.camera2.CameraMetadata.Key LENS_FILTER_DENSITY; - field public static final android.hardware.camera2.CameraMetadata.Key LENS_FOCAL_LENGTH; - field public static final android.hardware.camera2.CameraMetadata.Key LENS_FOCUS_DISTANCE; - field public static final android.hardware.camera2.CameraMetadata.Key LENS_FOCUS_RANGE; - field public static final android.hardware.camera2.CameraMetadata.Key LENS_OPTICAL_STABILIZATION_MODE; - field public static final android.hardware.camera2.CameraMetadata.Key LENS_STATE; - field public static final android.hardware.camera2.CameraMetadata.Key NOISE_REDUCTION_MODE; - field public static final android.hardware.camera2.CameraMetadata.Key REQUEST_FRAME_COUNT; - field public static final android.hardware.camera2.CameraMetadata.Key REQUEST_PIPELINE_DEPTH; - field public static final android.hardware.camera2.CameraMetadata.Key SCALER_CROP_REGION; - field public static final android.hardware.camera2.CameraMetadata.Key SENSOR_EXPOSURE_TIME; - field public static final android.hardware.camera2.CameraMetadata.Key SENSOR_FRAME_DURATION; - field public static final android.hardware.camera2.CameraMetadata.Key SENSOR_GREEN_SPLIT; - field public static final android.hardware.camera2.CameraMetadata.Key SENSOR_NEUTRAL_COLOR_POINT; - field public static final android.hardware.camera2.CameraMetadata.Key SENSOR_SENSITIVITY; - field public static final android.hardware.camera2.CameraMetadata.Key SENSOR_TEMPERATURE; - field public static final android.hardware.camera2.CameraMetadata.Key SENSOR_TEST_PATTERN_DATA; - field public static final android.hardware.camera2.CameraMetadata.Key SENSOR_TEST_PATTERN_MODE; - field public static final android.hardware.camera2.CameraMetadata.Key SENSOR_TIMESTAMP; - field public static final android.hardware.camera2.CameraMetadata.Key SHADING_MODE; - field public static final android.hardware.camera2.CameraMetadata.Key STATISTICS_FACES; - field public static final android.hardware.camera2.CameraMetadata.Key STATISTICS_FACE_DETECT_MODE; - field public static final android.hardware.camera2.CameraMetadata.Key STATISTICS_HOT_PIXEL_MAP; - field public static final android.hardware.camera2.CameraMetadata.Key STATISTICS_HOT_PIXEL_MAP_MODE; - field public static final android.hardware.camera2.CameraMetadata.Key STATISTICS_LENS_SHADING_MAP; - field public static final android.hardware.camera2.CameraMetadata.Key STATISTICS_LENS_SHADING_MAP_MODE; - field public static final android.hardware.camera2.CameraMetadata.Key STATISTICS_SCENE_FLICKER; - field public static final android.hardware.camera2.CameraMetadata.Key TONEMAP_CURVE_BLUE; - field public static final android.hardware.camera2.CameraMetadata.Key TONEMAP_CURVE_GREEN; - field public static final android.hardware.camera2.CameraMetadata.Key TONEMAP_CURVE_RED; - field public static final android.hardware.camera2.CameraMetadata.Key TONEMAP_MODE; + field public static final android.hardware.camera2.CaptureResult.Key BLACK_LEVEL_LOCK; + field public static final android.hardware.camera2.CaptureResult.Key COLOR_CORRECTION_GAINS; + field public static final android.hardware.camera2.CaptureResult.Key COLOR_CORRECTION_MODE; + field public static final android.hardware.camera2.CaptureResult.Key COLOR_CORRECTION_TRANSFORM; + field public static final android.hardware.camera2.CaptureResult.Key CONTROL_AE_ANTIBANDING_MODE; + field public static final android.hardware.camera2.CaptureResult.Key CONTROL_AE_EXPOSURE_COMPENSATION; + field public static final android.hardware.camera2.CaptureResult.Key CONTROL_AE_LOCK; + field public static final android.hardware.camera2.CaptureResult.Key CONTROL_AE_MODE; + field public static final android.hardware.camera2.CaptureResult.Key CONTROL_AE_PRECAPTURE_TRIGGER; + field public static final android.hardware.camera2.CaptureResult.Key CONTROL_AE_REGIONS; + field public static final android.hardware.camera2.CaptureResult.Key CONTROL_AE_STATE; + field public static final android.hardware.camera2.CaptureResult.Key CONTROL_AE_TARGET_FPS_RANGE; + field public static final android.hardware.camera2.CaptureResult.Key CONTROL_AF_MODE; + field public static final android.hardware.camera2.CaptureResult.Key CONTROL_AF_REGIONS; + field public static final android.hardware.camera2.CaptureResult.Key CONTROL_AF_STATE; + field public static final android.hardware.camera2.CaptureResult.Key CONTROL_AF_TRIGGER; + field public static final android.hardware.camera2.CaptureResult.Key CONTROL_AWB_LOCK; + field public static final android.hardware.camera2.CaptureResult.Key CONTROL_AWB_MODE; + field public static final android.hardware.camera2.CaptureResult.Key CONTROL_AWB_REGIONS; + field public static final android.hardware.camera2.CaptureResult.Key CONTROL_AWB_STATE; + field public static final android.hardware.camera2.CaptureResult.Key CONTROL_CAPTURE_INTENT; + field public static final android.hardware.camera2.CaptureResult.Key CONTROL_EFFECT_MODE; + field public static final android.hardware.camera2.CaptureResult.Key CONTROL_MODE; + field public static final android.hardware.camera2.CaptureResult.Key CONTROL_SCENE_MODE; + field public static final android.hardware.camera2.CaptureResult.Key CONTROL_VIDEO_STABILIZATION_MODE; + field public static final android.hardware.camera2.CaptureResult.Key EDGE_MODE; + field public static final android.hardware.camera2.CaptureResult.Key FLASH_MODE; + field public static final android.hardware.camera2.CaptureResult.Key FLASH_STATE; + field public static final android.hardware.camera2.CaptureResult.Key HOT_PIXEL_MODE; + field public static final android.hardware.camera2.CaptureResult.Key JPEG_GPS_COORDINATES; + field public static final android.hardware.camera2.CaptureResult.Key JPEG_GPS_PROCESSING_METHOD; + field public static final android.hardware.camera2.CaptureResult.Key JPEG_GPS_TIMESTAMP; + field public static final android.hardware.camera2.CaptureResult.Key JPEG_ORIENTATION; + field public static final android.hardware.camera2.CaptureResult.Key JPEG_QUALITY; + field public static final android.hardware.camera2.CaptureResult.Key JPEG_THUMBNAIL_QUALITY; + field public static final android.hardware.camera2.CaptureResult.Key JPEG_THUMBNAIL_SIZE; + field public static final android.hardware.camera2.CaptureResult.Key LENS_APERTURE; + field public static final android.hardware.camera2.CaptureResult.Key LENS_FILTER_DENSITY; + field public static final android.hardware.camera2.CaptureResult.Key LENS_FOCAL_LENGTH; + field public static final android.hardware.camera2.CaptureResult.Key LENS_FOCUS_DISTANCE; + field public static final android.hardware.camera2.CaptureResult.Key LENS_FOCUS_RANGE; + field public static final android.hardware.camera2.CaptureResult.Key LENS_OPTICAL_STABILIZATION_MODE; + field public static final android.hardware.camera2.CaptureResult.Key LENS_STATE; + field public static final android.hardware.camera2.CaptureResult.Key NOISE_REDUCTION_MODE; + field public static final android.hardware.camera2.CaptureResult.Key REQUEST_FRAME_COUNT; + field public static final android.hardware.camera2.CaptureResult.Key REQUEST_PIPELINE_DEPTH; + field public static final android.hardware.camera2.CaptureResult.Key SCALER_CROP_REGION; + field public static final android.hardware.camera2.CaptureResult.Key SENSOR_EXPOSURE_TIME; + field public static final android.hardware.camera2.CaptureResult.Key SENSOR_FRAME_DURATION; + field public static final android.hardware.camera2.CaptureResult.Key SENSOR_GREEN_SPLIT; + field public static final android.hardware.camera2.CaptureResult.Key SENSOR_NEUTRAL_COLOR_POINT; + field public static final android.hardware.camera2.CaptureResult.Key SENSOR_SENSITIVITY; + field public static final android.hardware.camera2.CaptureResult.Key SENSOR_TEST_PATTERN_DATA; + field public static final android.hardware.camera2.CaptureResult.Key SENSOR_TEST_PATTERN_MODE; + field public static final android.hardware.camera2.CaptureResult.Key SENSOR_TIMESTAMP; + field public static final android.hardware.camera2.CaptureResult.Key SHADING_MODE; + field public static final android.hardware.camera2.CaptureResult.Key STATISTICS_FACES; + field public static final android.hardware.camera2.CaptureResult.Key STATISTICS_FACE_DETECT_MODE; + field public static final android.hardware.camera2.CaptureResult.Key STATISTICS_HOT_PIXEL_MAP; + field public static final android.hardware.camera2.CaptureResult.Key STATISTICS_HOT_PIXEL_MAP_MODE; + field public static final android.hardware.camera2.CaptureResult.Key STATISTICS_LENS_SHADING_MAP; + field public static final android.hardware.camera2.CaptureResult.Key STATISTICS_LENS_SHADING_MAP_MODE; + field public static final android.hardware.camera2.CaptureResult.Key STATISTICS_SCENE_FLICKER; + field public static final android.hardware.camera2.CaptureResult.Key TONEMAP_CURVE_BLUE; + field public static final android.hardware.camera2.CaptureResult.Key TONEMAP_CURVE_GREEN; + field public static final android.hardware.camera2.CaptureResult.Key TONEMAP_CURVE_RED; + field public static final android.hardware.camera2.CaptureResult.Key TONEMAP_MODE; + } + + public static final class CaptureResult.Key { + method public final boolean equals(java.lang.Object); + method public java.lang.String getName(); + method public final int hashCode(); } } @@ -25061,7 +25070,9 @@ package android.provider { field public static final java.lang.String COLUMN_DESCRIPTION = "description"; field public static final java.lang.String COLUMN_DISPLAY_NAME = "display_name"; field public static final java.lang.String COLUMN_DISPLAY_NUMBER = "display_number"; + field public static final java.lang.String COLUMN_LOCKED = "locked"; field public static final java.lang.String COLUMN_ORIGINAL_NETWORK_ID = "original_network_id"; + field public static final java.lang.String COLUMN_SEARCHABLE = "searchable"; field public static final java.lang.String COLUMN_SERVICE_ID = "service_id"; field public static final java.lang.String COLUMN_SERVICE_NAME = "service_name"; field public static final java.lang.String COLUMN_SERVICE_TYPE = "service_type"; @@ -25099,10 +25110,12 @@ package android.provider { } public static final class TvContract.Programs implements android.provider.TvContract.BaseTvColumns { + field public static final java.lang.String COLUMN_AUDIO_LANGUAGE = "audio_language"; field public static final java.lang.String COLUMN_CHANNEL_ID = "channel_id"; field public static final java.lang.String COLUMN_DATA = "data"; field public static final java.lang.String COLUMN_DESCRIPTION = "description"; field public static final java.lang.String COLUMN_END_TIME_UTC_MILLIS = "end_time_utc_millis"; + field public static final java.lang.String COLUMN_GENRE = "genre"; field public static final java.lang.String COLUMN_LONG_DESCRIPTION = "long_description"; field public static final java.lang.String COLUMN_START_TIME_UTC_MILLIS = "start_time_utc_millis"; field public static final java.lang.String COLUMN_TITLE = "title"; diff --git a/core/java/android/content/Context.java b/core/java/android/content/Context.java index d0ac9c9..6ae006c 100644 --- a/core/java/android/content/Context.java +++ b/core/java/android/content/Context.java @@ -1994,6 +1994,7 @@ public abstract class Context { WIFI_PASSPOINT_SERVICE, WIFI_P2P_SERVICE, WIFI_SCANNING_SERVICE, + //@hide: ETHERNET_SERVICE, NSD_SERVICE, AUDIO_SERVICE, MEDIA_ROUTER_SERVICE, @@ -2069,9 +2070,6 @@ public abstract class Context { * <dt> {@link #WIFI_P2P_SERVICE} ("wifip2p") * <dd> A {@link android.net.wifi.p2p.WifiP2pManager WifiP2pManager} for management of * Wi-Fi Direct connectivity. - * <dt> {@link #ETHERNET_SERVICE} ("ethernet") - * <dd> A {@link android.net.ethernet.EthernetManager EthernetManager} for - * management of Ethernet connectivity. * <dt> {@link #INPUT_METHOD_SERVICE} ("input_method") * <dd> An {@link android.view.inputmethod.InputMethodManager InputMethodManager} * for management of input methods. diff --git a/core/java/android/content/res/Resources.java b/core/java/android/content/res/Resources.java index a78f8e2..3737638 100644 --- a/core/java/android/content/res/Resources.java +++ b/core/java/android/content/res/Resources.java @@ -31,11 +31,11 @@ import android.os.Build; import android.os.Bundle; import android.os.IBinder; import android.os.Trace; +import android.util.ArrayMap; import android.util.AttributeSet; import android.util.DisplayMetrics; import android.util.Log; import android.util.Slog; -import android.util.SparseArray; import android.util.TypedValue; import android.util.LongSparseArray; @@ -104,10 +104,10 @@ public class Resources { // These are protected by mAccessLock. private final Object mAccessLock = new Object(); private final Configuration mTmpConfig = new Configuration(); - private final ThemedCaches<ConstantState> mDrawableCache = - new ThemedCaches<ConstantState>(); - private final ThemedCaches<ConstantState> mColorDrawableCache = - new ThemedCaches<ConstantState>(); + private final ArrayMap<String, LongSparseArray<WeakReference<ConstantState>>> mDrawableCache = + new ArrayMap<String, LongSparseArray<WeakReference<ConstantState>>>(); + private final ArrayMap<String, LongSparseArray<WeakReference<ConstantState>>> mColorDrawableCache = + new ArrayMap<String, LongSparseArray<WeakReference<ConstantState>>>(); private final LongSparseArray<WeakReference<ColorStateList>> mColorStateListCache = new LongSparseArray<WeakReference<ColorStateList>>(); @@ -1261,18 +1261,17 @@ public class Resources { * any of the style's attributes are already defined in the theme, the * current values in the theme will be overwritten. * - * @param resid The resource ID of a style resource from which to + * @param resId The resource ID of a style resource from which to * obtain attribute values. * @param force If true, values in the style resource will always be * used in the theme; otherwise, they will only be used * if not already defined in the theme. */ - public void applyStyle(int resid, boolean force) { - AssetManager.applyThemeStyle(mTheme, resid, force); + public void applyStyle(int resId, boolean force) { + AssetManager.applyThemeStyle(mTheme, resId, force); - // TODO: In very rare cases, we may end up with a hybrid theme - // that can't map to a single theme ID. - mThemeResId = resid; + mThemeResId = resId; + mKey += Integer.toHexString(resId) + (force ? "! " : " "); } /** @@ -1288,6 +1287,7 @@ public class Resources { AssetManager.copyTheme(mTheme, other.mTheme); mThemeResId = other.mThemeResId; + mKey = other.mKey; } /** @@ -1577,6 +1577,9 @@ public class Resources { /** Resource identifier for the theme. */ private int mThemeResId = 0; + /** Unique key for the series of styles applied to this theme. */ + private String mKey = ""; + // Needed by layoutlib. /*package*/ long getNativeTheme() { return mTheme; @@ -1585,6 +1588,10 @@ public class Resources { /*package*/ int getAppliedStyleResId() { return mThemeResId; } + + /*package*/ String getKey() { + return mKey; + } } /** @@ -1740,7 +1747,8 @@ public class Resources { } private void clearDrawableCachesLocked( - ThemedCaches<ConstantState> caches, int configChanges) { + ArrayMap<String, LongSparseArray<WeakReference<ConstantState>>> caches, + int configChanges) { final int N = caches.size(); for (int i = 0; i < N; i++) { clearDrawableCacheLocked(caches.valueAt(i), configChanges); @@ -1763,7 +1771,7 @@ public class Resources { configChanges, cs.getChangingConfigurations())) { if (DEBUG_CONFIG) { Log.d(TAG, "FLUSHING #0x" - + Long.toHexString(mDrawableCache.keyAt(i)) + + Long.toHexString(cache.keyAt(i)) + " / " + cs + " with changes: 0x" + Integer.toHexString(cs.getChangingConfigurations())); } @@ -2205,7 +2213,7 @@ public class Resources { } final boolean isColorDrawable; - final ThemedCaches<ConstantState> caches; + final ArrayMap<String, LongSparseArray<WeakReference<ConstantState>>> caches; final long key; if (value.type >= TypedValue.TYPE_FIRST_COLOR_INT && value.type <= TypedValue.TYPE_LAST_COLOR_INT) { @@ -2258,7 +2266,8 @@ public class Resources { } private void cacheDrawable(TypedValue value, Theme theme, boolean isColorDrawable, - ThemedCaches<ConstantState> caches, long key, Drawable dr) { + ArrayMap<String, LongSparseArray<WeakReference<ConstantState>>> caches, + long key, Drawable dr) { final ConstantState cs = dr.getConstantState(); if (cs == null) { return; @@ -2287,8 +2296,12 @@ public class Resources { } } else { synchronized (mAccessLock) { - final LongSparseArray<WeakReference<ConstantState>> themedCache; - themedCache = caches.getOrCreate(theme == null ? 0 : theme.mThemeResId); + final String themeKey = theme == null ? "" : theme.mKey; + LongSparseArray<WeakReference<ConstantState>> themedCache = caches.get(themeKey); + if (themedCache == null) { + themedCache = new LongSparseArray<WeakReference<ConstantState>>(1); + caches.put(themeKey, themedCache); + } themedCache.put(key, new WeakReference<ConstantState>(cs)); } } @@ -2347,7 +2360,9 @@ public class Resources { return dr; } - private Drawable getCachedDrawable(ThemedCaches<ConstantState> caches, long key, Theme theme) { + private Drawable getCachedDrawable( + ArrayMap<String, LongSparseArray<WeakReference<ConstantState>>> caches, + long key, Theme theme) { synchronized (mAccessLock) { final int themeKey = theme != null ? theme.mThemeResId : 0; final LongSparseArray<WeakReference<ConstantState>> themedCache = caches.get(themeKey); @@ -2584,21 +2599,4 @@ public class Resources { updateConfiguration(null, null); mAssets.ensureStringBlocks(); } - - static class ThemedCaches<T> extends SparseArray<LongSparseArray<WeakReference<T>>> { - /** - * Returns the cache of drawables styled for the specified theme. - * <p> - * Drawables that have themeable attributes but were loaded without - * specifying a theme are cached at themeResId = 0. - */ - public LongSparseArray<WeakReference<T>> getOrCreate(int themeResId) { - LongSparseArray<WeakReference<T>> result = get(themeResId); - if (result == null) { - result = new LongSparseArray<WeakReference<T>>(1); - put(themeResId, result); - } - return result; - } - } } diff --git a/core/java/android/hardware/camera2/CameraCharacteristics.java b/core/java/android/hardware/camera2/CameraCharacteristics.java index 164e683..c08424a 100644 --- a/core/java/android/hardware/camera2/CameraCharacteristics.java +++ b/core/java/android/hardware/camera2/CameraCharacteristics.java @@ -16,7 +16,9 @@ package android.hardware.camera2; +import android.hardware.camera2.CaptureResult.Key; import android.hardware.camera2.impl.CameraMetadataNative; +import android.hardware.camera2.utils.TypeReference; import android.util.Rational; import java.util.Collections; @@ -35,18 +37,109 @@ import java.util.List; * @see CameraDevice * @see CameraManager */ -public final class CameraCharacteristics extends CameraMetadata { +public final class CameraCharacteristics extends CameraMetadata<CameraCharacteristics.Key<?>> { + + /** + * A {@code Key} is used to do camera characteristics field lookups with + * {@link CameraCharacteristics#get}. + * + * <p>For example, to get the stream configuration map: + * <code><pre> + * StreamConfigurationMap map = cameraCharacteristics.get( + * CameraCharacteristics.SCALER_STREAM_CONFIGURATION_MAP); + * </pre></code> + * </p> + * + * <p>To enumerate over all possible keys for {@link CameraCharacteristics}, see + * {@link CameraCharacteristics#getKeys()}.</p> + * + * @see CameraCharacteristics#get + * @see CameraCharacteristics#getKeys() + */ + public static final class Key<T> { + private final CameraMetadataNative.Key<T> mKey; + + /** + * Visible for testing and vendor extensions only. + * + * @hide + */ + public Key(String name, Class<T> type) { + mKey = new CameraMetadataNative.Key<T>(name, type); + } + + /** + * Visible for testing and vendor extensions only. + * + * @hide + */ + public Key(String name, TypeReference<T> typeReference) { + mKey = new CameraMetadataNative.Key<T>(name, typeReference); + } + + /** + * Return a camelCase, period separated name formatted like: + * {@code "root.section[.subsections].name"}. + * + * <p>Built-in keys exposed by the Android SDK are always prefixed with {@code "android."}; + * keys that are device/platform-specific are prefixed with {@code "com."}.</p> + * + * <p>For example, {@code CameraCharacteristics.SCALER_STREAM_CONFIGURATION_MAP} would + * have a name of {@code "android.scaler.streamConfigurationMap"}; whereas a device + * specific key might look like {@code "com.google.nexus.data.private"}.</p> + * + * @return String representation of the key name + */ + public String getName() { + return mKey.getName(); + } + + /** + * {@inheritDoc} + */ + @Override + public final int hashCode() { + return mKey.hashCode(); + } + + /** + * {@inheritDoc} + */ + @SuppressWarnings("unchecked") + @Override + public final boolean equals(Object o) { + return o instanceof Key && ((Key<T>)o).mKey.equals(mKey); + } + + /** + * Visible for CameraMetadataNative implementation only; do not use. + * + * TODO: Make this private or remove it altogether. + * + * @hide + */ + public CameraMetadataNative.Key<T> getNativeKey() { + return mKey; + } + + @SuppressWarnings({ + "unused", "unchecked" + }) + private Key(CameraMetadataNative.Key<?> nativeKey) { + mKey = (CameraMetadataNative.Key<T>) nativeKey; + } + } private final CameraMetadataNative mProperties; - private List<Key<?>> mAvailableRequestKeys; - private List<Key<?>> mAvailableResultKeys; + private List<CaptureRequest.Key<?>> mAvailableRequestKeys; + private List<CaptureResult.Key<?>> mAvailableResultKeys; /** * Takes ownership of the passed-in properties object * @hide */ public CameraCharacteristics(CameraMetadataNative properties) { - mProperties = properties; + mProperties = CameraMetadataNative.move(properties); } /** @@ -57,12 +150,55 @@ public final class CameraCharacteristics extends CameraMetadata { return new CameraMetadataNative(mProperties); } - @Override + /** + * Get a camera characteristics field value. + * + * <p>The field definitions can be + * found in {@link CameraCharacteristics}.</p> + * + * <p>Querying the value for the same key more than once will return a value + * which is equal to the previous queried value.</p> + * + * @throws IllegalArgumentException if the key was not valid + * + * @param key The characteristics field to read. + * @return The value of that key, or {@code null} if the field is not set. + */ public <T> T get(Key<T> key) { return mProperties.get(key); } /** + * {@inheritDoc} + * @hide + */ + @SuppressWarnings("unchecked") + @Override + protected <T> T getProtected(Key<?> key) { + return (T) mProperties.get(key); + } + + /** + * {@inheritDoc} + * @hide + */ + @SuppressWarnings("unchecked") + @Override + protected Class<Key<?>> getKeyClass() { + Object thisClass = Key.class; + return (Class<Key<?>>)thisClass; + } + + /** + * {@inheritDoc} + */ + @Override + public List<Key<?>> getKeys() { + // Force the javadoc for this function to show up on the CameraCharacteristics page + return super.getKeys(); + } + + /** * Returns the list of keys supported by this {@link CameraDevice} for querying * with a {@link CaptureRequest}. * @@ -76,9 +212,14 @@ public final class CameraCharacteristics extends CameraMetadata { * * @return List of keys supported by this CameraDevice for CaptureRequests. */ - public List<Key<?>> getAvailableCaptureRequestKeys() { + @SuppressWarnings({"unchecked"}) + public List<CaptureRequest.Key<?>> getAvailableCaptureRequestKeys() { if (mAvailableRequestKeys == null) { - mAvailableRequestKeys = getAvailableKeyList(CaptureRequest.class); + Object crKey = CaptureRequest.Key.class; + Class<CaptureRequest.Key<?>> crKeyTyped = (Class<CaptureRequest.Key<?>>)crKey; + + mAvailableRequestKeys = Collections.unmodifiableList( + getAvailableKeyList(CaptureRequest.class, crKeyTyped)); } return mAvailableRequestKeys; } @@ -97,9 +238,14 @@ public final class CameraCharacteristics extends CameraMetadata { * * @return List of keys supported by this CameraDevice for CaptureResults. */ - public List<Key<?>> getAvailableCaptureResultKeys() { + @SuppressWarnings({"unchecked"}) + public List<CaptureResult.Key<?>> getAvailableCaptureResultKeys() { if (mAvailableResultKeys == null) { - mAvailableResultKeys = getAvailableKeyList(CaptureResult.class); + Object crKey = CaptureResult.Key.class; + Class<CaptureResult.Key<?>> crKeyTyped = (Class<CaptureResult.Key<?>>)crKey; + + mAvailableResultKeys = Collections.unmodifiableList( + getAvailableKeyList(CaptureResult.class, crKeyTyped)); } return mAvailableResultKeys; } @@ -113,12 +259,14 @@ public final class CameraCharacteristics extends CameraMetadata { * <p>Each key is only listed once in the list. The order of the keys is undefined.</p> * * @param metadataClass The subclass of CameraMetadata that you want to get the keys for. + * @param keyClass The class of the metadata key, e.g. CaptureRequest.Key.class * * @return List of keys supported by this CameraDevice for metadataClass. * * @throws IllegalArgumentException if metadataClass is not a subclass of CameraMetadata */ - private <T extends CameraMetadata> List<Key<?>> getAvailableKeyList(Class<T> metadataClass) { + private <TKey> List<TKey> + getAvailableKeyList(Class<?> metadataClass, Class<TKey> keyClass) { if (metadataClass.equals(CameraMetadata.class)) { throw new AssertionError( @@ -128,7 +276,9 @@ public final class CameraCharacteristics extends CameraMetadata { "metadataClass must be a subclass of CameraMetadata"); } - return Collections.unmodifiableList(getKeysStatic(metadataClass, /*instance*/null)); + List<TKey> staticKeyList = CameraCharacteristics.<TKey>getKeysStatic( + metadataClass, keyClass, /*instance*/null); + return Collections.unmodifiableList(staticKeyList); } /*@O~@~@~@~@~@~@~@~@~@~@~@~@~@~@~@~@~@~@~@~@~@~@~@~@~@~@~@~@~@~@~@~@~@~ @@ -1346,19 +1496,6 @@ public final class CameraCharacteristics extends CameraMetadata { new Key<Rational[]>("android.sensor.forwardMatrix2", Rational[].class); /** - * <p>Gain factor from electrons to raw units when - * ISO=100</p> - * <p><b>Optional</b> - This value may be {@code null} on some devices.</p> - * <p><b>Full capability</b> - - * Present on all camera devices that report being {@link CameraCharacteristics#INFO_SUPPORTED_HARDWARE_LEVEL_FULL HARDWARE_LEVEL_FULL} devices in the - * {@link CameraCharacteristics#INFO_SUPPORTED_HARDWARE_LEVEL android.info.supportedHardwareLevel} key</p> - * - * @see CameraCharacteristics#INFO_SUPPORTED_HARDWARE_LEVEL - */ - public static final Key<Rational> SENSOR_BASE_GAIN_FACTOR = - new Key<Rational>("android.sensor.baseGainFactor", Rational.class); - - /** * <p>A fixed black level offset for each of the color filter arrangement * (CFA) mosaic channels.</p> * <p>This tag specifies the zero light value for each of the CFA mosaic diff --git a/core/java/android/hardware/camera2/CameraMetadata.java b/core/java/android/hardware/camera2/CameraMetadata.java index 5455189..4cde601 100644 --- a/core/java/android/hardware/camera2/CameraMetadata.java +++ b/core/java/android/hardware/camera2/CameraMetadata.java @@ -16,8 +16,7 @@ package android.hardware.camera2; -import android.hardware.camera2.impl.CameraMetadataNative; -import android.hardware.camera2.utils.TypeReference; +import android.util.Log; import java.lang.reflect.Field; import java.lang.reflect.Modifier; @@ -36,7 +35,7 @@ import java.util.List; * * <p> * All instances of CameraMetadata are immutable. The list of keys with {@link #getKeys()} - * never changes, nor do the values returned by any key with {@link #get} throughout + * never changes, nor do the values returned by any key with {@code #get} throughout * the lifetime of the object. * </p> * @@ -44,7 +43,10 @@ import java.util.List; * @see CameraManager * @see CameraCharacteristics **/ -public abstract class CameraMetadata { +public abstract class CameraMetadata<TKey> { + + private static final String TAG = "CameraMetadataAb"; + private static final boolean VERBOSE = false; /** * Set a camera metadata field to a value. The field definitions can be @@ -74,8 +76,15 @@ public abstract class CameraMetadata { * * @param key The metadata field to read. * @return The value of that key, or {@code null} if the field is not set. + * + * @hide */ - public abstract <T> T get(Key<T> key); + protected abstract <T> T getProtected(TKey key); + + /** + * @hide + */ + protected abstract Class<TKey> getKeyClass(); /** * Returns a list of the keys contained in this map. @@ -83,14 +92,16 @@ public abstract class CameraMetadata { * <p>The list returned is not modifiable, so any attempts to modify it will throw * a {@code UnsupportedOperationException}.</p> * - * <p>All values retrieved by a key from this list with {@link #get} are guaranteed to be + * <p>All values retrieved by a key from this list with {@code #get} are guaranteed to be * non-{@code null}. Each key is only listed once in the list. The order of the keys * is undefined.</p> * * @return List of the keys contained in this map. */ - public List<Key<?>> getKeys() { - return Collections.unmodifiableList(getKeysStatic(this.getClass(), this)); + @SuppressWarnings("unchecked") + public List<TKey> getKeys() { + Class<CameraMetadata<TKey>> thisClass = (Class<CameraMetadata<TKey>>) getClass(); + return Collections.unmodifiableList(getKeysStatic(thisClass, getKeyClass(), this)); } /** @@ -101,24 +112,31 @@ public abstract class CameraMetadata { * Optionally, if {@code instance} is not null, then filter out any keys with null values. * </p> */ - /*package*/ static ArrayList<Key<?>> getKeysStatic(Class<? extends CameraMetadata> type, - CameraMetadata instance) { - ArrayList<Key<?>> keyList = new ArrayList<Key<?>>(); + /*package*/ @SuppressWarnings("unchecked") + static <TKey> ArrayList<TKey> getKeysStatic( + Class<?> type, Class<TKey> keyClass, + CameraMetadata<TKey> instance) { + + if (VERBOSE) Log.v(TAG, "getKeysStatic for " + type); + + ArrayList<TKey> keyList = new ArrayList<TKey>(); Field[] fields = type.getDeclaredFields(); for (Field field : fields) { // Filter for Keys that are public - if (field.getType().isAssignableFrom(Key.class) && + if (field.getType().isAssignableFrom(keyClass) && (field.getModifiers() & Modifier.PUBLIC) != 0) { - Key<?> key; + + TKey key; try { - key = (Key<?>) field.get(instance); + key = (TKey) field.get(instance); } catch (IllegalAccessException e) { throw new AssertionError("Can't get IllegalAccessException", e); } catch (IllegalArgumentException e) { throw new AssertionError("Can't get IllegalArgumentException", e); } - if (instance == null || instance.get(key) != null) { + + if (instance == null || instance.getProtected(key) != null) { keyList.add(key); } } @@ -127,113 +145,6 @@ public abstract class CameraMetadata { return keyList; } - // TODO: make final or abstract - public static class Key<T> { - - private boolean mHasTag; - private int mTag; - private final Class<T> mType; - private final TypeReference<T> mTypeReference; - private final String mName; - - /** - * @hide - */ - public Key(String name, Class<T> type) { - if (name == null) { - throw new NullPointerException("Key needs a valid name"); - } else if (type == null) { - throw new NullPointerException("Type needs to be non-null"); - } - mName = name; - mType = type; - mTypeReference = TypeReference.createSpecializedTypeReference(type); - } - - /** - * @hide - */ - @SuppressWarnings("unchecked") - public Key(String name, TypeReference<T> typeReference) { - if (name == null) { - throw new NullPointerException("Key needs a valid name"); - } else if (typeReference == null) { - throw new NullPointerException("TypeReference needs to be non-null"); - } - mName = name; - mType = (Class<T>)typeReference.getRawType(); - mTypeReference = typeReference; - } - - public final String getName() { - return mName; - } - - @Override - public final int hashCode() { - return mName.hashCode() ^ mTypeReference.hashCode(); - } - - @Override - public final boolean equals(Object o) { - if (this == o) { - return true; - } - - if (!(o instanceof Key)) { - return false; - } - - Key<?> lhs = (Key<?>)o; - return mName.equals(lhs.mName) && mTypeReference.equals(lhs.mTypeReference); - } - - /** - * <p> - * Get the tag corresponding to this key. This enables insertion into the - * native metadata. - * </p> - * - * <p>This value is looked up the first time, and cached subsequently.</p> - * - * @return The tag numeric value corresponding to the string - * - * @hide - */ - public final int getTag() { - if (!mHasTag) { - mTag = CameraMetadataNative.getTag(mName); - mHasTag = true; - } - return mTag; - } - - /** - * Get the raw class backing the type {@code T} for this key. - * - * <p>The distinction is only important if {@code T} is a generic, e.g. - * {@code Range<Integer>} since the nested type will be erased.</p> - * - * @hide - */ - public final Class<T> getType() { - // TODO: remove this; other places should use #getTypeReference() instead - return mType; - } - - /** - * Get the type reference backing the type {@code T} for this key. - * - * <p>The distinction is only important if {@code T} is a generic, e.g. - * {@code Range<Integer>} since the nested type will be retained.</p> - * - * @hide - */ - public final TypeReference<T> getTypeReference() { - return mTypeReference; - } - } - /*@O~@~@~@~@~@~@~@~@~@~@~@~@~@~@~@~@~@~@~@~@~@~@~@~@~@~@~@~@~@~@~@~@~@~ * The enum values below this point are generated from metadata * definitions in /system/media/camera/docs. Do not modify by hand or @@ -336,7 +247,6 @@ public abstract class CameraMetadata { * <li>Manual sensitivity control<ul> * <li>{@link CaptureRequest#SENSOR_SENSITIVITY android.sensor.sensitivity}</li> * <li>{@link CameraCharacteristics#SENSOR_INFO_SENSITIVITY_RANGE android.sensor.info.sensitivityRange}</li> - * <li>{@link CameraCharacteristics#SENSOR_BASE_GAIN_FACTOR android.sensor.baseGainFactor}</li> * </ul> * </li> * <li>Manual lens control<ul> @@ -357,7 +267,6 @@ public abstract class CameraMetadata { * result.</p> * * @see CaptureRequest#BLACK_LEVEL_LOCK - * @see CameraCharacteristics#SENSOR_BASE_GAIN_FACTOR * @see CaptureRequest#SENSOR_EXPOSURE_TIME * @see CameraCharacteristics#SENSOR_INFO_EXPOSURE_TIME_RANGE * @see CameraCharacteristics#SENSOR_INFO_SENSITIVITY_RANGE @@ -1381,8 +1290,7 @@ public abstract class CameraMetadata { /** * <p>If the flash is available and charged, fire flash - * for this capture based on android.flash.firingPower and - * android.flash.firingTime.</p> + * for this capture.</p> * @see CaptureRequest#FLASH_MODE */ public static final int FLASH_MODE_SINGLE = 1; diff --git a/core/java/android/hardware/camera2/CaptureRequest.java b/core/java/android/hardware/camera2/CaptureRequest.java index 8e0f2ae..a4aa296 100644 --- a/core/java/android/hardware/camera2/CaptureRequest.java +++ b/core/java/android/hardware/camera2/CaptureRequest.java @@ -16,7 +16,9 @@ package android.hardware.camera2; +import android.hardware.camera2.CameraCharacteristics.Key; import android.hardware.camera2.impl.CameraMetadataNative; +import android.hardware.camera2.utils.TypeReference; import android.os.Parcel; import android.os.Parcelable; import android.util.Rational; @@ -25,6 +27,7 @@ import android.view.Surface; import java.util.Collection; import java.util.Collections; import java.util.HashSet; +import java.util.List; import java.util.Objects; @@ -58,7 +61,98 @@ import java.util.Objects; * @see CameraDevice#setRepeatingRequest * @see CameraDevice#createCaptureRequest */ -public final class CaptureRequest extends CameraMetadata implements Parcelable { +public final class CaptureRequest extends CameraMetadata<CaptureRequest.Key<?>> + implements Parcelable { + + /** + * A {@code Key} is used to do capture request field lookups with + * {@link CaptureResult#get} or to set fields with + * {@link CaptureRequest.Builder#set(Key, Object)}. + * + * <p>For example, to set the crop rectangle for the next capture: + * <code><pre> + * Rect cropRectangle = new Rect(0, 0, 640, 480); + * captureRequestBuilder.set(SCALER_CROP_REGION, cropRectangle); + * </pre></code> + * </p> + * + * <p>To enumerate over all possible keys for {@link CaptureResult}, see + * {@link CameraCharacteristics#getAvailableCaptureResultKeys}.</p> + * + * @see CaptureResult#get + * @see CameraCharacteristics#getAvailableCaptureResultKeys + */ + public final static class Key<T> { + private final CameraMetadataNative.Key<T> mKey; + + /** + * Visible for testing and vendor extensions only. + * + * @hide + */ + public Key(String name, Class<T> type) { + mKey = new CameraMetadataNative.Key<T>(name, type); + } + + /** + * Visible for testing and vendor extensions only. + * + * @hide + */ + public Key(String name, TypeReference<T> typeReference) { + mKey = new CameraMetadataNative.Key<T>(name, typeReference); + } + + /** + * Return a camelCase, period separated name formatted like: + * {@code "root.section[.subsections].name"}. + * + * <p>Built-in keys exposed by the Android SDK are always prefixed with {@code "android."}; + * keys that are device/platform-specific are prefixed with {@code "com."}.</p> + * + * <p>For example, {@code CameraCharacteristics.SCALER_STREAM_CONFIGURATION_MAP} would + * have a name of {@code "android.scaler.streamConfigurationMap"}; whereas a device + * specific key might look like {@code "com.google.nexus.data.private"}.</p> + * + * @return String representation of the key name + */ + public String getName() { + return mKey.getName(); + } + + /** + * {@inheritDoc} + */ + @Override + public final int hashCode() { + return mKey.hashCode(); + } + + /** + * {@inheritDoc} + */ + @SuppressWarnings("unchecked") + @Override + public final boolean equals(Object o) { + return o instanceof Key && ((Key<T>)o).mKey.equals(mKey); + } + + /** + * Visible for CameraMetadataNative implementation only; do not use. + * + * TODO: Make this private or remove it altogether. + * + * @hide + */ + public CameraMetadataNative.Key<T> getNativeKey() { + return mKey; + } + + @SuppressWarnings({ "unchecked" }) + /*package*/ Key(CameraMetadataNative.Key<?> nativeKey) { + mKey = (CameraMetadataNative.Key<T>) nativeKey; + } + } private final HashSet<Surface> mSurfaceSet; private final CameraMetadataNative mSettings; @@ -93,17 +187,58 @@ public final class CaptureRequest extends CameraMetadata implements Parcelable { * Used by the Builder to create a mutable CaptureRequest. */ private CaptureRequest(CameraMetadataNative settings) { - mSettings = settings; + mSettings = CameraMetadataNative.move(settings); mSurfaceSet = new HashSet<Surface>(); } - @SuppressWarnings("unchecked") - @Override + /** + * Get a capture request field value. + * + * <p>The field definitions can be found in {@link CaptureRequest}.</p> + * + * <p>Querying the value for the same key more than once will return a value + * which is equal to the previous queried value.</p> + * + * @throws IllegalArgumentException if the key was not valid + * + * @param key The result field to read. + * @return The value of that key, or {@code null} if the field is not set. + */ public <T> T get(Key<T> key) { return mSettings.get(key); } /** + * {@inheritDoc} + * @hide + */ + @SuppressWarnings("unchecked") + @Override + protected <T> T getProtected(Key<?> key) { + return (T) mSettings.get(key); + } + + /** + * {@inheritDoc} + * @hide + */ + @SuppressWarnings("unchecked") + @Override + protected Class<Key<?>> getKeyClass() { + Object thisClass = Key.class; + return (Class<Key<?>>)thisClass; + } + + /** + * {@inheritDoc} + */ + @Override + public List<Key<?>> getKeys() { + // Force the javadoc for this function to show up on the CaptureRequest page + return super.getKeys(); + } + + /** * Retrieve the tag for this request, if any. * * <p>This tag is not used for anything by the camera device, but can be diff --git a/core/java/android/hardware/camera2/CaptureResult.java b/core/java/android/hardware/camera2/CaptureResult.java index e0ddd57..61d491b 100644 --- a/core/java/android/hardware/camera2/CaptureResult.java +++ b/core/java/android/hardware/camera2/CaptureResult.java @@ -17,9 +17,12 @@ package android.hardware.camera2; import android.hardware.camera2.impl.CameraMetadataNative; -import android.hardware.camera2.params.Face; +import android.hardware.camera2.utils.TypeReference; +import android.util.Log; import android.util.Rational; +import java.util.List; + /** * <p>The results of a single image capture from the image sensor.</p> * @@ -36,7 +39,98 @@ import android.util.Rational; * <p>{@link CameraCharacteristics} objects are immutable.</p> * */ -public final class CaptureResult extends CameraMetadata { +public final class CaptureResult extends CameraMetadata<CaptureResult.Key<?>> { + + private static final String TAG = "CaptureResult"; + private static final boolean VERBOSE = false; + + /** + * A {@code Key} is used to do capture result field lookups with + * {@link CaptureResult#get}. + * + * <p>For example, to get the timestamp corresponding to the exposure of the first row: + * <code><pre> + * long timestamp = captureResult.get(CaptureResult.SENSOR_TIMESTAMP); + * </pre></code> + * </p> + * + * <p>To enumerate over all possible keys for {@link CaptureResult}, see + * {@link CameraCharacteristics#getAvailableCaptureResultKeys}.</p> + * + * @see CaptureResult#get + * @see CameraCharacteristics#getAvailableCaptureResultKeys + */ + public final static class Key<T> { + private final CameraMetadataNative.Key<T> mKey; + + /** + * Visible for testing and vendor extensions only. + * + * @hide + */ + public Key(String name, Class<T> type) { + mKey = new CameraMetadataNative.Key<T>(name, type); + } + + /** + * Visible for testing and vendor extensions only. + * + * @hide + */ + public Key(String name, TypeReference<T> typeReference) { + mKey = new CameraMetadataNative.Key<T>(name, typeReference); + } + + /** + * Return a camelCase, period separated name formatted like: + * {@code "root.section[.subsections].name"}. + * + * <p>Built-in keys exposed by the Android SDK are always prefixed with {@code "android."}; + * keys that are device/platform-specific are prefixed with {@code "com."}.</p> + * + * <p>For example, {@code CameraCharacteristics.SCALER_STREAM_CONFIGURATION_MAP} would + * have a name of {@code "android.scaler.streamConfigurationMap"}; whereas a device + * specific key might look like {@code "com.google.nexus.data.private"}.</p> + * + * @return String representation of the key name + */ + public String getName() { + return mKey.getName(); + } + + /** + * {@inheritDoc} + */ + @Override + public final int hashCode() { + return mKey.hashCode(); + } + + /** + * {@inheritDoc} + */ + @SuppressWarnings("unchecked") + @Override + public final boolean equals(Object o) { + return o instanceof Key && ((Key<T>)o).mKey.equals(mKey); + } + + /** + * Visible for CameraMetadataNative implementation only; do not use. + * + * TODO: Make this private or remove it altogether. + * + * @hide + */ + public CameraMetadataNative.Key<T> getNativeKey() { + return mKey; + } + + @SuppressWarnings({ "unchecked" }) + /*package*/ Key(CameraMetadataNative.Key<?> nativeKey) { + mKey = (CameraMetadataNative.Key<T>) nativeKey; + } + } private final CameraMetadataNative mResults; private final CaptureRequest mRequest; @@ -55,7 +149,10 @@ public final class CaptureResult extends CameraMetadata { throw new IllegalArgumentException("parent was null"); } - mResults = results; + mResults = CameraMetadataNative.move(results); + if (mResults.isEmpty()) { + throw new AssertionError("Results must not be empty"); + } mRequest = parent; mSequenceId = sequenceId; } @@ -68,9 +165,85 @@ public final class CaptureResult extends CameraMetadata { return new CameraMetadataNative(mResults); } - @Override + /** + * Creates a request-less result. + * + * <p><strong>For testing only.</strong></p> + * @hide + */ + public CaptureResult(CameraMetadataNative results, int sequenceId) { + if (results == null) { + throw new IllegalArgumentException("results was null"); + } + + mResults = CameraMetadataNative.move(results); + if (mResults.isEmpty()) { + throw new AssertionError("Results must not be empty"); + } + + mRequest = null; + mSequenceId = sequenceId; + } + + /** + * Get a capture result field value. + * + * <p>The field definitions can be found in {@link CaptureResult}.</p> + * + * <p>Querying the value for the same key more than once will return a value + * which is equal to the previous queried value.</p> + * + * @throws IllegalArgumentException if the key was not valid + * + * @param key The result field to read. + * @return The value of that key, or {@code null} if the field is not set. + */ public <T> T get(Key<T> key) { - return mResults.get(key); + T value = mResults.get(key); + if (VERBOSE) Log.v(TAG, "#get for Key = " + key.getName() + ", returned value = " + value); + return value; + } + + /** + * {@inheritDoc} + * @hide + */ + @SuppressWarnings("unchecked") + @Override + protected <T> T getProtected(Key<?> key) { + return (T) mResults.get(key); + } + + /** + * {@inheritDoc} + * @hide + */ + @SuppressWarnings("unchecked") + @Override + protected Class<Key<?>> getKeyClass() { + Object thisClass = Key.class; + return (Class<Key<?>>)thisClass; + } + + /** + * Dumps the native metadata contents to logcat. + * + * <p>Visibility for testing/debugging only. The results will not + * include any synthesized keys, as they are invisible to the native layer.</p> + * + * @hide + */ + public void dumpToLog() { + mResults.dumpToLog(); + } + + /** + * {@inheritDoc} + */ + @Override + public List<Key<?>> getKeys() { + // Force the javadoc for this function to show up on the CaptureResult page + return super.getKeys(); } /** @@ -110,6 +283,7 @@ public final class CaptureResult extends CameraMetadata { * @return int frame number */ public int getFrameNumber() { + // TODO: @hide REQUEST_FRAME_COUNT return get(REQUEST_FRAME_COUNT); } @@ -1888,21 +2062,6 @@ public final class CaptureResult extends CameraMetadata { new Key<Long>("android.sensor.timestamp", long.class); /** - * <p>The temperature of the sensor, sampled at the time - * exposure began for this frame.</p> - * <p>The thermal diode being queried should be inside the sensor PCB, or - * somewhere close to it.</p> - * <p><b>Optional</b> - This value may be {@code null} on some devices.</p> - * <p><b>Full capability</b> - - * Present on all camera devices that report being {@link CameraCharacteristics#INFO_SUPPORTED_HARDWARE_LEVEL_FULL HARDWARE_LEVEL_FULL} devices in the - * {@link CameraCharacteristics#INFO_SUPPORTED_HARDWARE_LEVEL android.info.supportedHardwareLevel} key</p> - * - * @see CameraCharacteristics#INFO_SUPPORTED_HARDWARE_LEVEL - */ - public static final Key<Float> SENSOR_TEMPERATURE = - new Key<Float>("android.sensor.temperature", float.class); - - /** * <p>The estimated camera neutral color in the native sensor colorspace at * the time of capture.</p> * <p>This value gives the neutral color point encoded as an RGB value in the diff --git a/core/java/android/hardware/camera2/impl/CameraMetadataNative.java b/core/java/android/hardware/camera2/impl/CameraMetadataNative.java index 27cfd38..ab2c49a 100644 --- a/core/java/android/hardware/camera2/impl/CameraMetadataNative.java +++ b/core/java/android/hardware/camera2/impl/CameraMetadataNative.java @@ -20,7 +20,7 @@ import android.graphics.ImageFormat; import android.graphics.Point; import android.graphics.Rect; import android.hardware.camera2.CameraCharacteristics; -import android.hardware.camera2.CameraMetadata; +import android.hardware.camera2.CaptureRequest; import android.hardware.camera2.CaptureResult; import android.hardware.camera2.marshal.Marshaler; import android.hardware.camera2.marshal.MarshalQueryable; @@ -46,10 +46,14 @@ import android.hardware.camera2.params.Face; import android.hardware.camera2.params.StreamConfiguration; import android.hardware.camera2.params.StreamConfigurationDuration; import android.hardware.camera2.params.StreamConfigurationMap; +import android.hardware.camera2.utils.TypeReference; import android.os.Parcelable; import android.os.Parcel; import android.util.Log; +import com.android.internal.util.Preconditions; + +import java.io.IOException; import java.nio.ByteBuffer; import java.nio.ByteOrder; import java.util.ArrayList; @@ -58,7 +62,147 @@ import java.util.ArrayList; * Implementation of camera metadata marshal/unmarshal across Binder to * the camera service */ -public class CameraMetadataNative extends CameraMetadata implements Parcelable { +public class CameraMetadataNative implements Parcelable { + + public static class Key<T> { + private boolean mHasTag; + private int mTag; + private final Class<T> mType; + private final TypeReference<T> mTypeReference; + private final String mName; + + /** + * Visible for testing only. + * + * <p>Use the CameraCharacteristics.Key, CaptureResult.Key, or CaptureRequest.Key + * for application code or vendor-extended keys.</p> + */ + public Key(String name, Class<T> type) { + if (name == null) { + throw new NullPointerException("Key needs a valid name"); + } else if (type == null) { + throw new NullPointerException("Type needs to be non-null"); + } + mName = name; + mType = type; + mTypeReference = TypeReference.createSpecializedTypeReference(type); + } + + /** + * Visible for testing only. + * + * <p>Use the CameraCharacteristics.Key, CaptureResult.Key, or CaptureRequest.Key + * for application code or vendor-extended keys.</p> + */ + @SuppressWarnings("unchecked") + public Key(String name, TypeReference<T> typeReference) { + if (name == null) { + throw new NullPointerException("Key needs a valid name"); + } else if (typeReference == null) { + throw new NullPointerException("TypeReference needs to be non-null"); + } + mName = name; + mType = (Class<T>)typeReference.getRawType(); + mTypeReference = typeReference; + } + + /** + * Return a camelCase, period separated name formatted like: + * {@code "root.section[.subsections].name"}. + * + * <p>Built-in keys exposed by the Android SDK are always prefixed with {@code "android."}; + * keys that are device/platform-specific are prefixed with {@code "com."}.</p> + * + * <p>For example, {@code CameraCharacteristics.SCALER_STREAM_CONFIGURATION_MAP} would + * have a name of {@code "android.scaler.streamConfigurationMap"}; whereas a device + * specific key might look like {@code "com.google.nexus.data.private"}.</p> + * + * @return String representation of the key name + */ + public final String getName() { + return mName; + } + + /** + * {@inheritDoc} + */ + @Override + public final int hashCode() { + return mName.hashCode() ^ mTypeReference.hashCode(); + } + + /** + * Compare this key against other native keys, request keys, result keys, and + * characteristics keys. + * + * <p>Two keys are considered equal if their name and type reference are equal.</p> + * + * <p>Note that the equality against non-native keys is one-way. A native key may be equal + * to a result key; but that same result key will not be equal to a native key.</p> + */ + @SuppressWarnings("rawtypes") + @Override + public final boolean equals(Object o) { + if (this == o) { + return true; + } + + Key<?> lhs; + + if (o instanceof CaptureResult.Key) { + lhs = ((CaptureResult.Key)o).getNativeKey(); + } else if (o instanceof CaptureRequest.Key) { + lhs = ((CaptureRequest.Key)o).getNativeKey(); + } else if (o instanceof CameraCharacteristics.Key) { + lhs = ((CameraCharacteristics.Key)o).getNativeKey(); + } else if ((o instanceof Key)) { + lhs = (Key<?>)o; + } else { + return false; + } + + return mName.equals(lhs.mName) && mTypeReference.equals(lhs.mTypeReference); + } + + /** + * <p> + * Get the tag corresponding to this key. This enables insertion into the + * native metadata. + * </p> + * + * <p>This value is looked up the first time, and cached subsequently.</p> + * + * @return The tag numeric value corresponding to the string + */ + public final int getTag() { + if (!mHasTag) { + mTag = CameraMetadataNative.getTag(mName); + mHasTag = true; + } + return mTag; + } + + /** + * Get the raw class backing the type {@code T} for this key. + * + * <p>The distinction is only important if {@code T} is a generic, e.g. + * {@code Range<Integer>} since the nested type will be erased.</p> + */ + public final Class<T> getType() { + // TODO: remove this; other places should use #getTypeReference() instead + return mType; + } + + /** + * Get the type reference backing the type {@code T} for this key. + * + * <p>The distinction is only important if {@code T} is a generic, e.g. + * {@code Range<Integer>} since the nested type will be retained.</p> + */ + public final TypeReference<T> getTypeReference() { + return mTypeReference; + } + } private static final String TAG = "CameraMetadataJV"; private static final boolean VERBOSE = Log.isLoggable(TAG, Log.VERBOSE); @@ -84,6 +228,20 @@ public class CameraMetadataNative extends CameraMetadata implements Parcelable { } } + /** + * Move the contents from {@code other} into a new camera metadata instance.</p> + * + * <p>After this call, {@code other} will become empty.</p> + * + * @param other the previous metadata instance which will get pilfered + * @return a new metadata instance with the values from {@code other} moved into it + */ + public static CameraMetadataNative move(CameraMetadataNative other) { + CameraMetadataNative newObject = new CameraMetadataNative(); + newObject.swap(other); + return newObject; + } + public static final Parcelable.Creator<CameraMetadataNative> CREATOR = new Parcelable.Creator<CameraMetadataNative>() { @Override @@ -109,8 +267,36 @@ public class CameraMetadataNative extends CameraMetadata implements Parcelable { nativeWriteToParcel(dest); } - @Override + /** + * @hide + */ + public <T> T get(CameraCharacteristics.Key<T> key) { + return get(key.getNativeKey()); + } + + /** + * @hide + */ + public <T> T get(CaptureResult.Key<T> key) { + return get(key.getNativeKey()); + } + + /** + * @hide + */ + public <T> T get(CaptureRequest.Key<T> key) { + return get(key.getNativeKey()); + } + + /** + * Look-up a metadata field value by its key. + * + * @param key a non-{@code null} key instance + * @return the field corresponding to the {@code key}, or {@code null} if no value was set + */ public <T> T get(Key<T> key) { + Preconditions.checkNotNull(key, "key must not be null"); + T value = getOverride(key); if (value != null) { return value; @@ -152,6 +338,18 @@ public class CameraMetadataNative extends CameraMetadata implements Parcelable { setBase(key, value); } + public <T> void set(CaptureRequest.Key<T> key, T value) { + set(key.getNativeKey(), value); + } + + public <T> void set(CaptureResult.Key<T> key, T value) { + set(key.getNativeKey(), value); + } + + public <T> void set(CameraCharacteristics.Key<T> key, T value) { + set(key.getNativeKey(), value); + } + // Keep up-to-date with camera_metadata.h /** * @hide @@ -188,6 +386,18 @@ public class CameraMetadataNative extends CameraMetadata implements Parcelable { mMetadataPtr = 0; // set it to 0 again to prevent eclipse from making this field final } + private <T> T getBase(CameraCharacteristics.Key<T> key) { + return getBase(key.getNativeKey()); + } + + private <T> T getBase(CaptureResult.Key<T> key) { + return getBase(key.getNativeKey()); + } + + private <T> T getBase(CaptureRequest.Key<T> key) { + return getBase(key.getNativeKey()); + } + private <T> T getBase(Key<T> key) { int tag = key.getTag(); byte[] values = readValues(tag); @@ -342,6 +552,18 @@ public class CameraMetadataNative extends CameraMetadata implements Parcelable { return new StreamConfigurationMap(configurations, minFrameDurations, stallDurations); } + private <T> void setBase(CameraCharacteristics.Key<T> key, T value) { + setBase(key.getNativeKey(), value); + } + + private <T> void setBase(CaptureResult.Key<T> key, T value) { + setBase(key.getNativeKey(), value); + } + + private <T> void setBase(CaptureRequest.Key<T> key, T value) { + setBase(key.getNativeKey(), value); + } + private <T> void setBase(Key<T> key, T value) { int tag = key.getTag(); @@ -440,6 +662,7 @@ public class CameraMetadataNative extends CameraMetadata implements Parcelable { private native synchronized byte[] nativeReadValues(int tag); private native synchronized void nativeWriteValues(int tag, byte[] src); + private native synchronized void nativeDump() throws IOException; // dump to ALOGD private static native int nativeGetTagFromKey(String keyName) throws IllegalArgumentException; @@ -531,6 +754,22 @@ public class CameraMetadataNative extends CameraMetadata implements Parcelable { return nativeReadValues(tag); } + /** + * Dumps the native metadata contents to logcat. + * + * <p>Visibility for testing/debugging only. The results will not + * include any synthesized keys, as they are invisible to the native layer.</p> + * + * @hide + */ + public void dumpToLog() { + try { + nativeDump(); + } catch (IOException e) { + Log.wtf(TAG, "Dump logging failed", e); + } + } + @Override protected void finalize() throws Throwable { try { @@ -599,5 +838,4 @@ public class CameraMetadataNative extends CameraMetadata implements Parcelable { nativeClassInit(); registerAllMarshalers(); } - } diff --git a/core/java/android/hardware/camera2/legacy/CameraDeviceState.java b/core/java/android/hardware/camera2/legacy/CameraDeviceState.java index 71adf8b..22ff9c6 100644 --- a/core/java/android/hardware/camera2/legacy/CameraDeviceState.java +++ b/core/java/android/hardware/camera2/legacy/CameraDeviceState.java @@ -93,7 +93,7 @@ public class CameraDeviceState { * {@link CameraDeviceStateListener#onConfiguring()} will be called. * </p> * - * @returns {@link CameraBinderDecorator#NO_ERROR}, or an error if one has occurred. + * @return {@link CameraBinderDecorator#NO_ERROR}, or an error if one has occurred. */ public synchronized int setConfiguring() { doStateTransition(STATE_CONFIGURING); @@ -108,7 +108,7 @@ public class CameraDeviceState { * {@link CameraDeviceStateListener#onIdle()} will be called. * </p> * - * @returns {@link CameraBinderDecorator#NO_ERROR}, or an error if one has occurred. + * @return {@link CameraBinderDecorator#NO_ERROR}, or an error if one has occurred. */ public synchronized int setIdle() { doStateTransition(STATE_IDLE); @@ -124,7 +124,7 @@ public class CameraDeviceState { * </p> * * @param request A {@link RequestHolder} containing the request for the current capture. - * @returns {@link CameraBinderDecorator#NO_ERROR}, or an error if one has occurred. + * @return {@link CameraBinderDecorator#NO_ERROR}, or an error if one has occurred. */ public synchronized int setCaptureStart(final RequestHolder request) { mCurrentRequest = request; @@ -144,7 +144,7 @@ public class CameraDeviceState { * * @param request the {@link RequestHolder} request that created this result. * @param result the {@link CameraMetadataNative} result to set. - * @returns {@link CameraBinderDecorator#NO_ERROR}, or an error if one has occurred. + * @return {@link CameraBinderDecorator#NO_ERROR}, or an error if one has occurred. */ public synchronized int setCaptureResult(final RequestHolder request, final CameraMetadataNative result) { diff --git a/core/java/android/net/EthernetManager.java b/core/java/android/net/EthernetManager.java index 70cc708..5df4baf 100644 --- a/core/java/android/net/EthernetManager.java +++ b/core/java/android/net/EthernetManager.java @@ -47,7 +47,7 @@ public class EthernetManager { } /** - * Get Ethernet configuration + * Get Ethernet configuration. * @return the Ethernet Configuration, contained in {@link IpConfiguration}. */ public IpConfiguration getConfiguration() { @@ -61,8 +61,7 @@ public class EthernetManager { } /** - * Set Ethernet configuration - * @return true if setting success + * Set Ethernet configuration. */ public void setConfiguration(IpConfiguration config) { try { diff --git a/core/java/android/provider/TvContract.java b/core/java/android/provider/TvContract.java index 5ffffb5..e4f93a8 100644 --- a/core/java/android/provider/TvContract.java +++ b/core/java/android/provider/TvContract.java @@ -462,7 +462,7 @@ public final class TvContract { * <p> * A value of 1 indicates the channel is included in the channel list that applications use * to browse channels, a value of 0 indicates the channel is not included in the list. If - * not specified, this value is set to 1 by default. + * not specified, this value is set to 1 (browsable) by default. * </p><p> * Type: INTEGER (boolean) * </p> @@ -470,6 +470,36 @@ public final class TvContract { public static final String COLUMN_BROWSABLE = "browsable"; /** + * The flag indicating whether this TV channel is searchable or not. + * <p> + * In some regions, it is not allowed to surface search results for a given channel without + * broadcaster's consent. This is used to impose such restriction. A value of 1 indicates + * the channel is searchable and can be included in search results, a value of 0 indicates + * the channel and its TV programs are hidden from search. If not specified, this value is + * set to 1 (searchable) by default. + * </p> + * <p> + * Type: INTEGER (boolean) + * </p> + */ + public static final String COLUMN_SEARCHABLE = "searchable"; + + /** + * The flag indicating whether this TV channel is locked or not. + * <p> + * This is primarily used for alternative parental control to prevent unauthorized users + * from watching the current channel regardless of the content rating. A value of 1 + * indicates the channel is locked and the user is required to enter passcode to unlock it + * in order to watch the current program from the channel, a value of 0 indicates the + * channel is not locked thus the user is not prompted to enter passcode If not specified, + * this value is set to 0 (not locked) by default. + * </p><p> + * Type: INTEGER (boolean) + * </p> + */ + public static final String COLUMN_LOCKED = "locked"; + + /** * Generic data used by individual TV input services. * <p> * Type: BLOB @@ -544,6 +574,33 @@ public final class TvContract { public static final String COLUMN_END_TIME_UTC_MILLIS = "end_time_utc_millis"; /** + * The comma-separated genre string of this TV program. + * <p> + * Use the same language appeared in the underlying broadcast standard, if applicable. (For + * example, one can refer to the genre strings used in Genre Descriptor of ATSC A/65 or + * Content Descriptor of ETSI EN 300 468, if appropriate.) Otherwise, use one of the + * following genres: + * <ul> + * <li>Family/Kids</li> + * <li>Sports</li> + * <li>Shopping</li> + * <li>Movies</li> + * <li>Comedy</li> + * <li>Travel</li> + * <li>Drama</li> + * <li>Education</li> + * <li>Animal/Wildlife</li> + * <li>News</li> + * <li>Gaming</li> + * <li>Others</li> + * </ul> + * </p><p> + * Type: TEXT + * </p> + */ + public static final String COLUMN_GENRE = "genre"; + + /** * The description of this TV program that is displayed to the user by default. * <p> * The maximum length of this field is 256 characters. @@ -566,6 +623,17 @@ public final class TvContract { public static final String COLUMN_LONG_DESCRIPTION = "long_description"; /** + * The comma-separated audio languages of this TV program. + * <p> + * This is used to describe available audio languages included in the program. Use + * 3-character language code as specified by ISO 639-2. + * </p><p> + * Type: TEXT + * </p> + */ + public static final String COLUMN_AUDIO_LANGUAGE = "audio_language"; + + /** * Generic data used by TV input services. * <p> * Type: BLOB diff --git a/core/java/android/view/HardwareRenderer.java b/core/java/android/view/HardwareRenderer.java index a902ce7..3c4d83f 100644 --- a/core/java/android/view/HardwareRenderer.java +++ b/core/java/android/view/HardwareRenderer.java @@ -579,6 +579,12 @@ public abstract class HardwareRenderer { abstract void fence(); /** + * Called by {@link ViewRootImpl} when a new performTraverals is scheduled. + */ + public void notifyFramePending() { + } + + /** * Describes a series of frames that should be drawn on screen as a graph. * Each frame is composed of 1 or more elements. */ diff --git a/core/java/android/view/ThreadedRenderer.java b/core/java/android/view/ThreadedRenderer.java index 704d516..8417887 100644 --- a/core/java/android/view/ThreadedRenderer.java +++ b/core/java/android/view/ThreadedRenderer.java @@ -291,6 +291,11 @@ public class ThreadedRenderer extends HardwareRenderer { } @Override + public void notifyFramePending() { + nNotifyFramePending(mNativeProxy); + } + + @Override protected void finalize() throws Throwable { try { nDeleteProxy(mNativeProxy); @@ -364,4 +369,5 @@ public class ThreadedRenderer extends HardwareRenderer { private static native void nDestroyLayer(long nativeProxy, long layer); private static native void nFence(long nativeProxy); + private static native void nNotifyFramePending(long nativeProxy); } diff --git a/core/java/android/view/ViewRootImpl.java b/core/java/android/view/ViewRootImpl.java index 799a406..fc7bf0e 100644 --- a/core/java/android/view/ViewRootImpl.java +++ b/core/java/android/view/ViewRootImpl.java @@ -999,6 +999,17 @@ public final class ViewRootImpl implements ViewParent, } } + /** + * Notifies the HardwareRenderer that a new frame will be coming soon. + * Currently only {@link ThreadedRenderer} cares about this, and uses + * this knowledge to adjust the scheduling of off-thread animations + */ + void notifyRendererOfFramePending() { + if (mAttachInfo.mHardwareRenderer != null) { + mAttachInfo.mHardwareRenderer.notifyFramePending(); + } + } + void scheduleTraversals() { if (!mTraversalScheduled) { mTraversalScheduled = true; @@ -1006,6 +1017,7 @@ public final class ViewRootImpl implements ViewParent, mChoreographer.postCallback( Choreographer.CALLBACK_TRAVERSAL, mTraversalRunnable, null); scheduleConsumeBatchedInput(); + notifyRendererOfFramePending(); } } diff --git a/core/java/android/widget/AbsSeekBar.java b/core/java/android/widget/AbsSeekBar.java index 1152e17..43f623b 100644 --- a/core/java/android/widget/AbsSeekBar.java +++ b/core/java/android/widget/AbsSeekBar.java @@ -256,6 +256,16 @@ public abstract class AbsSeekBar extends ProgressBar { } @Override + public void invalidateDrawable(Drawable dr) { + super.invalidateDrawable(dr); + + if (dr == mThumb) { + // Handle changes to thumb width and height. + requestLayout(); + } + } + + @Override void onProgressRefresh(float scale, boolean fromUser) { super.onProgressRefresh(scale, fromUser); diff --git a/core/java/android/widget/CheckedTextView.java b/core/java/android/widget/CheckedTextView.java index 1533510..3ae9508 100644 --- a/core/java/android/widget/CheckedTextView.java +++ b/core/java/android/widget/CheckedTextView.java @@ -24,6 +24,7 @@ import android.graphics.Canvas; import android.graphics.drawable.Drawable; import android.util.AttributeSet; import android.view.Gravity; +import android.view.RemotableViewMethod; import android.view.ViewDebug; import android.view.accessibility.AccessibilityEvent; import android.view.accessibility.AccessibilityNodeInfo; @@ -156,10 +157,36 @@ public class CheckedTextView extends TextView implements Checkable { mCheckMarkWidth = 0; } mCheckMarkDrawable = d; - // Do padding resolution. This will call internalSetPadding() and do a requestLayout() if needed. + + // Do padding resolution. This will call internalSetPadding() and do a + // requestLayout() if needed. resolvePadding(); } + @RemotableViewMethod + @Override + public void setVisibility(int visibility) { + super.setVisibility(visibility); + + if (mCheckMarkDrawable != null) { + mCheckMarkDrawable.setVisible(visibility == VISIBLE, false); + } + } + + @Override + public void jumpDrawablesToCurrentState() { + super.jumpDrawablesToCurrentState(); + + if (mCheckMarkDrawable != null) { + mCheckMarkDrawable.jumpToCurrentState(); + } + } + + @Override + protected boolean verifyDrawable(Drawable who) { + return who == mCheckMarkDrawable || super.verifyDrawable(who); + } + /** * Gets the checkmark drawable * @@ -249,6 +276,11 @@ public class CheckedTextView extends TextView implements Checkable { } checkMarkDrawable.setBounds(mScrollX + left, top, mScrollX + right, bottom); checkMarkDrawable.draw(canvas); + + final Drawable background = getBackground(); + if (background != null) { + background.setHotspotBounds(mScrollX + left, top, mScrollX + right, bottom); + } } } diff --git a/core/java/android/widget/Switch.java b/core/java/android/widget/Switch.java index ad1a023..c5c6e64 100644 --- a/core/java/android/widget/Switch.java +++ b/core/java/android/widget/Switch.java @@ -951,9 +951,8 @@ public class Switch extends CompoundButton { final int[] myDrawableState = getDrawableState(); - if (mThumbDrawable != null && mThumbDrawable.setState(myDrawableState)) { - // Handle changes to thumb width and height. - requestLayout(); + if (mThumbDrawable != null) { + mThumbDrawable.setState(myDrawableState); } if (mTrackDrawable != null) { @@ -964,6 +963,16 @@ public class Switch extends CompoundButton { } @Override + public void invalidateDrawable(Drawable drawable) { + super.invalidateDrawable(drawable); + + if (drawable == mThumbDrawable) { + // Handle changes to thumb width and height. + requestLayout(); + } + } + + @Override protected boolean verifyDrawable(Drawable who) { return super.verifyDrawable(who) || who == mThumbDrawable || who == mTrackDrawable; } diff --git a/core/java/com/android/internal/app/AlertController.java b/core/java/com/android/internal/app/AlertController.java index 664f9db..5547a10 100644 --- a/core/java/com/android/internal/app/AlertController.java +++ b/core/java/com/android/internal/app/AlertController.java @@ -1026,7 +1026,7 @@ public class AlertController { ? dialog.mSingleChoiceItemLayout : dialog.mListItemLayout; if (mCursor == null) { adapter = (mAdapter != null) ? mAdapter - : new ArrayAdapter<CharSequence>(mContext, layout, R.id.text1, mItems); + : new CheckedItemAdapter(mContext, layout, R.id.text1, mItems); } else { adapter = new SimpleCursorAdapter(mContext, layout, mCursor, new String[]{mLabelColumn}, new int[]{R.id.text1}); @@ -1081,4 +1081,20 @@ public class AlertController { } } + private static class CheckedItemAdapter extends ArrayAdapter<CharSequence> { + public CheckedItemAdapter(Context context, int resource, int textViewResourceId, + CharSequence[] objects) { + super(context, resource, textViewResourceId, objects); + } + + @Override + public boolean hasStableIds() { + return true; + } + + @Override + public long getItemId(int position) { + return position; + } + } } diff --git a/core/jni/android_hardware_camera2_CameraMetadata.cpp b/core/jni/android_hardware_camera2_CameraMetadata.cpp index 0d2df80..7935329 100644 --- a/core/jni/android_hardware_camera2_CameraMetadata.cpp +++ b/core/jni/android_hardware_camera2_CameraMetadata.cpp @@ -39,6 +39,9 @@ #include <nativehelper/ScopedUtfChars.h> #include <nativehelper/ScopedPrimitiveArray.h> +#include <sys/types.h> // for socketpair +#include <sys/socket.h> // for socketpair + #if defined(LOG_NNDEBUG) #if !LOG_NNDEBUG #define ALOGVV ALOGV @@ -351,6 +354,119 @@ static void CameraMetadata_writeValues(JNIEnv *env, jobject thiz, jint tag, jbyt } } +struct DumpMetadataParams { + int writeFd; + const CameraMetadata* metadata; +}; + +static void* CameraMetadata_writeMetadataThread(void* arg) { + DumpMetadataParams* p = static_cast<DumpMetadataParams*>(arg); + + /* + * Write the dumped data, and close the writing side FD. + */ + p->metadata->dump(p->writeFd, /*verbosity*/2); + + if (close(p->writeFd) < 0) { + ALOGE("%s: Failed to close writeFd (errno = %#x, message = '%s')", + __FUNCTION__, errno, strerror(errno)); + } + + return NULL; +} + +static void CameraMetadata_dump(JNIEnv *env, jobject thiz) { + ALOGV("%s", __FUNCTION__); + CameraMetadata* metadata = CameraMetadata_getPointerThrow(env, thiz); + if (metadata == NULL) { + return; + } + + /* + * Create a socket pair for local streaming read/writes. + * + * The metadata will be dumped into the write side, + * and then read back out (and logged) via the read side. + */ + + int writeFd, readFd; + { + + int sv[2]; + if (socketpair(AF_LOCAL, SOCK_STREAM, /*protocol*/0, &sv[0]) < 0) { + jniThrowExceptionFmt(env, "java/io/IOException", + "Failed to create socketpair (errno = %#x, message = '%s')", + errno, strerror(errno)); + return; + } + writeFd = sv[0]; + readFd = sv[1]; + } + + /* + * Create a thread for doing the writing. + * + * The reading and writing must be concurrent, otherwise + * the write will block forever once it exhausts the capped + * buffer size (from getsockopt). + */ + pthread_t writeThread; + DumpMetadataParams params = { + writeFd, + metadata + }; + + { + int threadRet = pthread_create(&writeThread, /*attr*/NULL, + CameraMetadata_writeMetadataThread, (void*)¶ms); + + if (threadRet != 0) { + close(writeFd); + + jniThrowExceptionFmt(env, "java/io/IOException", + "Failed to create thread for writing (errno = %#x, message = '%s')", + threadRet, strerror(threadRet)); + } + } + + /* + * Read out a byte until stream is complete. Write completed lines + * to ALOG. + */ + { + char out[] = {'\0', '\0'}; // large enough to append as a string + String8 logLine; + + // Read one byte at a time! Very slow but avoids complicated \n scanning. + ssize_t res; + while ((res = TEMP_FAILURE_RETRY(read(readFd, &out[0], /*count*/1))) > 0) { + if (out[0] == '\n') { + ALOGD("%s", logLine.string()); + logLine.clear(); + } else { + logLine.append(out); + } + } + + if (res < 0) { + jniThrowExceptionFmt(env, "java/io/IOException", + "Failed to read from fd (errno = %#x, message = '%s')", + errno, strerror(errno)); + //return; + } else if (!logLine.isEmpty()) { + ALOGD("%s", logLine.string()); + } + } + + int res; + + // Join until thread finishes. Ensures params/metadata is valid until then. + if ((res = pthread_join(writeThread, /*retval*/NULL)) != 0) { + ALOGE("%s: Failed to join thread (errno = %#x, message = '%s')", + __FUNCTION__, res, strerror(res)); + } +} + static void CameraMetadata_readFromParcel(JNIEnv *env, jobject thiz, jobject parcel) { ALOGV("%s", __FUNCTION__); CameraMetadata* metadata = CameraMetadata_getPointerThrow(env, thiz); @@ -436,6 +552,9 @@ static JNINativeMethod gCameraMetadataMethods[] = { { "nativeWriteValues", "(I[B)V", (void *)CameraMetadata_writeValues }, + { "nativeDump", + "()V", + (void *)CameraMetadata_dump }, // Parcelable interface { "nativeReadFromParcel", "(Landroid/os/Parcel;)V", diff --git a/core/jni/android_view_ThreadedRenderer.cpp b/core/jni/android_view_ThreadedRenderer.cpp index 48fb729..5bc0f62 100644 --- a/core/jni/android_view_ThreadedRenderer.cpp +++ b/core/jni/android_view_ThreadedRenderer.cpp @@ -299,6 +299,12 @@ static void android_view_ThreadedRenderer_fence(JNIEnv* env, jobject clazz, proxy->fence(); } +static void android_view_ThreadedRenderer_notifyFramePending(JNIEnv* env, jobject clazz, + jlong proxyPtr) { + RenderProxy* proxy = reinterpret_cast<RenderProxy*>(proxyPtr); + proxy->notifyFramePending(); +} + #endif // ---------------------------------------------------------------------------- @@ -329,6 +335,7 @@ static JNINativeMethod gMethods[] = { { "nCopyLayerInto", "(JJJ)Z", (void*) android_view_ThreadedRenderer_copyLayerInto }, { "nDestroyLayer", "(JJ)V", (void*) android_view_ThreadedRenderer_destroyLayer }, { "nFence", "(J)V", (void*) android_view_ThreadedRenderer_fence }, + { "nNotifyFramePending", "(J)V", (void*) android_view_ThreadedRenderer_notifyFramePending }, #endif }; diff --git a/core/res/res/drawable-hdpi/btn_check_anim_00000_qntm_alpha.png b/core/res/res/drawable-hdpi/btn_check_anim_00000_qntm_alpha.png Binary files differdeleted file mode 100644 index 1880a15..0000000 --- a/core/res/res/drawable-hdpi/btn_check_anim_00000_qntm_alpha.png +++ /dev/null diff --git a/core/res/res/drawable-hdpi/btn_check_anim_00001_qntm_alpha.png b/core/res/res/drawable-hdpi/btn_check_anim_00001_qntm_alpha.png Binary files differdeleted file mode 100644 index aecb4d2..0000000 --- a/core/res/res/drawable-hdpi/btn_check_anim_00001_qntm_alpha.png +++ /dev/null diff --git a/core/res/res/drawable-hdpi/btn_check_anim_00002_qntm_alpha.png b/core/res/res/drawable-hdpi/btn_check_anim_00002_qntm_alpha.png Binary files differdeleted file mode 100644 index 8401f91..0000000 --- a/core/res/res/drawable-hdpi/btn_check_anim_00002_qntm_alpha.png +++ /dev/null diff --git a/core/res/res/drawable-hdpi/btn_check_anim_00003_qntm_alpha.png b/core/res/res/drawable-hdpi/btn_check_anim_00003_qntm_alpha.png Binary files differdeleted file mode 100644 index 5832865..0000000 --- a/core/res/res/drawable-hdpi/btn_check_anim_00003_qntm_alpha.png +++ /dev/null diff --git a/core/res/res/drawable-hdpi/btn_check_anim_00004_qntm_alpha.png b/core/res/res/drawable-hdpi/btn_check_anim_00004_qntm_alpha.png Binary files differdeleted file mode 100644 index 6d14962..0000000 --- a/core/res/res/drawable-hdpi/btn_check_anim_00004_qntm_alpha.png +++ /dev/null diff --git a/core/res/res/drawable-hdpi/btn_check_anim_00005_qntm_alpha.png b/core/res/res/drawable-hdpi/btn_check_anim_00005_qntm_alpha.png Binary files differdeleted file mode 100644 index aee057c..0000000 --- a/core/res/res/drawable-hdpi/btn_check_anim_00005_qntm_alpha.png +++ /dev/null diff --git a/core/res/res/drawable-hdpi/btn_check_anim_00006_qntm_alpha.png b/core/res/res/drawable-hdpi/btn_check_anim_00006_qntm_alpha.png Binary files differdeleted file mode 100644 index fb5801e..0000000 --- a/core/res/res/drawable-hdpi/btn_check_anim_00006_qntm_alpha.png +++ /dev/null diff --git a/core/res/res/drawable-hdpi/btn_check_anim_00007_qntm_alpha.png b/core/res/res/drawable-hdpi/btn_check_anim_00007_qntm_alpha.png Binary files differdeleted file mode 100644 index fdb5271..0000000 --- a/core/res/res/drawable-hdpi/btn_check_anim_00007_qntm_alpha.png +++ /dev/null diff --git a/core/res/res/drawable-hdpi/btn_check_anim_00008_qntm_alpha.png b/core/res/res/drawable-hdpi/btn_check_anim_00008_qntm_alpha.png Binary files differdeleted file mode 100644 index b8c7397..0000000 --- a/core/res/res/drawable-hdpi/btn_check_anim_00008_qntm_alpha.png +++ /dev/null diff --git a/core/res/res/drawable-hdpi/btn_check_anim_00009_qntm_alpha.png b/core/res/res/drawable-hdpi/btn_check_anim_00009_qntm_alpha.png Binary files differdeleted file mode 100644 index d0395a8..0000000 --- a/core/res/res/drawable-hdpi/btn_check_anim_00009_qntm_alpha.png +++ /dev/null diff --git a/core/res/res/drawable-hdpi/btn_check_anim_00010_qntm_alpha.png b/core/res/res/drawable-hdpi/btn_check_anim_00010_qntm_alpha.png Binary files differdeleted file mode 100644 index 59bb437..0000000 --- a/core/res/res/drawable-hdpi/btn_check_anim_00010_qntm_alpha.png +++ /dev/null diff --git a/core/res/res/drawable-hdpi/btn_check_anim_00011_qntm_alpha.png b/core/res/res/drawable-hdpi/btn_check_anim_00011_qntm_alpha.png Binary files differdeleted file mode 100644 index c053b90..0000000 --- a/core/res/res/drawable-hdpi/btn_check_anim_00011_qntm_alpha.png +++ /dev/null diff --git a/core/res/res/drawable-hdpi/btn_check_anim_00012_qntm_alpha.png b/core/res/res/drawable-hdpi/btn_check_anim_00012_qntm_alpha.png Binary files differdeleted file mode 100644 index eb30a79..0000000 --- a/core/res/res/drawable-hdpi/btn_check_anim_00012_qntm_alpha.png +++ /dev/null diff --git a/core/res/res/drawable-hdpi/btn_check_anim_00013_qntm_alpha.png b/core/res/res/drawable-hdpi/btn_check_anim_00013_qntm_alpha.png Binary files differdeleted file mode 100644 index 1af0bff..0000000 --- a/core/res/res/drawable-hdpi/btn_check_anim_00013_qntm_alpha.png +++ /dev/null diff --git a/core/res/res/drawable-hdpi/btn_check_anim_00014_qntm_alpha.png b/core/res/res/drawable-hdpi/btn_check_anim_00014_qntm_alpha.png Binary files differdeleted file mode 100644 index 3b36e7d..0000000 --- a/core/res/res/drawable-hdpi/btn_check_anim_00014_qntm_alpha.png +++ /dev/null diff --git a/core/res/res/drawable-hdpi/btn_check_anim_00015_qntm_alpha.png b/core/res/res/drawable-hdpi/btn_check_anim_00015_qntm_alpha.png Binary files differdeleted file mode 100644 index c12d20a..0000000 --- a/core/res/res/drawable-hdpi/btn_check_anim_00015_qntm_alpha.png +++ /dev/null diff --git a/core/res/res/drawable-hdpi/btn_check_off_qntm_alpha.png b/core/res/res/drawable-hdpi/btn_check_off_qntm_alpha.png Binary files differdeleted file mode 100644 index 5bc1d90..0000000 --- a/core/res/res/drawable-hdpi/btn_check_off_qntm_alpha.png +++ /dev/null diff --git a/core/res/res/drawable-hdpi/btn_check_on_qntm_alpha.png b/core/res/res/drawable-hdpi/btn_check_on_qntm_alpha.png Binary files differdeleted file mode 100644 index e5de2c1..0000000 --- a/core/res/res/drawable-hdpi/btn_check_on_qntm_alpha.png +++ /dev/null diff --git a/core/res/res/drawable-hdpi/btn_check_to_off_qntm_000.png b/core/res/res/drawable-hdpi/btn_check_to_off_qntm_000.png Binary files differnew file mode 100644 index 0000000..3cb4073 --- /dev/null +++ b/core/res/res/drawable-hdpi/btn_check_to_off_qntm_000.png diff --git a/core/res/res/drawable-hdpi/btn_check_to_off_qntm_001.png b/core/res/res/drawable-hdpi/btn_check_to_off_qntm_001.png Binary files differnew file mode 100644 index 0000000..8fd1480 --- /dev/null +++ b/core/res/res/drawable-hdpi/btn_check_to_off_qntm_001.png diff --git a/core/res/res/drawable-hdpi/btn_check_to_off_qntm_002.png b/core/res/res/drawable-hdpi/btn_check_to_off_qntm_002.png Binary files differnew file mode 100644 index 0000000..d35b579 --- /dev/null +++ b/core/res/res/drawable-hdpi/btn_check_to_off_qntm_002.png diff --git a/core/res/res/drawable-hdpi/btn_check_to_off_qntm_003.png b/core/res/res/drawable-hdpi/btn_check_to_off_qntm_003.png Binary files differnew file mode 100644 index 0000000..543c6bc --- /dev/null +++ b/core/res/res/drawable-hdpi/btn_check_to_off_qntm_003.png diff --git a/core/res/res/drawable-hdpi/btn_check_to_off_qntm_004.png b/core/res/res/drawable-hdpi/btn_check_to_off_qntm_004.png Binary files differnew file mode 100644 index 0000000..4fc3c40 --- /dev/null +++ b/core/res/res/drawable-hdpi/btn_check_to_off_qntm_004.png diff --git a/core/res/res/drawable-hdpi/btn_check_to_off_qntm_005.png b/core/res/res/drawable-hdpi/btn_check_to_off_qntm_005.png Binary files differnew file mode 100644 index 0000000..c184535 --- /dev/null +++ b/core/res/res/drawable-hdpi/btn_check_to_off_qntm_005.png diff --git a/core/res/res/drawable-hdpi/btn_check_to_off_qntm_006.png b/core/res/res/drawable-hdpi/btn_check_to_off_qntm_006.png Binary files differnew file mode 100644 index 0000000..9f9dd43 --- /dev/null +++ b/core/res/res/drawable-hdpi/btn_check_to_off_qntm_006.png diff --git a/core/res/res/drawable-hdpi/btn_check_to_off_qntm_007.png b/core/res/res/drawable-hdpi/btn_check_to_off_qntm_007.png Binary files differnew file mode 100644 index 0000000..8c629ce --- /dev/null +++ b/core/res/res/drawable-hdpi/btn_check_to_off_qntm_007.png diff --git a/core/res/res/drawable-hdpi/btn_check_to_off_qntm_008.png b/core/res/res/drawable-hdpi/btn_check_to_off_qntm_008.png Binary files differnew file mode 100644 index 0000000..81134b5 --- /dev/null +++ b/core/res/res/drawable-hdpi/btn_check_to_off_qntm_008.png diff --git a/core/res/res/drawable-hdpi/btn_check_to_off_qntm_009.png b/core/res/res/drawable-hdpi/btn_check_to_off_qntm_009.png Binary files differnew file mode 100644 index 0000000..baa5860 --- /dev/null +++ b/core/res/res/drawable-hdpi/btn_check_to_off_qntm_009.png diff --git a/core/res/res/drawable-hdpi/btn_check_to_off_qntm_010.png b/core/res/res/drawable-hdpi/btn_check_to_off_qntm_010.png Binary files differnew file mode 100644 index 0000000..d7e28366 --- /dev/null +++ b/core/res/res/drawable-hdpi/btn_check_to_off_qntm_010.png diff --git a/core/res/res/drawable-hdpi/btn_check_to_off_qntm_011.png b/core/res/res/drawable-hdpi/btn_check_to_off_qntm_011.png Binary files differnew file mode 100644 index 0000000..6f24795 --- /dev/null +++ b/core/res/res/drawable-hdpi/btn_check_to_off_qntm_011.png diff --git a/core/res/res/drawable-hdpi/btn_check_to_off_qntm_012.png b/core/res/res/drawable-hdpi/btn_check_to_off_qntm_012.png Binary files differnew file mode 100644 index 0000000..22f997d --- /dev/null +++ b/core/res/res/drawable-hdpi/btn_check_to_off_qntm_012.png diff --git a/core/res/res/drawable-hdpi/btn_check_to_off_qntm_013.png b/core/res/res/drawable-hdpi/btn_check_to_off_qntm_013.png Binary files differnew file mode 100644 index 0000000..85f4471 --- /dev/null +++ b/core/res/res/drawable-hdpi/btn_check_to_off_qntm_013.png diff --git a/core/res/res/drawable-hdpi/btn_check_to_off_qntm_014.png b/core/res/res/drawable-hdpi/btn_check_to_off_qntm_014.png Binary files differnew file mode 100644 index 0000000..ad483c9 --- /dev/null +++ b/core/res/res/drawable-hdpi/btn_check_to_off_qntm_014.png diff --git a/core/res/res/drawable-hdpi/btn_check_to_off_qntm_015.png b/core/res/res/drawable-hdpi/btn_check_to_off_qntm_015.png Binary files differnew file mode 100644 index 0000000..f24c2fb --- /dev/null +++ b/core/res/res/drawable-hdpi/btn_check_to_off_qntm_015.png diff --git a/core/res/res/drawable-hdpi/btn_check_to_on_qntm_000.png b/core/res/res/drawable-hdpi/btn_check_to_on_qntm_000.png Binary files differnew file mode 100644 index 0000000..7a9e9bd --- /dev/null +++ b/core/res/res/drawable-hdpi/btn_check_to_on_qntm_000.png diff --git a/core/res/res/drawable-hdpi/btn_check_to_on_qntm_001.png b/core/res/res/drawable-hdpi/btn_check_to_on_qntm_001.png Binary files differnew file mode 100644 index 0000000..af04902 --- /dev/null +++ b/core/res/res/drawable-hdpi/btn_check_to_on_qntm_001.png diff --git a/core/res/res/drawable-hdpi/btn_check_to_on_qntm_002.png b/core/res/res/drawable-hdpi/btn_check_to_on_qntm_002.png Binary files differnew file mode 100644 index 0000000..32a6e94 --- /dev/null +++ b/core/res/res/drawable-hdpi/btn_check_to_on_qntm_002.png diff --git a/core/res/res/drawable-hdpi/btn_check_to_on_qntm_003.png b/core/res/res/drawable-hdpi/btn_check_to_on_qntm_003.png Binary files differnew file mode 100644 index 0000000..c1b4b37 --- /dev/null +++ b/core/res/res/drawable-hdpi/btn_check_to_on_qntm_003.png diff --git a/core/res/res/drawable-hdpi/btn_check_to_on_qntm_004.png b/core/res/res/drawable-hdpi/btn_check_to_on_qntm_004.png Binary files differnew file mode 100644 index 0000000..34d3ade --- /dev/null +++ b/core/res/res/drawable-hdpi/btn_check_to_on_qntm_004.png diff --git a/core/res/res/drawable-hdpi/btn_check_to_on_qntm_005.png b/core/res/res/drawable-hdpi/btn_check_to_on_qntm_005.png Binary files differnew file mode 100644 index 0000000..3d5db53 --- /dev/null +++ b/core/res/res/drawable-hdpi/btn_check_to_on_qntm_005.png diff --git a/core/res/res/drawable-hdpi/btn_check_to_on_qntm_006.png b/core/res/res/drawable-hdpi/btn_check_to_on_qntm_006.png Binary files differnew file mode 100644 index 0000000..ea35437 --- /dev/null +++ b/core/res/res/drawable-hdpi/btn_check_to_on_qntm_006.png diff --git a/core/res/res/drawable-hdpi/btn_check_to_on_qntm_007.png b/core/res/res/drawable-hdpi/btn_check_to_on_qntm_007.png Binary files differnew file mode 100644 index 0000000..48744f8 --- /dev/null +++ b/core/res/res/drawable-hdpi/btn_check_to_on_qntm_007.png diff --git a/core/res/res/drawable-hdpi/btn_check_to_on_qntm_008.png b/core/res/res/drawable-hdpi/btn_check_to_on_qntm_008.png Binary files differnew file mode 100644 index 0000000..f654517 --- /dev/null +++ b/core/res/res/drawable-hdpi/btn_check_to_on_qntm_008.png diff --git a/core/res/res/drawable-hdpi/btn_check_to_on_qntm_009.png b/core/res/res/drawable-hdpi/btn_check_to_on_qntm_009.png Binary files differnew file mode 100644 index 0000000..16f959a --- /dev/null +++ b/core/res/res/drawable-hdpi/btn_check_to_on_qntm_009.png diff --git a/core/res/res/drawable-hdpi/btn_check_to_on_qntm_010.png b/core/res/res/drawable-hdpi/btn_check_to_on_qntm_010.png Binary files differnew file mode 100644 index 0000000..98c754b --- /dev/null +++ b/core/res/res/drawable-hdpi/btn_check_to_on_qntm_010.png diff --git a/core/res/res/drawable-hdpi/btn_check_to_on_qntm_011.png b/core/res/res/drawable-hdpi/btn_check_to_on_qntm_011.png Binary files differnew file mode 100644 index 0000000..5827dc2 --- /dev/null +++ b/core/res/res/drawable-hdpi/btn_check_to_on_qntm_011.png diff --git a/core/res/res/drawable-hdpi/btn_check_to_on_qntm_012.png b/core/res/res/drawable-hdpi/btn_check_to_on_qntm_012.png Binary files differnew file mode 100644 index 0000000..9850d74 --- /dev/null +++ b/core/res/res/drawable-hdpi/btn_check_to_on_qntm_012.png diff --git a/core/res/res/drawable-hdpi/btn_check_to_on_qntm_013.png b/core/res/res/drawable-hdpi/btn_check_to_on_qntm_013.png Binary files differnew file mode 100644 index 0000000..03ab06b --- /dev/null +++ b/core/res/res/drawable-hdpi/btn_check_to_on_qntm_013.png diff --git a/core/res/res/drawable-hdpi/btn_check_to_on_qntm_014.png b/core/res/res/drawable-hdpi/btn_check_to_on_qntm_014.png Binary files differnew file mode 100644 index 0000000..11cdd88 --- /dev/null +++ b/core/res/res/drawable-hdpi/btn_check_to_on_qntm_014.png diff --git a/core/res/res/drawable-hdpi/btn_check_to_on_qntm_015.png b/core/res/res/drawable-hdpi/btn_check_to_on_qntm_015.png Binary files differnew file mode 100644 index 0000000..874edbf --- /dev/null +++ b/core/res/res/drawable-hdpi/btn_check_to_on_qntm_015.png diff --git a/core/res/res/drawable-hdpi/btn_radio_anim_00000_qntm_alpha.png b/core/res/res/drawable-hdpi/btn_radio_anim_00000_qntm_alpha.png Binary files differdeleted file mode 100644 index 882365b..0000000 --- a/core/res/res/drawable-hdpi/btn_radio_anim_00000_qntm_alpha.png +++ /dev/null diff --git a/core/res/res/drawable-hdpi/btn_radio_anim_00001_qntm_alpha.png b/core/res/res/drawable-hdpi/btn_radio_anim_00001_qntm_alpha.png Binary files differdeleted file mode 100644 index f6c7094..0000000 --- a/core/res/res/drawable-hdpi/btn_radio_anim_00001_qntm_alpha.png +++ /dev/null diff --git a/core/res/res/drawable-hdpi/btn_radio_anim_00002_qntm_alpha.png b/core/res/res/drawable-hdpi/btn_radio_anim_00002_qntm_alpha.png Binary files differdeleted file mode 100644 index 0e326c9..0000000 --- a/core/res/res/drawable-hdpi/btn_radio_anim_00002_qntm_alpha.png +++ /dev/null diff --git a/core/res/res/drawable-hdpi/btn_radio_anim_00003_qntm_alpha.png b/core/res/res/drawable-hdpi/btn_radio_anim_00003_qntm_alpha.png Binary files differdeleted file mode 100644 index 8bf1170..0000000 --- a/core/res/res/drawable-hdpi/btn_radio_anim_00003_qntm_alpha.png +++ /dev/null diff --git a/core/res/res/drawable-hdpi/btn_radio_anim_00004_qntm_alpha.png b/core/res/res/drawable-hdpi/btn_radio_anim_00004_qntm_alpha.png Binary files differdeleted file mode 100644 index cedb66e..0000000 --- a/core/res/res/drawable-hdpi/btn_radio_anim_00004_qntm_alpha.png +++ /dev/null diff --git a/core/res/res/drawable-hdpi/btn_radio_anim_00005_qntm_alpha.png b/core/res/res/drawable-hdpi/btn_radio_anim_00005_qntm_alpha.png Binary files differdeleted file mode 100644 index 257d7ba..0000000 --- a/core/res/res/drawable-hdpi/btn_radio_anim_00005_qntm_alpha.png +++ /dev/null diff --git a/core/res/res/drawable-hdpi/btn_radio_anim_00006_qntm_alpha.png b/core/res/res/drawable-hdpi/btn_radio_anim_00006_qntm_alpha.png Binary files differdeleted file mode 100644 index e07b36e..0000000 --- a/core/res/res/drawable-hdpi/btn_radio_anim_00006_qntm_alpha.png +++ /dev/null diff --git a/core/res/res/drawable-hdpi/btn_radio_anim_00007_qntm_alpha.png b/core/res/res/drawable-hdpi/btn_radio_anim_00007_qntm_alpha.png Binary files differdeleted file mode 100644 index ef94200..0000000 --- a/core/res/res/drawable-hdpi/btn_radio_anim_00007_qntm_alpha.png +++ /dev/null diff --git a/core/res/res/drawable-hdpi/btn_radio_anim_00008_qntm_alpha.png b/core/res/res/drawable-hdpi/btn_radio_anim_00008_qntm_alpha.png Binary files differdeleted file mode 100644 index ad67004..0000000 --- a/core/res/res/drawable-hdpi/btn_radio_anim_00008_qntm_alpha.png +++ /dev/null diff --git a/core/res/res/drawable-hdpi/btn_radio_anim_00009_qntm_alpha.png b/core/res/res/drawable-hdpi/btn_radio_anim_00009_qntm_alpha.png Binary files differdeleted file mode 100644 index 50796e2..0000000 --- a/core/res/res/drawable-hdpi/btn_radio_anim_00009_qntm_alpha.png +++ /dev/null diff --git a/core/res/res/drawable-hdpi/btn_radio_anim_00010_qntm_alpha.png b/core/res/res/drawable-hdpi/btn_radio_anim_00010_qntm_alpha.png Binary files differdeleted file mode 100644 index ba7be9e..0000000 --- a/core/res/res/drawable-hdpi/btn_radio_anim_00010_qntm_alpha.png +++ /dev/null diff --git a/core/res/res/drawable-hdpi/btn_radio_anim_00011_qntm_alpha.png b/core/res/res/drawable-hdpi/btn_radio_anim_00011_qntm_alpha.png Binary files differdeleted file mode 100644 index bdbfe78..0000000 --- a/core/res/res/drawable-hdpi/btn_radio_anim_00011_qntm_alpha.png +++ /dev/null diff --git a/core/res/res/drawable-hdpi/btn_radio_anim_00012_qntm_alpha.png b/core/res/res/drawable-hdpi/btn_radio_anim_00012_qntm_alpha.png Binary files differdeleted file mode 100644 index fe89951..0000000 --- a/core/res/res/drawable-hdpi/btn_radio_anim_00012_qntm_alpha.png +++ /dev/null diff --git a/core/res/res/drawable-hdpi/btn_radio_anim_00013_qntm_alpha.png b/core/res/res/drawable-hdpi/btn_radio_anim_00013_qntm_alpha.png Binary files differdeleted file mode 100644 index 840c88f..0000000 --- a/core/res/res/drawable-hdpi/btn_radio_anim_00013_qntm_alpha.png +++ /dev/null diff --git a/core/res/res/drawable-hdpi/btn_radio_anim_00014_qntm_alpha.png b/core/res/res/drawable-hdpi/btn_radio_anim_00014_qntm_alpha.png Binary files differdeleted file mode 100644 index 621d1d2..0000000 --- a/core/res/res/drawable-hdpi/btn_radio_anim_00014_qntm_alpha.png +++ /dev/null diff --git a/core/res/res/drawable-hdpi/btn_radio_anim_00015_qntm_alpha.png b/core/res/res/drawable-hdpi/btn_radio_anim_00015_qntm_alpha.png Binary files differdeleted file mode 100644 index fd8be89..0000000 --- a/core/res/res/drawable-hdpi/btn_radio_anim_00015_qntm_alpha.png +++ /dev/null diff --git a/core/res/res/drawable-hdpi/btn_radio_off_pressed_qntm_alpha.png b/core/res/res/drawable-hdpi/btn_radio_off_pressed_qntm_alpha.png Binary files differdeleted file mode 100644 index 7bef530..0000000 --- a/core/res/res/drawable-hdpi/btn_radio_off_pressed_qntm_alpha.png +++ /dev/null diff --git a/core/res/res/drawable-hdpi/btn_radio_off_qntm_alpha.png b/core/res/res/drawable-hdpi/btn_radio_off_qntm_alpha.png Binary files differdeleted file mode 100644 index ae50dd5..0000000 --- a/core/res/res/drawable-hdpi/btn_radio_off_qntm_alpha.png +++ /dev/null diff --git a/core/res/res/drawable-hdpi/btn_radio_on_pressed_qntm_alpha.png b/core/res/res/drawable-hdpi/btn_radio_on_pressed_qntm_alpha.png Binary files differdeleted file mode 100644 index 0678dbb..0000000 --- a/core/res/res/drawable-hdpi/btn_radio_on_pressed_qntm_alpha.png +++ /dev/null diff --git a/core/res/res/drawable-hdpi/btn_radio_on_qntm_alpha.png b/core/res/res/drawable-hdpi/btn_radio_on_qntm_alpha.png Binary files differdeleted file mode 100644 index f332925..0000000 --- a/core/res/res/drawable-hdpi/btn_radio_on_qntm_alpha.png +++ /dev/null diff --git a/core/res/res/drawable-hdpi/btn_radio_to_off_qntm_000.png b/core/res/res/drawable-hdpi/btn_radio_to_off_qntm_000.png Binary files differnew file mode 100644 index 0000000..da88e98 --- /dev/null +++ b/core/res/res/drawable-hdpi/btn_radio_to_off_qntm_000.png diff --git a/core/res/res/drawable-hdpi/btn_radio_to_off_qntm_001.png b/core/res/res/drawable-hdpi/btn_radio_to_off_qntm_001.png Binary files differnew file mode 100644 index 0000000..907d92d --- /dev/null +++ b/core/res/res/drawable-hdpi/btn_radio_to_off_qntm_001.png diff --git a/core/res/res/drawable-hdpi/btn_radio_to_off_qntm_002.png b/core/res/res/drawable-hdpi/btn_radio_to_off_qntm_002.png Binary files differnew file mode 100644 index 0000000..9d24dc1 --- /dev/null +++ b/core/res/res/drawable-hdpi/btn_radio_to_off_qntm_002.png diff --git a/core/res/res/drawable-hdpi/btn_radio_to_off_qntm_003.png b/core/res/res/drawable-hdpi/btn_radio_to_off_qntm_003.png Binary files differnew file mode 100644 index 0000000..8aa2605 --- /dev/null +++ b/core/res/res/drawable-hdpi/btn_radio_to_off_qntm_003.png diff --git a/core/res/res/drawable-hdpi/btn_radio_to_off_qntm_004.png b/core/res/res/drawable-hdpi/btn_radio_to_off_qntm_004.png Binary files differnew file mode 100644 index 0000000..b4cdf02 --- /dev/null +++ b/core/res/res/drawable-hdpi/btn_radio_to_off_qntm_004.png diff --git a/core/res/res/drawable-hdpi/btn_radio_to_off_qntm_005.png b/core/res/res/drawable-hdpi/btn_radio_to_off_qntm_005.png Binary files differnew file mode 100644 index 0000000..0724ed7 --- /dev/null +++ b/core/res/res/drawable-hdpi/btn_radio_to_off_qntm_005.png diff --git a/core/res/res/drawable-hdpi/btn_radio_to_off_qntm_006.png b/core/res/res/drawable-hdpi/btn_radio_to_off_qntm_006.png Binary files differnew file mode 100644 index 0000000..c9bd4e3 --- /dev/null +++ b/core/res/res/drawable-hdpi/btn_radio_to_off_qntm_006.png diff --git a/core/res/res/drawable-hdpi/btn_radio_to_off_qntm_007.png b/core/res/res/drawable-hdpi/btn_radio_to_off_qntm_007.png Binary files differnew file mode 100644 index 0000000..5630ec3 --- /dev/null +++ b/core/res/res/drawable-hdpi/btn_radio_to_off_qntm_007.png diff --git a/core/res/res/drawable-hdpi/btn_radio_to_off_qntm_008.png b/core/res/res/drawable-hdpi/btn_radio_to_off_qntm_008.png Binary files differnew file mode 100644 index 0000000..4bf666c --- /dev/null +++ b/core/res/res/drawable-hdpi/btn_radio_to_off_qntm_008.png diff --git a/core/res/res/drawable-hdpi/btn_radio_to_off_qntm_009.png b/core/res/res/drawable-hdpi/btn_radio_to_off_qntm_009.png Binary files differnew file mode 100644 index 0000000..dffaa07 --- /dev/null +++ b/core/res/res/drawable-hdpi/btn_radio_to_off_qntm_009.png diff --git a/core/res/res/drawable-hdpi/btn_radio_to_off_qntm_010.png b/core/res/res/drawable-hdpi/btn_radio_to_off_qntm_010.png Binary files differnew file mode 100644 index 0000000..5f86e18 --- /dev/null +++ b/core/res/res/drawable-hdpi/btn_radio_to_off_qntm_010.png diff --git a/core/res/res/drawable-hdpi/btn_radio_to_off_qntm_011.png b/core/res/res/drawable-hdpi/btn_radio_to_off_qntm_011.png Binary files differnew file mode 100644 index 0000000..9b50aef --- /dev/null +++ b/core/res/res/drawable-hdpi/btn_radio_to_off_qntm_011.png diff --git a/core/res/res/drawable-hdpi/btn_radio_to_off_qntm_012.png b/core/res/res/drawable-hdpi/btn_radio_to_off_qntm_012.png Binary files differnew file mode 100644 index 0000000..1cf5e7f --- /dev/null +++ b/core/res/res/drawable-hdpi/btn_radio_to_off_qntm_012.png diff --git a/core/res/res/drawable-hdpi/btn_radio_to_off_qntm_013.png b/core/res/res/drawable-hdpi/btn_radio_to_off_qntm_013.png Binary files differnew file mode 100644 index 0000000..2bb641a --- /dev/null +++ b/core/res/res/drawable-hdpi/btn_radio_to_off_qntm_013.png diff --git a/core/res/res/drawable-hdpi/btn_radio_to_off_qntm_014.png b/core/res/res/drawable-hdpi/btn_radio_to_off_qntm_014.png Binary files differnew file mode 100644 index 0000000..08e7485 --- /dev/null +++ b/core/res/res/drawable-hdpi/btn_radio_to_off_qntm_014.png diff --git a/core/res/res/drawable-hdpi/btn_radio_to_off_qntm_015.png b/core/res/res/drawable-hdpi/btn_radio_to_off_qntm_015.png Binary files differnew file mode 100644 index 0000000..519b5a3 --- /dev/null +++ b/core/res/res/drawable-hdpi/btn_radio_to_off_qntm_015.png diff --git a/core/res/res/drawable-hdpi/btn_radio_to_on_qntm_000.png b/core/res/res/drawable-hdpi/btn_radio_to_on_qntm_000.png Binary files differnew file mode 100644 index 0000000..0d3e1e7 --- /dev/null +++ b/core/res/res/drawable-hdpi/btn_radio_to_on_qntm_000.png diff --git a/core/res/res/drawable-hdpi/btn_radio_to_on_qntm_001.png b/core/res/res/drawable-hdpi/btn_radio_to_on_qntm_001.png Binary files differnew file mode 100644 index 0000000..88c4a9e --- /dev/null +++ b/core/res/res/drawable-hdpi/btn_radio_to_on_qntm_001.png diff --git a/core/res/res/drawable-hdpi/btn_radio_to_on_qntm_002.png b/core/res/res/drawable-hdpi/btn_radio_to_on_qntm_002.png Binary files differnew file mode 100644 index 0000000..8fa2e88 --- /dev/null +++ b/core/res/res/drawable-hdpi/btn_radio_to_on_qntm_002.png diff --git a/core/res/res/drawable-hdpi/btn_radio_to_on_qntm_003.png b/core/res/res/drawable-hdpi/btn_radio_to_on_qntm_003.png Binary files differnew file mode 100644 index 0000000..53dd9d7 --- /dev/null +++ b/core/res/res/drawable-hdpi/btn_radio_to_on_qntm_003.png diff --git a/core/res/res/drawable-hdpi/btn_radio_to_on_qntm_004.png b/core/res/res/drawable-hdpi/btn_radio_to_on_qntm_004.png Binary files differnew file mode 100644 index 0000000..e235195 --- /dev/null +++ b/core/res/res/drawable-hdpi/btn_radio_to_on_qntm_004.png diff --git a/core/res/res/drawable-hdpi/btn_radio_to_on_qntm_005.png b/core/res/res/drawable-hdpi/btn_radio_to_on_qntm_005.png Binary files differnew file mode 100644 index 0000000..1721284 --- /dev/null +++ b/core/res/res/drawable-hdpi/btn_radio_to_on_qntm_005.png diff --git a/core/res/res/drawable-hdpi/btn_radio_to_on_qntm_006.png b/core/res/res/drawable-hdpi/btn_radio_to_on_qntm_006.png Binary files differnew file mode 100644 index 0000000..31819fa --- /dev/null +++ b/core/res/res/drawable-hdpi/btn_radio_to_on_qntm_006.png diff --git a/core/res/res/drawable-hdpi/btn_radio_to_on_qntm_007.png b/core/res/res/drawable-hdpi/btn_radio_to_on_qntm_007.png Binary files differnew file mode 100644 index 0000000..5de44b9 --- /dev/null +++ b/core/res/res/drawable-hdpi/btn_radio_to_on_qntm_007.png diff --git a/core/res/res/drawable-hdpi/btn_radio_to_on_qntm_008.png b/core/res/res/drawable-hdpi/btn_radio_to_on_qntm_008.png Binary files differnew file mode 100644 index 0000000..aa20f65 --- /dev/null +++ b/core/res/res/drawable-hdpi/btn_radio_to_on_qntm_008.png diff --git a/core/res/res/drawable-hdpi/btn_radio_to_on_qntm_009.png b/core/res/res/drawable-hdpi/btn_radio_to_on_qntm_009.png Binary files differnew file mode 100644 index 0000000..c379ba7 --- /dev/null +++ b/core/res/res/drawable-hdpi/btn_radio_to_on_qntm_009.png diff --git a/core/res/res/drawable-hdpi/btn_radio_to_on_qntm_010.png b/core/res/res/drawable-hdpi/btn_radio_to_on_qntm_010.png Binary files differnew file mode 100644 index 0000000..e23b410 --- /dev/null +++ b/core/res/res/drawable-hdpi/btn_radio_to_on_qntm_010.png diff --git a/core/res/res/drawable-hdpi/btn_radio_to_on_qntm_011.png b/core/res/res/drawable-hdpi/btn_radio_to_on_qntm_011.png Binary files differnew file mode 100644 index 0000000..a9543dc --- /dev/null +++ b/core/res/res/drawable-hdpi/btn_radio_to_on_qntm_011.png diff --git a/core/res/res/drawable-hdpi/btn_radio_to_on_qntm_012.png b/core/res/res/drawable-hdpi/btn_radio_to_on_qntm_012.png Binary files differnew file mode 100644 index 0000000..2473b78 --- /dev/null +++ b/core/res/res/drawable-hdpi/btn_radio_to_on_qntm_012.png diff --git a/core/res/res/drawable-hdpi/btn_radio_to_on_qntm_013.png b/core/res/res/drawable-hdpi/btn_radio_to_on_qntm_013.png Binary files differnew file mode 100644 index 0000000..b4acc9c --- /dev/null +++ b/core/res/res/drawable-hdpi/btn_radio_to_on_qntm_013.png diff --git a/core/res/res/drawable-hdpi/btn_radio_to_on_qntm_014.png b/core/res/res/drawable-hdpi/btn_radio_to_on_qntm_014.png Binary files differnew file mode 100644 index 0000000..c9cf344 --- /dev/null +++ b/core/res/res/drawable-hdpi/btn_radio_to_on_qntm_014.png diff --git a/core/res/res/drawable-hdpi/btn_radio_to_on_qntm_015.png b/core/res/res/drawable-hdpi/btn_radio_to_on_qntm_015.png Binary files differnew file mode 100644 index 0000000..a8c390e --- /dev/null +++ b/core/res/res/drawable-hdpi/btn_radio_to_on_qntm_015.png diff --git a/core/res/res/drawable-hdpi/btn_switch_to_off_qntm_000.png b/core/res/res/drawable-hdpi/btn_switch_to_off_qntm_000.png Binary files differnew file mode 100644 index 0000000..c54f8d7 --- /dev/null +++ b/core/res/res/drawable-hdpi/btn_switch_to_off_qntm_000.png diff --git a/core/res/res/drawable-hdpi/btn_switch_to_off_qntm_001.png b/core/res/res/drawable-hdpi/btn_switch_to_off_qntm_001.png Binary files differnew file mode 100644 index 0000000..e062f61 --- /dev/null +++ b/core/res/res/drawable-hdpi/btn_switch_to_off_qntm_001.png diff --git a/core/res/res/drawable-hdpi/btn_switch_to_off_qntm_002.png b/core/res/res/drawable-hdpi/btn_switch_to_off_qntm_002.png Binary files differnew file mode 100644 index 0000000..7737646 --- /dev/null +++ b/core/res/res/drawable-hdpi/btn_switch_to_off_qntm_002.png diff --git a/core/res/res/drawable-hdpi/btn_switch_to_off_qntm_003.png b/core/res/res/drawable-hdpi/btn_switch_to_off_qntm_003.png Binary files differnew file mode 100644 index 0000000..65ff45e --- /dev/null +++ b/core/res/res/drawable-hdpi/btn_switch_to_off_qntm_003.png diff --git a/core/res/res/drawable-hdpi/btn_switch_to_off_qntm_004.png b/core/res/res/drawable-hdpi/btn_switch_to_off_qntm_004.png Binary files differnew file mode 100644 index 0000000..11aaec0 --- /dev/null +++ b/core/res/res/drawable-hdpi/btn_switch_to_off_qntm_004.png diff --git a/core/res/res/drawable-hdpi/btn_switch_to_off_qntm_005.png b/core/res/res/drawable-hdpi/btn_switch_to_off_qntm_005.png Binary files differnew file mode 100644 index 0000000..9e1b60f --- /dev/null +++ b/core/res/res/drawable-hdpi/btn_switch_to_off_qntm_005.png diff --git a/core/res/res/drawable-hdpi/btn_switch_to_off_qntm_006.png b/core/res/res/drawable-hdpi/btn_switch_to_off_qntm_006.png Binary files differnew file mode 100644 index 0000000..1e45687 --- /dev/null +++ b/core/res/res/drawable-hdpi/btn_switch_to_off_qntm_006.png diff --git a/core/res/res/drawable-hdpi/btn_switch_to_off_qntm_007.png b/core/res/res/drawable-hdpi/btn_switch_to_off_qntm_007.png Binary files differnew file mode 100644 index 0000000..1e45687 --- /dev/null +++ b/core/res/res/drawable-hdpi/btn_switch_to_off_qntm_007.png diff --git a/core/res/res/drawable-hdpi/btn_switch_to_off_qntm_008.png b/core/res/res/drawable-hdpi/btn_switch_to_off_qntm_008.png Binary files differnew file mode 100644 index 0000000..6c48456 --- /dev/null +++ b/core/res/res/drawable-hdpi/btn_switch_to_off_qntm_008.png diff --git a/core/res/res/drawable-hdpi/btn_switch_to_off_qntm_009.png b/core/res/res/drawable-hdpi/btn_switch_to_off_qntm_009.png Binary files differnew file mode 100644 index 0000000..a4d084b --- /dev/null +++ b/core/res/res/drawable-hdpi/btn_switch_to_off_qntm_009.png diff --git a/core/res/res/drawable-hdpi/btn_switch_to_off_qntm_010.png b/core/res/res/drawable-hdpi/btn_switch_to_off_qntm_010.png Binary files differnew file mode 100644 index 0000000..1e1a1b0 --- /dev/null +++ b/core/res/res/drawable-hdpi/btn_switch_to_off_qntm_010.png diff --git a/core/res/res/drawable-hdpi/btn_switch_to_off_qntm_011.png b/core/res/res/drawable-hdpi/btn_switch_to_off_qntm_011.png Binary files differnew file mode 100644 index 0000000..1e1a1b0 --- /dev/null +++ b/core/res/res/drawable-hdpi/btn_switch_to_off_qntm_011.png diff --git a/core/res/res/drawable-hdpi/btn_switch_to_off_qntm_012.png b/core/res/res/drawable-hdpi/btn_switch_to_off_qntm_012.png Binary files differnew file mode 100644 index 0000000..1e1a1b0 --- /dev/null +++ b/core/res/res/drawable-hdpi/btn_switch_to_off_qntm_012.png diff --git a/core/res/res/drawable-hdpi/btn_switch_to_off_qntm_013.png b/core/res/res/drawable-hdpi/btn_switch_to_off_qntm_013.png Binary files differnew file mode 100644 index 0000000..1e1a1b0 --- /dev/null +++ b/core/res/res/drawable-hdpi/btn_switch_to_off_qntm_013.png diff --git a/core/res/res/drawable-hdpi/btn_switch_to_off_qntm_014.png b/core/res/res/drawable-hdpi/btn_switch_to_off_qntm_014.png Binary files differnew file mode 100644 index 0000000..1e1a1b0 --- /dev/null +++ b/core/res/res/drawable-hdpi/btn_switch_to_off_qntm_014.png diff --git a/core/res/res/drawable-hdpi/btn_switch_to_on_qntm_000.png b/core/res/res/drawable-hdpi/btn_switch_to_on_qntm_000.png Binary files differnew file mode 100644 index 0000000..cf09f97 --- /dev/null +++ b/core/res/res/drawable-hdpi/btn_switch_to_on_qntm_000.png diff --git a/core/res/res/drawable-hdpi/btn_switch_to_on_qntm_001.png b/core/res/res/drawable-hdpi/btn_switch_to_on_qntm_001.png Binary files differnew file mode 100644 index 0000000..3218e66 --- /dev/null +++ b/core/res/res/drawable-hdpi/btn_switch_to_on_qntm_001.png diff --git a/core/res/res/drawable-hdpi/btn_switch_to_on_qntm_002.png b/core/res/res/drawable-hdpi/btn_switch_to_on_qntm_002.png Binary files differnew file mode 100644 index 0000000..0acff03 --- /dev/null +++ b/core/res/res/drawable-hdpi/btn_switch_to_on_qntm_002.png diff --git a/core/res/res/drawable-hdpi/btn_switch_to_on_qntm_003.png b/core/res/res/drawable-hdpi/btn_switch_to_on_qntm_003.png Binary files differnew file mode 100644 index 0000000..c93adf4 --- /dev/null +++ b/core/res/res/drawable-hdpi/btn_switch_to_on_qntm_003.png diff --git a/core/res/res/drawable-hdpi/btn_switch_to_on_qntm_004.png b/core/res/res/drawable-hdpi/btn_switch_to_on_qntm_004.png Binary files differnew file mode 100644 index 0000000..5d8ddc96 --- /dev/null +++ b/core/res/res/drawable-hdpi/btn_switch_to_on_qntm_004.png diff --git a/core/res/res/drawable-hdpi/btn_switch_to_on_qntm_005.png b/core/res/res/drawable-hdpi/btn_switch_to_on_qntm_005.png Binary files differnew file mode 100644 index 0000000..47206a4 --- /dev/null +++ b/core/res/res/drawable-hdpi/btn_switch_to_on_qntm_005.png diff --git a/core/res/res/drawable-hdpi/btn_switch_to_on_qntm_006.png b/core/res/res/drawable-hdpi/btn_switch_to_on_qntm_006.png Binary files differnew file mode 100644 index 0000000..7d6a91f --- /dev/null +++ b/core/res/res/drawable-hdpi/btn_switch_to_on_qntm_006.png diff --git a/core/res/res/drawable-hdpi/btn_switch_to_on_qntm_007.png b/core/res/res/drawable-hdpi/btn_switch_to_on_qntm_007.png Binary files differnew file mode 100644 index 0000000..e062f61 --- /dev/null +++ b/core/res/res/drawable-hdpi/btn_switch_to_on_qntm_007.png diff --git a/core/res/res/drawable-hdpi/btn_switch_to_on_qntm_008.png b/core/res/res/drawable-hdpi/btn_switch_to_on_qntm_008.png Binary files differnew file mode 100644 index 0000000..b0f0dde --- /dev/null +++ b/core/res/res/drawable-hdpi/btn_switch_to_on_qntm_008.png diff --git a/core/res/res/drawable-hdpi/btn_switch_to_on_qntm_009.png b/core/res/res/drawable-hdpi/btn_switch_to_on_qntm_009.png Binary files differnew file mode 100644 index 0000000..c54f8d7 --- /dev/null +++ b/core/res/res/drawable-hdpi/btn_switch_to_on_qntm_009.png diff --git a/core/res/res/drawable-hdpi/btn_switch_to_on_qntm_010.png b/core/res/res/drawable-hdpi/btn_switch_to_on_qntm_010.png Binary files differnew file mode 100644 index 0000000..c54f8d7 --- /dev/null +++ b/core/res/res/drawable-hdpi/btn_switch_to_on_qntm_010.png diff --git a/core/res/res/drawable-hdpi/btn_switch_to_on_qntm_011.png b/core/res/res/drawable-hdpi/btn_switch_to_on_qntm_011.png Binary files differnew file mode 100644 index 0000000..c54f8d7 --- /dev/null +++ b/core/res/res/drawable-hdpi/btn_switch_to_on_qntm_011.png diff --git a/core/res/res/drawable-hdpi/btn_switch_to_on_qntm_012.png b/core/res/res/drawable-hdpi/btn_switch_to_on_qntm_012.png Binary files differnew file mode 100644 index 0000000..c54f8d7 --- /dev/null +++ b/core/res/res/drawable-hdpi/btn_switch_to_on_qntm_012.png diff --git a/core/res/res/drawable-hdpi/btn_switch_to_on_qntm_013.png b/core/res/res/drawable-hdpi/btn_switch_to_on_qntm_013.png Binary files differnew file mode 100644 index 0000000..c54f8d7 --- /dev/null +++ b/core/res/res/drawable-hdpi/btn_switch_to_on_qntm_013.png diff --git a/core/res/res/drawable-hdpi/btn_switch_to_on_qntm_014.png b/core/res/res/drawable-hdpi/btn_switch_to_on_qntm_014.png Binary files differnew file mode 100644 index 0000000..c54f8d7 --- /dev/null +++ b/core/res/res/drawable-hdpi/btn_switch_to_on_qntm_014.png diff --git a/core/res/res/drawable-hdpi/btn_toggle_indicator_qntm_alpha.9.png b/core/res/res/drawable-hdpi/btn_toggle_indicator_qntm_alpha.9.png Binary files differnew file mode 100644 index 0000000..68e17ad --- /dev/null +++ b/core/res/res/drawable-hdpi/btn_toggle_indicator_qntm_alpha.9.png diff --git a/core/res/res/drawable-hdpi/btn_toggle_qntm_alpha.9.png b/core/res/res/drawable-hdpi/btn_toggle_qntm_alpha.9.png Binary files differnew file mode 100644 index 0000000..879d9c2 --- /dev/null +++ b/core/res/res/drawable-hdpi/btn_toggle_qntm_alpha.9.png diff --git a/core/res/res/drawable-hdpi/scrubber_control_from_pressed_qntm_000.png b/core/res/res/drawable-hdpi/scrubber_control_from_pressed_qntm_000.png Binary files differnew file mode 100644 index 0000000..281923e --- /dev/null +++ b/core/res/res/drawable-hdpi/scrubber_control_from_pressed_qntm_000.png diff --git a/core/res/res/drawable-hdpi/scrubber_control_from_pressed_qntm_001.png b/core/res/res/drawable-hdpi/scrubber_control_from_pressed_qntm_001.png Binary files differnew file mode 100644 index 0000000..e91d4fb --- /dev/null +++ b/core/res/res/drawable-hdpi/scrubber_control_from_pressed_qntm_001.png diff --git a/core/res/res/drawable-hdpi/scrubber_control_from_pressed_qntm_002.png b/core/res/res/drawable-hdpi/scrubber_control_from_pressed_qntm_002.png Binary files differnew file mode 100644 index 0000000..15baded --- /dev/null +++ b/core/res/res/drawable-hdpi/scrubber_control_from_pressed_qntm_002.png diff --git a/core/res/res/drawable-hdpi/scrubber_control_from_pressed_qntm_003.png b/core/res/res/drawable-hdpi/scrubber_control_from_pressed_qntm_003.png Binary files differnew file mode 100644 index 0000000..3d5899f --- /dev/null +++ b/core/res/res/drawable-hdpi/scrubber_control_from_pressed_qntm_003.png diff --git a/core/res/res/drawable-hdpi/scrubber_control_from_pressed_qntm_004.png b/core/res/res/drawable-hdpi/scrubber_control_from_pressed_qntm_004.png Binary files differnew file mode 100644 index 0000000..e2277bd --- /dev/null +++ b/core/res/res/drawable-hdpi/scrubber_control_from_pressed_qntm_004.png diff --git a/core/res/res/drawable-hdpi/scrubber_control_from_pressed_qntm_005.png b/core/res/res/drawable-hdpi/scrubber_control_from_pressed_qntm_005.png Binary files differnew file mode 100644 index 0000000..b502e22 --- /dev/null +++ b/core/res/res/drawable-hdpi/scrubber_control_from_pressed_qntm_005.png diff --git a/core/res/res/drawable-hdpi/scrubber_control_to_pressed_qntm_000.png b/core/res/res/drawable-hdpi/scrubber_control_to_pressed_qntm_000.png Binary files differnew file mode 100644 index 0000000..a70be2c --- /dev/null +++ b/core/res/res/drawable-hdpi/scrubber_control_to_pressed_qntm_000.png diff --git a/core/res/res/drawable-hdpi/scrubber_control_to_pressed_qntm_001.png b/core/res/res/drawable-hdpi/scrubber_control_to_pressed_qntm_001.png Binary files differnew file mode 100644 index 0000000..9442316 --- /dev/null +++ b/core/res/res/drawable-hdpi/scrubber_control_to_pressed_qntm_001.png diff --git a/core/res/res/drawable-hdpi/scrubber_control_to_pressed_qntm_002.png b/core/res/res/drawable-hdpi/scrubber_control_to_pressed_qntm_002.png Binary files differnew file mode 100644 index 0000000..33db4a88 --- /dev/null +++ b/core/res/res/drawable-hdpi/scrubber_control_to_pressed_qntm_002.png diff --git a/core/res/res/drawable-hdpi/scrubber_control_to_pressed_qntm_003.png b/core/res/res/drawable-hdpi/scrubber_control_to_pressed_qntm_003.png Binary files differnew file mode 100644 index 0000000..4e1cd16 --- /dev/null +++ b/core/res/res/drawable-hdpi/scrubber_control_to_pressed_qntm_003.png diff --git a/core/res/res/drawable-hdpi/scrubber_control_to_pressed_qntm_004.png b/core/res/res/drawable-hdpi/scrubber_control_to_pressed_qntm_004.png Binary files differnew file mode 100644 index 0000000..d5254f4 --- /dev/null +++ b/core/res/res/drawable-hdpi/scrubber_control_to_pressed_qntm_004.png diff --git a/core/res/res/drawable-hdpi/scrubber_control_to_pressed_qntm_005.png b/core/res/res/drawable-hdpi/scrubber_control_to_pressed_qntm_005.png Binary files differnew file mode 100644 index 0000000..7aa0a3e --- /dev/null +++ b/core/res/res/drawable-hdpi/scrubber_control_to_pressed_qntm_005.png diff --git a/core/res/res/drawable-hdpi/switch_off_qntm_alpha.9.png b/core/res/res/drawable-hdpi/switch_off_qntm_alpha.9.png Binary files differdeleted file mode 100644 index 73e8f1c..0000000 --- a/core/res/res/drawable-hdpi/switch_off_qntm_alpha.9.png +++ /dev/null diff --git a/core/res/res/drawable-hdpi/switch_on_qntm_alpha.9.png b/core/res/res/drawable-hdpi/switch_on_qntm_alpha.9.png Binary files differdeleted file mode 100644 index ff6affe..0000000 --- a/core/res/res/drawable-hdpi/switch_on_qntm_alpha.9.png +++ /dev/null diff --git a/core/res/res/drawable-hdpi/switch_track_qntm_alpha.9.png b/core/res/res/drawable-hdpi/switch_track_qntm_alpha.9.png Binary files differindex b11de9e..ac1fc23 100644 --- a/core/res/res/drawable-hdpi/switch_track_qntm_alpha.9.png +++ b/core/res/res/drawable-hdpi/switch_track_qntm_alpha.9.png diff --git a/core/res/res/drawable-hdpi/text_select_handle_left_qntm_alpha.png b/core/res/res/drawable-hdpi/text_select_handle_left_qntm_alpha.png Binary files differindex 598b98c..9cdc25b 100644 --- a/core/res/res/drawable-hdpi/text_select_handle_left_qntm_alpha.png +++ b/core/res/res/drawable-hdpi/text_select_handle_left_qntm_alpha.png diff --git a/core/res/res/drawable-hdpi/text_select_handle_right_qntm_alpha.png b/core/res/res/drawable-hdpi/text_select_handle_right_qntm_alpha.png Binary files differindex 79fe7c5..276d480 100644 --- a/core/res/res/drawable-hdpi/text_select_handle_right_qntm_alpha.png +++ b/core/res/res/drawable-hdpi/text_select_handle_right_qntm_alpha.png diff --git a/core/res/res/drawable-mdpi/btn_check_anim_00000_qntm_alpha.png b/core/res/res/drawable-mdpi/btn_check_anim_00000_qntm_alpha.png Binary files differdeleted file mode 100644 index 0f44ff9..0000000 --- a/core/res/res/drawable-mdpi/btn_check_anim_00000_qntm_alpha.png +++ /dev/null diff --git a/core/res/res/drawable-mdpi/btn_check_anim_00001_qntm_alpha.png b/core/res/res/drawable-mdpi/btn_check_anim_00001_qntm_alpha.png Binary files differdeleted file mode 100644 index 9d5dda0..0000000 --- a/core/res/res/drawable-mdpi/btn_check_anim_00001_qntm_alpha.png +++ /dev/null diff --git a/core/res/res/drawable-mdpi/btn_check_anim_00002_qntm_alpha.png b/core/res/res/drawable-mdpi/btn_check_anim_00002_qntm_alpha.png Binary files differdeleted file mode 100644 index e4ce802..0000000 --- a/core/res/res/drawable-mdpi/btn_check_anim_00002_qntm_alpha.png +++ /dev/null diff --git a/core/res/res/drawable-mdpi/btn_check_anim_00003_qntm_alpha.png b/core/res/res/drawable-mdpi/btn_check_anim_00003_qntm_alpha.png Binary files differdeleted file mode 100644 index d1806ac..0000000 --- a/core/res/res/drawable-mdpi/btn_check_anim_00003_qntm_alpha.png +++ /dev/null diff --git a/core/res/res/drawable-mdpi/btn_check_anim_00004_qntm_alpha.png b/core/res/res/drawable-mdpi/btn_check_anim_00004_qntm_alpha.png Binary files differdeleted file mode 100644 index ab9315b..0000000 --- a/core/res/res/drawable-mdpi/btn_check_anim_00004_qntm_alpha.png +++ /dev/null diff --git a/core/res/res/drawable-mdpi/btn_check_anim_00005_qntm_alpha.png b/core/res/res/drawable-mdpi/btn_check_anim_00005_qntm_alpha.png Binary files differdeleted file mode 100644 index 46e90e6..0000000 --- a/core/res/res/drawable-mdpi/btn_check_anim_00005_qntm_alpha.png +++ /dev/null diff --git a/core/res/res/drawable-mdpi/btn_check_anim_00006_qntm_alpha.png b/core/res/res/drawable-mdpi/btn_check_anim_00006_qntm_alpha.png Binary files differdeleted file mode 100644 index e8c56ff..0000000 --- a/core/res/res/drawable-mdpi/btn_check_anim_00006_qntm_alpha.png +++ /dev/null diff --git a/core/res/res/drawable-mdpi/btn_check_anim_00007_qntm_alpha.png b/core/res/res/drawable-mdpi/btn_check_anim_00007_qntm_alpha.png Binary files differdeleted file mode 100644 index 59dcb7e..0000000 --- a/core/res/res/drawable-mdpi/btn_check_anim_00007_qntm_alpha.png +++ /dev/null diff --git a/core/res/res/drawable-mdpi/btn_check_anim_00008_qntm_alpha.png b/core/res/res/drawable-mdpi/btn_check_anim_00008_qntm_alpha.png Binary files differdeleted file mode 100644 index e9bd4a2..0000000 --- a/core/res/res/drawable-mdpi/btn_check_anim_00008_qntm_alpha.png +++ /dev/null diff --git a/core/res/res/drawable-mdpi/btn_check_anim_00009_qntm_alpha.png b/core/res/res/drawable-mdpi/btn_check_anim_00009_qntm_alpha.png Binary files differdeleted file mode 100644 index 1d05037..0000000 --- a/core/res/res/drawable-mdpi/btn_check_anim_00009_qntm_alpha.png +++ /dev/null diff --git a/core/res/res/drawable-mdpi/btn_check_anim_00010_qntm_alpha.png b/core/res/res/drawable-mdpi/btn_check_anim_00010_qntm_alpha.png Binary files differdeleted file mode 100644 index 91b40de..0000000 --- a/core/res/res/drawable-mdpi/btn_check_anim_00010_qntm_alpha.png +++ /dev/null diff --git a/core/res/res/drawable-mdpi/btn_check_anim_00011_qntm_alpha.png b/core/res/res/drawable-mdpi/btn_check_anim_00011_qntm_alpha.png Binary files differdeleted file mode 100644 index c531cab..0000000 --- a/core/res/res/drawable-mdpi/btn_check_anim_00011_qntm_alpha.png +++ /dev/null diff --git a/core/res/res/drawable-mdpi/btn_check_anim_00012_qntm_alpha.png b/core/res/res/drawable-mdpi/btn_check_anim_00012_qntm_alpha.png Binary files differdeleted file mode 100644 index 11bb387..0000000 --- a/core/res/res/drawable-mdpi/btn_check_anim_00012_qntm_alpha.png +++ /dev/null diff --git a/core/res/res/drawable-mdpi/btn_check_anim_00013_qntm_alpha.png b/core/res/res/drawable-mdpi/btn_check_anim_00013_qntm_alpha.png Binary files differdeleted file mode 100644 index 8843210..0000000 --- a/core/res/res/drawable-mdpi/btn_check_anim_00013_qntm_alpha.png +++ /dev/null diff --git a/core/res/res/drawable-mdpi/btn_check_anim_00014_qntm_alpha.png b/core/res/res/drawable-mdpi/btn_check_anim_00014_qntm_alpha.png Binary files differdeleted file mode 100644 index 6ff2f3d..0000000 --- a/core/res/res/drawable-mdpi/btn_check_anim_00014_qntm_alpha.png +++ /dev/null diff --git a/core/res/res/drawable-mdpi/btn_check_anim_00015_qntm_alpha.png b/core/res/res/drawable-mdpi/btn_check_anim_00015_qntm_alpha.png Binary files differdeleted file mode 100644 index a03c1e2..0000000 --- a/core/res/res/drawable-mdpi/btn_check_anim_00015_qntm_alpha.png +++ /dev/null diff --git a/core/res/res/drawable-mdpi/btn_check_off_qntm_alpha.png b/core/res/res/drawable-mdpi/btn_check_off_qntm_alpha.png Binary files differdeleted file mode 100644 index 2ab6b7f..0000000 --- a/core/res/res/drawable-mdpi/btn_check_off_qntm_alpha.png +++ /dev/null diff --git a/core/res/res/drawable-mdpi/btn_check_on_qntm_alpha.png b/core/res/res/drawable-mdpi/btn_check_on_qntm_alpha.png Binary files differdeleted file mode 100644 index 2211d83..0000000 --- a/core/res/res/drawable-mdpi/btn_check_on_qntm_alpha.png +++ /dev/null diff --git a/core/res/res/drawable-mdpi/btn_check_to_off_qntm_000.png b/core/res/res/drawable-mdpi/btn_check_to_off_qntm_000.png Binary files differnew file mode 100644 index 0000000..9759818 --- /dev/null +++ b/core/res/res/drawable-mdpi/btn_check_to_off_qntm_000.png diff --git a/core/res/res/drawable-mdpi/btn_check_to_off_qntm_001.png b/core/res/res/drawable-mdpi/btn_check_to_off_qntm_001.png Binary files differnew file mode 100644 index 0000000..4eb2c4f --- /dev/null +++ b/core/res/res/drawable-mdpi/btn_check_to_off_qntm_001.png diff --git a/core/res/res/drawable-mdpi/btn_check_to_off_qntm_002.png b/core/res/res/drawable-mdpi/btn_check_to_off_qntm_002.png Binary files differnew file mode 100644 index 0000000..e6d6b42 --- /dev/null +++ b/core/res/res/drawable-mdpi/btn_check_to_off_qntm_002.png diff --git a/core/res/res/drawable-mdpi/btn_check_to_off_qntm_003.png b/core/res/res/drawable-mdpi/btn_check_to_off_qntm_003.png Binary files differnew file mode 100644 index 0000000..03cb23a --- /dev/null +++ b/core/res/res/drawable-mdpi/btn_check_to_off_qntm_003.png diff --git a/core/res/res/drawable-mdpi/btn_check_to_off_qntm_004.png b/core/res/res/drawable-mdpi/btn_check_to_off_qntm_004.png Binary files differnew file mode 100644 index 0000000..bfe3c3d --- /dev/null +++ b/core/res/res/drawable-mdpi/btn_check_to_off_qntm_004.png diff --git a/core/res/res/drawable-mdpi/btn_check_to_off_qntm_005.png b/core/res/res/drawable-mdpi/btn_check_to_off_qntm_005.png Binary files differnew file mode 100644 index 0000000..65bdf42 --- /dev/null +++ b/core/res/res/drawable-mdpi/btn_check_to_off_qntm_005.png diff --git a/core/res/res/drawable-mdpi/btn_check_to_off_qntm_006.png b/core/res/res/drawable-mdpi/btn_check_to_off_qntm_006.png Binary files differnew file mode 100644 index 0000000..44f9614b --- /dev/null +++ b/core/res/res/drawable-mdpi/btn_check_to_off_qntm_006.png diff --git a/core/res/res/drawable-mdpi/btn_check_to_off_qntm_007.png b/core/res/res/drawable-mdpi/btn_check_to_off_qntm_007.png Binary files differnew file mode 100644 index 0000000..cf8ec38 --- /dev/null +++ b/core/res/res/drawable-mdpi/btn_check_to_off_qntm_007.png diff --git a/core/res/res/drawable-mdpi/btn_check_to_off_qntm_008.png b/core/res/res/drawable-mdpi/btn_check_to_off_qntm_008.png Binary files differnew file mode 100644 index 0000000..4d624b3 --- /dev/null +++ b/core/res/res/drawable-mdpi/btn_check_to_off_qntm_008.png diff --git a/core/res/res/drawable-mdpi/btn_check_to_off_qntm_009.png b/core/res/res/drawable-mdpi/btn_check_to_off_qntm_009.png Binary files differnew file mode 100644 index 0000000..7c4eb7f --- /dev/null +++ b/core/res/res/drawable-mdpi/btn_check_to_off_qntm_009.png diff --git a/core/res/res/drawable-mdpi/btn_check_to_off_qntm_010.png b/core/res/res/drawable-mdpi/btn_check_to_off_qntm_010.png Binary files differnew file mode 100644 index 0000000..e90dd31 --- /dev/null +++ b/core/res/res/drawable-mdpi/btn_check_to_off_qntm_010.png diff --git a/core/res/res/drawable-mdpi/btn_check_to_off_qntm_011.png b/core/res/res/drawable-mdpi/btn_check_to_off_qntm_011.png Binary files differnew file mode 100644 index 0000000..831c0e8 --- /dev/null +++ b/core/res/res/drawable-mdpi/btn_check_to_off_qntm_011.png diff --git a/core/res/res/drawable-mdpi/btn_check_to_off_qntm_012.png b/core/res/res/drawable-mdpi/btn_check_to_off_qntm_012.png Binary files differnew file mode 100644 index 0000000..7355dfd --- /dev/null +++ b/core/res/res/drawable-mdpi/btn_check_to_off_qntm_012.png diff --git a/core/res/res/drawable-mdpi/btn_check_to_off_qntm_013.png b/core/res/res/drawable-mdpi/btn_check_to_off_qntm_013.png Binary files differnew file mode 100644 index 0000000..be71a69 --- /dev/null +++ b/core/res/res/drawable-mdpi/btn_check_to_off_qntm_013.png diff --git a/core/res/res/drawable-mdpi/btn_check_to_off_qntm_014.png b/core/res/res/drawable-mdpi/btn_check_to_off_qntm_014.png Binary files differnew file mode 100644 index 0000000..a4a185b --- /dev/null +++ b/core/res/res/drawable-mdpi/btn_check_to_off_qntm_014.png diff --git a/core/res/res/drawable-mdpi/btn_check_to_off_qntm_015.png b/core/res/res/drawable-mdpi/btn_check_to_off_qntm_015.png Binary files differnew file mode 100644 index 0000000..8d0386f --- /dev/null +++ b/core/res/res/drawable-mdpi/btn_check_to_off_qntm_015.png diff --git a/core/res/res/drawable-mdpi/btn_check_to_on_qntm_000.png b/core/res/res/drawable-mdpi/btn_check_to_on_qntm_000.png Binary files differnew file mode 100644 index 0000000..70793c4 --- /dev/null +++ b/core/res/res/drawable-mdpi/btn_check_to_on_qntm_000.png diff --git a/core/res/res/drawable-mdpi/btn_check_to_on_qntm_001.png b/core/res/res/drawable-mdpi/btn_check_to_on_qntm_001.png Binary files differnew file mode 100644 index 0000000..632082b --- /dev/null +++ b/core/res/res/drawable-mdpi/btn_check_to_on_qntm_001.png diff --git a/core/res/res/drawable-mdpi/btn_check_to_on_qntm_002.png b/core/res/res/drawable-mdpi/btn_check_to_on_qntm_002.png Binary files differnew file mode 100644 index 0000000..e7fc5fb --- /dev/null +++ b/core/res/res/drawable-mdpi/btn_check_to_on_qntm_002.png diff --git a/core/res/res/drawable-mdpi/btn_check_to_on_qntm_003.png b/core/res/res/drawable-mdpi/btn_check_to_on_qntm_003.png Binary files differnew file mode 100644 index 0000000..91a0a33 --- /dev/null +++ b/core/res/res/drawable-mdpi/btn_check_to_on_qntm_003.png diff --git a/core/res/res/drawable-mdpi/btn_check_to_on_qntm_004.png b/core/res/res/drawable-mdpi/btn_check_to_on_qntm_004.png Binary files differnew file mode 100644 index 0000000..3bd90d6 --- /dev/null +++ b/core/res/res/drawable-mdpi/btn_check_to_on_qntm_004.png diff --git a/core/res/res/drawable-mdpi/btn_check_to_on_qntm_005.png b/core/res/res/drawable-mdpi/btn_check_to_on_qntm_005.png Binary files differnew file mode 100644 index 0000000..5ac39ec --- /dev/null +++ b/core/res/res/drawable-mdpi/btn_check_to_on_qntm_005.png diff --git a/core/res/res/drawable-mdpi/btn_check_to_on_qntm_006.png b/core/res/res/drawable-mdpi/btn_check_to_on_qntm_006.png Binary files differnew file mode 100644 index 0000000..4181983 --- /dev/null +++ b/core/res/res/drawable-mdpi/btn_check_to_on_qntm_006.png diff --git a/core/res/res/drawable-mdpi/btn_check_to_on_qntm_007.png b/core/res/res/drawable-mdpi/btn_check_to_on_qntm_007.png Binary files differnew file mode 100644 index 0000000..c8b04df --- /dev/null +++ b/core/res/res/drawable-mdpi/btn_check_to_on_qntm_007.png diff --git a/core/res/res/drawable-mdpi/btn_check_to_on_qntm_008.png b/core/res/res/drawable-mdpi/btn_check_to_on_qntm_008.png Binary files differnew file mode 100644 index 0000000..b7b3a9f --- /dev/null +++ b/core/res/res/drawable-mdpi/btn_check_to_on_qntm_008.png diff --git a/core/res/res/drawable-mdpi/btn_check_to_on_qntm_009.png b/core/res/res/drawable-mdpi/btn_check_to_on_qntm_009.png Binary files differnew file mode 100644 index 0000000..62bc4ed --- /dev/null +++ b/core/res/res/drawable-mdpi/btn_check_to_on_qntm_009.png diff --git a/core/res/res/drawable-mdpi/btn_check_to_on_qntm_010.png b/core/res/res/drawable-mdpi/btn_check_to_on_qntm_010.png Binary files differnew file mode 100644 index 0000000..ac463ad --- /dev/null +++ b/core/res/res/drawable-mdpi/btn_check_to_on_qntm_010.png diff --git a/core/res/res/drawable-mdpi/btn_check_to_on_qntm_011.png b/core/res/res/drawable-mdpi/btn_check_to_on_qntm_011.png Binary files differnew file mode 100644 index 0000000..12b605d --- /dev/null +++ b/core/res/res/drawable-mdpi/btn_check_to_on_qntm_011.png diff --git a/core/res/res/drawable-mdpi/btn_check_to_on_qntm_012.png b/core/res/res/drawable-mdpi/btn_check_to_on_qntm_012.png Binary files differnew file mode 100644 index 0000000..63a3c6a --- /dev/null +++ b/core/res/res/drawable-mdpi/btn_check_to_on_qntm_012.png diff --git a/core/res/res/drawable-mdpi/btn_check_to_on_qntm_013.png b/core/res/res/drawable-mdpi/btn_check_to_on_qntm_013.png Binary files differnew file mode 100644 index 0000000..17660c4 --- /dev/null +++ b/core/res/res/drawable-mdpi/btn_check_to_on_qntm_013.png diff --git a/core/res/res/drawable-mdpi/btn_check_to_on_qntm_014.png b/core/res/res/drawable-mdpi/btn_check_to_on_qntm_014.png Binary files differnew file mode 100644 index 0000000..7d9de3d --- /dev/null +++ b/core/res/res/drawable-mdpi/btn_check_to_on_qntm_014.png diff --git a/core/res/res/drawable-mdpi/btn_check_to_on_qntm_015.png b/core/res/res/drawable-mdpi/btn_check_to_on_qntm_015.png Binary files differnew file mode 100644 index 0000000..8aa1be2 --- /dev/null +++ b/core/res/res/drawable-mdpi/btn_check_to_on_qntm_015.png diff --git a/core/res/res/drawable-mdpi/btn_radio_anim_00000_qntm_alpha.png b/core/res/res/drawable-mdpi/btn_radio_anim_00000_qntm_alpha.png Binary files differdeleted file mode 100644 index 0a22e1a..0000000 --- a/core/res/res/drawable-mdpi/btn_radio_anim_00000_qntm_alpha.png +++ /dev/null diff --git a/core/res/res/drawable-mdpi/btn_radio_anim_00001_qntm_alpha.png b/core/res/res/drawable-mdpi/btn_radio_anim_00001_qntm_alpha.png Binary files differdeleted file mode 100644 index 2e2469c..0000000 --- a/core/res/res/drawable-mdpi/btn_radio_anim_00001_qntm_alpha.png +++ /dev/null diff --git a/core/res/res/drawable-mdpi/btn_radio_anim_00002_qntm_alpha.png b/core/res/res/drawable-mdpi/btn_radio_anim_00002_qntm_alpha.png Binary files differdeleted file mode 100644 index c1054d9..0000000 --- a/core/res/res/drawable-mdpi/btn_radio_anim_00002_qntm_alpha.png +++ /dev/null diff --git a/core/res/res/drawable-mdpi/btn_radio_anim_00003_qntm_alpha.png b/core/res/res/drawable-mdpi/btn_radio_anim_00003_qntm_alpha.png Binary files differdeleted file mode 100644 index cf8d80a..0000000 --- a/core/res/res/drawable-mdpi/btn_radio_anim_00003_qntm_alpha.png +++ /dev/null diff --git a/core/res/res/drawable-mdpi/btn_radio_anim_00004_qntm_alpha.png b/core/res/res/drawable-mdpi/btn_radio_anim_00004_qntm_alpha.png Binary files differdeleted file mode 100644 index 9d9e870..0000000 --- a/core/res/res/drawable-mdpi/btn_radio_anim_00004_qntm_alpha.png +++ /dev/null diff --git a/core/res/res/drawable-mdpi/btn_radio_anim_00005_qntm_alpha.png b/core/res/res/drawable-mdpi/btn_radio_anim_00005_qntm_alpha.png Binary files differdeleted file mode 100644 index 1bad701..0000000 --- a/core/res/res/drawable-mdpi/btn_radio_anim_00005_qntm_alpha.png +++ /dev/null diff --git a/core/res/res/drawable-mdpi/btn_radio_anim_00006_qntm_alpha.png b/core/res/res/drawable-mdpi/btn_radio_anim_00006_qntm_alpha.png Binary files differdeleted file mode 100644 index a84a54f..0000000 --- a/core/res/res/drawable-mdpi/btn_radio_anim_00006_qntm_alpha.png +++ /dev/null diff --git a/core/res/res/drawable-mdpi/btn_radio_anim_00007_qntm_alpha.png b/core/res/res/drawable-mdpi/btn_radio_anim_00007_qntm_alpha.png Binary files differdeleted file mode 100644 index 4d8050b..0000000 --- a/core/res/res/drawable-mdpi/btn_radio_anim_00007_qntm_alpha.png +++ /dev/null diff --git a/core/res/res/drawable-mdpi/btn_radio_anim_00008_qntm_alpha.png b/core/res/res/drawable-mdpi/btn_radio_anim_00008_qntm_alpha.png Binary files differdeleted file mode 100644 index 374172c..0000000 --- a/core/res/res/drawable-mdpi/btn_radio_anim_00008_qntm_alpha.png +++ /dev/null diff --git a/core/res/res/drawable-mdpi/btn_radio_anim_00009_qntm_alpha.png b/core/res/res/drawable-mdpi/btn_radio_anim_00009_qntm_alpha.png Binary files differdeleted file mode 100644 index 233036e..0000000 --- a/core/res/res/drawable-mdpi/btn_radio_anim_00009_qntm_alpha.png +++ /dev/null diff --git a/core/res/res/drawable-mdpi/btn_radio_anim_00010_qntm_alpha.png b/core/res/res/drawable-mdpi/btn_radio_anim_00010_qntm_alpha.png Binary files differdeleted file mode 100644 index 61d9b58..0000000 --- a/core/res/res/drawable-mdpi/btn_radio_anim_00010_qntm_alpha.png +++ /dev/null diff --git a/core/res/res/drawable-mdpi/btn_radio_anim_00011_qntm_alpha.png b/core/res/res/drawable-mdpi/btn_radio_anim_00011_qntm_alpha.png Binary files differdeleted file mode 100644 index 274e983..0000000 --- a/core/res/res/drawable-mdpi/btn_radio_anim_00011_qntm_alpha.png +++ /dev/null diff --git a/core/res/res/drawable-mdpi/btn_radio_anim_00012_qntm_alpha.png b/core/res/res/drawable-mdpi/btn_radio_anim_00012_qntm_alpha.png Binary files differdeleted file mode 100644 index acf16e5..0000000 --- a/core/res/res/drawable-mdpi/btn_radio_anim_00012_qntm_alpha.png +++ /dev/null diff --git a/core/res/res/drawable-mdpi/btn_radio_anim_00013_qntm_alpha.png b/core/res/res/drawable-mdpi/btn_radio_anim_00013_qntm_alpha.png Binary files differdeleted file mode 100644 index ee48241..0000000 --- a/core/res/res/drawable-mdpi/btn_radio_anim_00013_qntm_alpha.png +++ /dev/null diff --git a/core/res/res/drawable-mdpi/btn_radio_anim_00014_qntm_alpha.png b/core/res/res/drawable-mdpi/btn_radio_anim_00014_qntm_alpha.png Binary files differdeleted file mode 100644 index dbbb736..0000000 --- a/core/res/res/drawable-mdpi/btn_radio_anim_00014_qntm_alpha.png +++ /dev/null diff --git a/core/res/res/drawable-mdpi/btn_radio_anim_00015_qntm_alpha.png b/core/res/res/drawable-mdpi/btn_radio_anim_00015_qntm_alpha.png Binary files differdeleted file mode 100644 index bcabd0d..0000000 --- a/core/res/res/drawable-mdpi/btn_radio_anim_00015_qntm_alpha.png +++ /dev/null diff --git a/core/res/res/drawable-mdpi/btn_radio_off_pressed_qntm_alpha.png b/core/res/res/drawable-mdpi/btn_radio_off_pressed_qntm_alpha.png Binary files differdeleted file mode 100644 index 713fee8..0000000 --- a/core/res/res/drawable-mdpi/btn_radio_off_pressed_qntm_alpha.png +++ /dev/null diff --git a/core/res/res/drawable-mdpi/btn_radio_off_qntm_alpha.png b/core/res/res/drawable-mdpi/btn_radio_off_qntm_alpha.png Binary files differdeleted file mode 100644 index dcb90d0..0000000 --- a/core/res/res/drawable-mdpi/btn_radio_off_qntm_alpha.png +++ /dev/null diff --git a/core/res/res/drawable-mdpi/btn_radio_to_off_qntm_000.png b/core/res/res/drawable-mdpi/btn_radio_to_off_qntm_000.png Binary files differnew file mode 100644 index 0000000..a2b7fce --- /dev/null +++ b/core/res/res/drawable-mdpi/btn_radio_to_off_qntm_000.png diff --git a/core/res/res/drawable-mdpi/btn_radio_to_off_qntm_001.png b/core/res/res/drawable-mdpi/btn_radio_to_off_qntm_001.png Binary files differnew file mode 100644 index 0000000..fe0d3b1 --- /dev/null +++ b/core/res/res/drawable-mdpi/btn_radio_to_off_qntm_001.png diff --git a/core/res/res/drawable-mdpi/btn_radio_to_off_qntm_002.png b/core/res/res/drawable-mdpi/btn_radio_to_off_qntm_002.png Binary files differnew file mode 100644 index 0000000..d66d00d --- /dev/null +++ b/core/res/res/drawable-mdpi/btn_radio_to_off_qntm_002.png diff --git a/core/res/res/drawable-mdpi/btn_radio_to_off_qntm_003.png b/core/res/res/drawable-mdpi/btn_radio_to_off_qntm_003.png Binary files differnew file mode 100644 index 0000000..2f2f5cd --- /dev/null +++ b/core/res/res/drawable-mdpi/btn_radio_to_off_qntm_003.png diff --git a/core/res/res/drawable-mdpi/btn_radio_to_off_qntm_004.png b/core/res/res/drawable-mdpi/btn_radio_to_off_qntm_004.png Binary files differnew file mode 100644 index 0000000..72c9495 --- /dev/null +++ b/core/res/res/drawable-mdpi/btn_radio_to_off_qntm_004.png diff --git a/core/res/res/drawable-mdpi/btn_radio_to_off_qntm_005.png b/core/res/res/drawable-mdpi/btn_radio_to_off_qntm_005.png Binary files differnew file mode 100644 index 0000000..7d9090f --- /dev/null +++ b/core/res/res/drawable-mdpi/btn_radio_to_off_qntm_005.png diff --git a/core/res/res/drawable-mdpi/btn_radio_to_off_qntm_006.png b/core/res/res/drawable-mdpi/btn_radio_to_off_qntm_006.png Binary files differnew file mode 100644 index 0000000..c5442e8 --- /dev/null +++ b/core/res/res/drawable-mdpi/btn_radio_to_off_qntm_006.png diff --git a/core/res/res/drawable-mdpi/btn_radio_to_off_qntm_007.png b/core/res/res/drawable-mdpi/btn_radio_to_off_qntm_007.png Binary files differnew file mode 100644 index 0000000..ca80cdb --- /dev/null +++ b/core/res/res/drawable-mdpi/btn_radio_to_off_qntm_007.png diff --git a/core/res/res/drawable-mdpi/btn_radio_to_off_qntm_008.png b/core/res/res/drawable-mdpi/btn_radio_to_off_qntm_008.png Binary files differnew file mode 100644 index 0000000..d41a10b --- /dev/null +++ b/core/res/res/drawable-mdpi/btn_radio_to_off_qntm_008.png diff --git a/core/res/res/drawable-mdpi/btn_radio_to_off_qntm_009.png b/core/res/res/drawable-mdpi/btn_radio_to_off_qntm_009.png Binary files differnew file mode 100644 index 0000000..262c838 --- /dev/null +++ b/core/res/res/drawable-mdpi/btn_radio_to_off_qntm_009.png diff --git a/core/res/res/drawable-mdpi/btn_radio_to_off_qntm_010.png b/core/res/res/drawable-mdpi/btn_radio_to_off_qntm_010.png Binary files differnew file mode 100644 index 0000000..7f6ea8b --- /dev/null +++ b/core/res/res/drawable-mdpi/btn_radio_to_off_qntm_010.png diff --git a/core/res/res/drawable-mdpi/btn_radio_to_off_qntm_011.png b/core/res/res/drawable-mdpi/btn_radio_to_off_qntm_011.png Binary files differnew file mode 100644 index 0000000..8d50a81 --- /dev/null +++ b/core/res/res/drawable-mdpi/btn_radio_to_off_qntm_011.png diff --git a/core/res/res/drawable-mdpi/btn_radio_to_off_qntm_012.png b/core/res/res/drawable-mdpi/btn_radio_to_off_qntm_012.png Binary files differnew file mode 100644 index 0000000..0725a68 --- /dev/null +++ b/core/res/res/drawable-mdpi/btn_radio_to_off_qntm_012.png diff --git a/core/res/res/drawable-mdpi/btn_radio_to_off_qntm_013.png b/core/res/res/drawable-mdpi/btn_radio_to_off_qntm_013.png Binary files differnew file mode 100644 index 0000000..6191a4b --- /dev/null +++ b/core/res/res/drawable-mdpi/btn_radio_to_off_qntm_013.png diff --git a/core/res/res/drawable-mdpi/btn_radio_to_off_qntm_014.png b/core/res/res/drawable-mdpi/btn_radio_to_off_qntm_014.png Binary files differnew file mode 100644 index 0000000..1904d74 --- /dev/null +++ b/core/res/res/drawable-mdpi/btn_radio_to_off_qntm_014.png diff --git a/core/res/res/drawable-mdpi/btn_radio_to_off_qntm_015.png b/core/res/res/drawable-mdpi/btn_radio_to_off_qntm_015.png Binary files differnew file mode 100644 index 0000000..bec8dda --- /dev/null +++ b/core/res/res/drawable-mdpi/btn_radio_to_off_qntm_015.png diff --git a/core/res/res/drawable-mdpi/btn_radio_to_on_qntm_000.png b/core/res/res/drawable-mdpi/btn_radio_to_on_qntm_000.png Binary files differnew file mode 100644 index 0000000..54ef480 --- /dev/null +++ b/core/res/res/drawable-mdpi/btn_radio_to_on_qntm_000.png diff --git a/core/res/res/drawable-mdpi/btn_radio_to_on_qntm_001.png b/core/res/res/drawable-mdpi/btn_radio_to_on_qntm_001.png Binary files differnew file mode 100644 index 0000000..55c5163 --- /dev/null +++ b/core/res/res/drawable-mdpi/btn_radio_to_on_qntm_001.png diff --git a/core/res/res/drawable-mdpi/btn_radio_to_on_qntm_002.png b/core/res/res/drawable-mdpi/btn_radio_to_on_qntm_002.png Binary files differnew file mode 100644 index 0000000..0fe2a89 --- /dev/null +++ b/core/res/res/drawable-mdpi/btn_radio_to_on_qntm_002.png diff --git a/core/res/res/drawable-mdpi/btn_radio_to_on_qntm_003.png b/core/res/res/drawable-mdpi/btn_radio_to_on_qntm_003.png Binary files differnew file mode 100644 index 0000000..86efab7 --- /dev/null +++ b/core/res/res/drawable-mdpi/btn_radio_to_on_qntm_003.png diff --git a/core/res/res/drawable-mdpi/btn_radio_to_on_qntm_004.png b/core/res/res/drawable-mdpi/btn_radio_to_on_qntm_004.png Binary files differnew file mode 100644 index 0000000..c0a5ca5 --- /dev/null +++ b/core/res/res/drawable-mdpi/btn_radio_to_on_qntm_004.png diff --git a/core/res/res/drawable-mdpi/btn_radio_to_on_qntm_005.png b/core/res/res/drawable-mdpi/btn_radio_to_on_qntm_005.png Binary files differnew file mode 100644 index 0000000..ec55175 --- /dev/null +++ b/core/res/res/drawable-mdpi/btn_radio_to_on_qntm_005.png diff --git a/core/res/res/drawable-mdpi/btn_radio_to_on_qntm_006.png b/core/res/res/drawable-mdpi/btn_radio_to_on_qntm_006.png Binary files differnew file mode 100644 index 0000000..3e4a690 --- /dev/null +++ b/core/res/res/drawable-mdpi/btn_radio_to_on_qntm_006.png diff --git a/core/res/res/drawable-mdpi/btn_radio_to_on_qntm_007.png b/core/res/res/drawable-mdpi/btn_radio_to_on_qntm_007.png Binary files differnew file mode 100644 index 0000000..da49734 --- /dev/null +++ b/core/res/res/drawable-mdpi/btn_radio_to_on_qntm_007.png diff --git a/core/res/res/drawable-mdpi/btn_radio_to_on_qntm_008.png b/core/res/res/drawable-mdpi/btn_radio_to_on_qntm_008.png Binary files differnew file mode 100644 index 0000000..471cda1 --- /dev/null +++ b/core/res/res/drawable-mdpi/btn_radio_to_on_qntm_008.png diff --git a/core/res/res/drawable-mdpi/btn_radio_to_on_qntm_009.png b/core/res/res/drawable-mdpi/btn_radio_to_on_qntm_009.png Binary files differnew file mode 100644 index 0000000..d560262 --- /dev/null +++ b/core/res/res/drawable-mdpi/btn_radio_to_on_qntm_009.png diff --git a/core/res/res/drawable-mdpi/btn_radio_to_on_qntm_010.png b/core/res/res/drawable-mdpi/btn_radio_to_on_qntm_010.png Binary files differnew file mode 100644 index 0000000..f6096b4 --- /dev/null +++ b/core/res/res/drawable-mdpi/btn_radio_to_on_qntm_010.png diff --git a/core/res/res/drawable-mdpi/btn_radio_to_on_qntm_011.png b/core/res/res/drawable-mdpi/btn_radio_to_on_qntm_011.png Binary files differnew file mode 100644 index 0000000..9e2500b --- /dev/null +++ b/core/res/res/drawable-mdpi/btn_radio_to_on_qntm_011.png diff --git a/core/res/res/drawable-mdpi/btn_radio_to_on_qntm_012.png b/core/res/res/drawable-mdpi/btn_radio_to_on_qntm_012.png Binary files differnew file mode 100644 index 0000000..efbac99 --- /dev/null +++ b/core/res/res/drawable-mdpi/btn_radio_to_on_qntm_012.png diff --git a/core/res/res/drawable-mdpi/btn_radio_to_on_qntm_013.png b/core/res/res/drawable-mdpi/btn_radio_to_on_qntm_013.png Binary files differnew file mode 100644 index 0000000..676f0ca --- /dev/null +++ b/core/res/res/drawable-mdpi/btn_radio_to_on_qntm_013.png diff --git a/core/res/res/drawable-mdpi/btn_radio_to_on_qntm_014.png b/core/res/res/drawable-mdpi/btn_radio_to_on_qntm_014.png Binary files differnew file mode 100644 index 0000000..4803157 --- /dev/null +++ b/core/res/res/drawable-mdpi/btn_radio_to_on_qntm_014.png diff --git a/core/res/res/drawable-mdpi/btn_radio_to_on_qntm_015.png b/core/res/res/drawable-mdpi/btn_radio_to_on_qntm_015.png Binary files differnew file mode 100644 index 0000000..4f8a162 --- /dev/null +++ b/core/res/res/drawable-mdpi/btn_radio_to_on_qntm_015.png diff --git a/core/res/res/drawable-mdpi/btn_switch_to_off_qntm_000.png b/core/res/res/drawable-mdpi/btn_switch_to_off_qntm_000.png Binary files differnew file mode 100644 index 0000000..8c3f26c --- /dev/null +++ b/core/res/res/drawable-mdpi/btn_switch_to_off_qntm_000.png diff --git a/core/res/res/drawable-mdpi/btn_switch_to_off_qntm_001.png b/core/res/res/drawable-mdpi/btn_switch_to_off_qntm_001.png Binary files differnew file mode 100644 index 0000000..3617168 --- /dev/null +++ b/core/res/res/drawable-mdpi/btn_switch_to_off_qntm_001.png diff --git a/core/res/res/drawable-mdpi/btn_switch_to_off_qntm_002.png b/core/res/res/drawable-mdpi/btn_switch_to_off_qntm_002.png Binary files differnew file mode 100644 index 0000000..e4366f4 --- /dev/null +++ b/core/res/res/drawable-mdpi/btn_switch_to_off_qntm_002.png diff --git a/core/res/res/drawable-mdpi/btn_switch_to_off_qntm_003.png b/core/res/res/drawable-mdpi/btn_switch_to_off_qntm_003.png Binary files differnew file mode 100644 index 0000000..ea4533b --- /dev/null +++ b/core/res/res/drawable-mdpi/btn_switch_to_off_qntm_003.png diff --git a/core/res/res/drawable-mdpi/btn_switch_to_off_qntm_004.png b/core/res/res/drawable-mdpi/btn_switch_to_off_qntm_004.png Binary files differnew file mode 100644 index 0000000..94aedbb --- /dev/null +++ b/core/res/res/drawable-mdpi/btn_switch_to_off_qntm_004.png diff --git a/core/res/res/drawable-mdpi/btn_switch_to_off_qntm_005.png b/core/res/res/drawable-mdpi/btn_switch_to_off_qntm_005.png Binary files differnew file mode 100644 index 0000000..ef84578 --- /dev/null +++ b/core/res/res/drawable-mdpi/btn_switch_to_off_qntm_005.png diff --git a/core/res/res/drawable-mdpi/btn_switch_to_off_qntm_006.png b/core/res/res/drawable-mdpi/btn_switch_to_off_qntm_006.png Binary files differnew file mode 100644 index 0000000..4de2321 --- /dev/null +++ b/core/res/res/drawable-mdpi/btn_switch_to_off_qntm_006.png diff --git a/core/res/res/drawable-mdpi/btn_switch_to_off_qntm_007.png b/core/res/res/drawable-mdpi/btn_switch_to_off_qntm_007.png Binary files differnew file mode 100644 index 0000000..4de2321 --- /dev/null +++ b/core/res/res/drawable-mdpi/btn_switch_to_off_qntm_007.png diff --git a/core/res/res/drawable-mdpi/btn_switch_to_off_qntm_008.png b/core/res/res/drawable-mdpi/btn_switch_to_off_qntm_008.png Binary files differnew file mode 100644 index 0000000..d62fbd5 --- /dev/null +++ b/core/res/res/drawable-mdpi/btn_switch_to_off_qntm_008.png diff --git a/core/res/res/drawable-mdpi/btn_switch_to_off_qntm_009.png b/core/res/res/drawable-mdpi/btn_switch_to_off_qntm_009.png Binary files differnew file mode 100644 index 0000000..3d87c4e --- /dev/null +++ b/core/res/res/drawable-mdpi/btn_switch_to_off_qntm_009.png diff --git a/core/res/res/drawable-mdpi/btn_switch_to_off_qntm_010.png b/core/res/res/drawable-mdpi/btn_switch_to_off_qntm_010.png Binary files differnew file mode 100644 index 0000000..536ed46 --- /dev/null +++ b/core/res/res/drawable-mdpi/btn_switch_to_off_qntm_010.png diff --git a/core/res/res/drawable-mdpi/btn_switch_to_off_qntm_011.png b/core/res/res/drawable-mdpi/btn_switch_to_off_qntm_011.png Binary files differnew file mode 100644 index 0000000..536ed46 --- /dev/null +++ b/core/res/res/drawable-mdpi/btn_switch_to_off_qntm_011.png diff --git a/core/res/res/drawable-mdpi/btn_switch_to_off_qntm_012.png b/core/res/res/drawable-mdpi/btn_switch_to_off_qntm_012.png Binary files differnew file mode 100644 index 0000000..536ed46 --- /dev/null +++ b/core/res/res/drawable-mdpi/btn_switch_to_off_qntm_012.png diff --git a/core/res/res/drawable-mdpi/btn_switch_to_off_qntm_013.png b/core/res/res/drawable-mdpi/btn_switch_to_off_qntm_013.png Binary files differnew file mode 100644 index 0000000..536ed46 --- /dev/null +++ b/core/res/res/drawable-mdpi/btn_switch_to_off_qntm_013.png diff --git a/core/res/res/drawable-mdpi/btn_switch_to_off_qntm_014.png b/core/res/res/drawable-mdpi/btn_switch_to_off_qntm_014.png Binary files differnew file mode 100644 index 0000000..536ed46 --- /dev/null +++ b/core/res/res/drawable-mdpi/btn_switch_to_off_qntm_014.png diff --git a/core/res/res/drawable-mdpi/btn_switch_to_on_qntm_000.png b/core/res/res/drawable-mdpi/btn_switch_to_on_qntm_000.png Binary files differnew file mode 100644 index 0000000..f5b660d --- /dev/null +++ b/core/res/res/drawable-mdpi/btn_switch_to_on_qntm_000.png diff --git a/core/res/res/drawable-mdpi/btn_switch_to_on_qntm_001.png b/core/res/res/drawable-mdpi/btn_switch_to_on_qntm_001.png Binary files differnew file mode 100644 index 0000000..9e4db6c --- /dev/null +++ b/core/res/res/drawable-mdpi/btn_switch_to_on_qntm_001.png diff --git a/core/res/res/drawable-mdpi/btn_switch_to_on_qntm_002.png b/core/res/res/drawable-mdpi/btn_switch_to_on_qntm_002.png Binary files differnew file mode 100644 index 0000000..7de2128 --- /dev/null +++ b/core/res/res/drawable-mdpi/btn_switch_to_on_qntm_002.png diff --git a/core/res/res/drawable-mdpi/btn_switch_to_on_qntm_003.png b/core/res/res/drawable-mdpi/btn_switch_to_on_qntm_003.png Binary files differnew file mode 100644 index 0000000..1980c2c --- /dev/null +++ b/core/res/res/drawable-mdpi/btn_switch_to_on_qntm_003.png diff --git a/core/res/res/drawable-mdpi/btn_switch_to_on_qntm_004.png b/core/res/res/drawable-mdpi/btn_switch_to_on_qntm_004.png Binary files differnew file mode 100644 index 0000000..6e73ef0 --- /dev/null +++ b/core/res/res/drawable-mdpi/btn_switch_to_on_qntm_004.png diff --git a/core/res/res/drawable-mdpi/btn_switch_to_on_qntm_005.png b/core/res/res/drawable-mdpi/btn_switch_to_on_qntm_005.png Binary files differnew file mode 100644 index 0000000..f897392 --- /dev/null +++ b/core/res/res/drawable-mdpi/btn_switch_to_on_qntm_005.png diff --git a/core/res/res/drawable-mdpi/btn_switch_to_on_qntm_006.png b/core/res/res/drawable-mdpi/btn_switch_to_on_qntm_006.png Binary files differnew file mode 100644 index 0000000..74a6ebd --- /dev/null +++ b/core/res/res/drawable-mdpi/btn_switch_to_on_qntm_006.png diff --git a/core/res/res/drawable-mdpi/btn_switch_to_on_qntm_007.png b/core/res/res/drawable-mdpi/btn_switch_to_on_qntm_007.png Binary files differnew file mode 100644 index 0000000..3617168 --- /dev/null +++ b/core/res/res/drawable-mdpi/btn_switch_to_on_qntm_007.png diff --git a/core/res/res/drawable-mdpi/btn_switch_to_on_qntm_008.png b/core/res/res/drawable-mdpi/btn_switch_to_on_qntm_008.png Binary files differnew file mode 100644 index 0000000..884eb66 --- /dev/null +++ b/core/res/res/drawable-mdpi/btn_switch_to_on_qntm_008.png diff --git a/core/res/res/drawable-mdpi/btn_switch_to_on_qntm_009.png b/core/res/res/drawable-mdpi/btn_switch_to_on_qntm_009.png Binary files differnew file mode 100644 index 0000000..8c3f26c --- /dev/null +++ b/core/res/res/drawable-mdpi/btn_switch_to_on_qntm_009.png diff --git a/core/res/res/drawable-mdpi/btn_switch_to_on_qntm_010.png b/core/res/res/drawable-mdpi/btn_switch_to_on_qntm_010.png Binary files differnew file mode 100644 index 0000000..8c3f26c --- /dev/null +++ b/core/res/res/drawable-mdpi/btn_switch_to_on_qntm_010.png diff --git a/core/res/res/drawable-mdpi/btn_switch_to_on_qntm_011.png b/core/res/res/drawable-mdpi/btn_switch_to_on_qntm_011.png Binary files differnew file mode 100644 index 0000000..8c3f26c --- /dev/null +++ b/core/res/res/drawable-mdpi/btn_switch_to_on_qntm_011.png diff --git a/core/res/res/drawable-mdpi/btn_switch_to_on_qntm_012.png b/core/res/res/drawable-mdpi/btn_switch_to_on_qntm_012.png Binary files differnew file mode 100644 index 0000000..8c3f26c --- /dev/null +++ b/core/res/res/drawable-mdpi/btn_switch_to_on_qntm_012.png diff --git a/core/res/res/drawable-mdpi/btn_switch_to_on_qntm_013.png b/core/res/res/drawable-mdpi/btn_switch_to_on_qntm_013.png Binary files differnew file mode 100644 index 0000000..8c3f26c --- /dev/null +++ b/core/res/res/drawable-mdpi/btn_switch_to_on_qntm_013.png diff --git a/core/res/res/drawable-mdpi/btn_switch_to_on_qntm_014.png b/core/res/res/drawable-mdpi/btn_switch_to_on_qntm_014.png Binary files differnew file mode 100644 index 0000000..8c3f26c --- /dev/null +++ b/core/res/res/drawable-mdpi/btn_switch_to_on_qntm_014.png diff --git a/core/res/res/drawable-mdpi/btn_toggle_indicator_qntm_alpha.9.png b/core/res/res/drawable-mdpi/btn_toggle_indicator_qntm_alpha.9.png Binary files differnew file mode 100644 index 0000000..e5bface --- /dev/null +++ b/core/res/res/drawable-mdpi/btn_toggle_indicator_qntm_alpha.9.png diff --git a/core/res/res/drawable-mdpi/btn_toggle_qntm_alpha.9.png b/core/res/res/drawable-mdpi/btn_toggle_qntm_alpha.9.png Binary files differnew file mode 100644 index 0000000..dca86ea --- /dev/null +++ b/core/res/res/drawable-mdpi/btn_toggle_qntm_alpha.9.png diff --git a/core/res/res/drawable-mdpi/scrubber_control_from_pressed_qntm_000.png b/core/res/res/drawable-mdpi/scrubber_control_from_pressed_qntm_000.png Binary files differnew file mode 100644 index 0000000..377a6b4 --- /dev/null +++ b/core/res/res/drawable-mdpi/scrubber_control_from_pressed_qntm_000.png diff --git a/core/res/res/drawable-mdpi/scrubber_control_from_pressed_qntm_001.png b/core/res/res/drawable-mdpi/scrubber_control_from_pressed_qntm_001.png Binary files differnew file mode 100644 index 0000000..0859f62 --- /dev/null +++ b/core/res/res/drawable-mdpi/scrubber_control_from_pressed_qntm_001.png diff --git a/core/res/res/drawable-mdpi/scrubber_control_from_pressed_qntm_002.png b/core/res/res/drawable-mdpi/scrubber_control_from_pressed_qntm_002.png Binary files differnew file mode 100644 index 0000000..bf5cdcd --- /dev/null +++ b/core/res/res/drawable-mdpi/scrubber_control_from_pressed_qntm_002.png diff --git a/core/res/res/drawable-mdpi/scrubber_control_from_pressed_qntm_003.png b/core/res/res/drawable-mdpi/scrubber_control_from_pressed_qntm_003.png Binary files differnew file mode 100644 index 0000000..4cd177d --- /dev/null +++ b/core/res/res/drawable-mdpi/scrubber_control_from_pressed_qntm_003.png diff --git a/core/res/res/drawable-mdpi/scrubber_control_from_pressed_qntm_004.png b/core/res/res/drawable-mdpi/scrubber_control_from_pressed_qntm_004.png Binary files differnew file mode 100644 index 0000000..dfe39ca --- /dev/null +++ b/core/res/res/drawable-mdpi/scrubber_control_from_pressed_qntm_004.png diff --git a/core/res/res/drawable-mdpi/scrubber_control_from_pressed_qntm_005.png b/core/res/res/drawable-mdpi/scrubber_control_from_pressed_qntm_005.png Binary files differnew file mode 100644 index 0000000..5d3ab99 --- /dev/null +++ b/core/res/res/drawable-mdpi/scrubber_control_from_pressed_qntm_005.png diff --git a/core/res/res/drawable-mdpi/scrubber_control_to_pressed_qntm_000.png b/core/res/res/drawable-mdpi/scrubber_control_to_pressed_qntm_000.png Binary files differnew file mode 100644 index 0000000..80922eb --- /dev/null +++ b/core/res/res/drawable-mdpi/scrubber_control_to_pressed_qntm_000.png diff --git a/core/res/res/drawable-mdpi/scrubber_control_to_pressed_qntm_001.png b/core/res/res/drawable-mdpi/scrubber_control_to_pressed_qntm_001.png Binary files differnew file mode 100644 index 0000000..aa77044 --- /dev/null +++ b/core/res/res/drawable-mdpi/scrubber_control_to_pressed_qntm_001.png diff --git a/core/res/res/drawable-mdpi/scrubber_control_to_pressed_qntm_002.png b/core/res/res/drawable-mdpi/scrubber_control_to_pressed_qntm_002.png Binary files differnew file mode 100644 index 0000000..7b099db --- /dev/null +++ b/core/res/res/drawable-mdpi/scrubber_control_to_pressed_qntm_002.png diff --git a/core/res/res/drawable-mdpi/scrubber_control_to_pressed_qntm_003.png b/core/res/res/drawable-mdpi/scrubber_control_to_pressed_qntm_003.png Binary files differnew file mode 100644 index 0000000..088c86a --- /dev/null +++ b/core/res/res/drawable-mdpi/scrubber_control_to_pressed_qntm_003.png diff --git a/core/res/res/drawable-mdpi/scrubber_control_to_pressed_qntm_004.png b/core/res/res/drawable-mdpi/scrubber_control_to_pressed_qntm_004.png Binary files differnew file mode 100644 index 0000000..3c6b9bc --- /dev/null +++ b/core/res/res/drawable-mdpi/scrubber_control_to_pressed_qntm_004.png diff --git a/core/res/res/drawable-mdpi/scrubber_control_to_pressed_qntm_005.png b/core/res/res/drawable-mdpi/scrubber_control_to_pressed_qntm_005.png Binary files differnew file mode 100644 index 0000000..adf5100 --- /dev/null +++ b/core/res/res/drawable-mdpi/scrubber_control_to_pressed_qntm_005.png diff --git a/core/res/res/drawable-mdpi/switch_off_qntm_alpha.9.png b/core/res/res/drawable-mdpi/switch_off_qntm_alpha.9.png Binary files differdeleted file mode 100644 index 8949b52..0000000 --- a/core/res/res/drawable-mdpi/switch_off_qntm_alpha.9.png +++ /dev/null diff --git a/core/res/res/drawable-mdpi/switch_on_qntm_alpha.9.png b/core/res/res/drawable-mdpi/switch_on_qntm_alpha.9.png Binary files differdeleted file mode 100644 index d727683..0000000 --- a/core/res/res/drawable-mdpi/switch_on_qntm_alpha.9.png +++ /dev/null diff --git a/core/res/res/drawable-mdpi/switch_track_qntm_alpha.9.png b/core/res/res/drawable-mdpi/switch_track_qntm_alpha.9.png Binary files differindex 8991421..b6538e4 100644 --- a/core/res/res/drawable-mdpi/switch_track_qntm_alpha.9.png +++ b/core/res/res/drawable-mdpi/switch_track_qntm_alpha.9.png diff --git a/core/res/res/drawable-mdpi/text_select_handle_left_qntm_alpha.png b/core/res/res/drawable-mdpi/text_select_handle_left_qntm_alpha.png Binary files differindex 506a186..95c0168 100644 --- a/core/res/res/drawable-mdpi/text_select_handle_left_qntm_alpha.png +++ b/core/res/res/drawable-mdpi/text_select_handle_left_qntm_alpha.png diff --git a/core/res/res/drawable-mdpi/text_select_handle_right_qntm_alpha.png b/core/res/res/drawable-mdpi/text_select_handle_right_qntm_alpha.png Binary files differindex fb0e926..569332a 100644 --- a/core/res/res/drawable-mdpi/text_select_handle_right_qntm_alpha.png +++ b/core/res/res/drawable-mdpi/text_select_handle_right_qntm_alpha.png diff --git a/core/res/res/drawable-xhdpi/btn_check_anim_00000_qntm_alpha.png b/core/res/res/drawable-xhdpi/btn_check_anim_00000_qntm_alpha.png Binary files differdeleted file mode 100644 index 25500e8..0000000 --- a/core/res/res/drawable-xhdpi/btn_check_anim_00000_qntm_alpha.png +++ /dev/null diff --git a/core/res/res/drawable-xhdpi/btn_check_anim_00001_qntm_alpha.png b/core/res/res/drawable-xhdpi/btn_check_anim_00001_qntm_alpha.png Binary files differdeleted file mode 100644 index b136e25..0000000 --- a/core/res/res/drawable-xhdpi/btn_check_anim_00001_qntm_alpha.png +++ /dev/null diff --git a/core/res/res/drawable-xhdpi/btn_check_anim_00002_qntm_alpha.png b/core/res/res/drawable-xhdpi/btn_check_anim_00002_qntm_alpha.png Binary files differdeleted file mode 100644 index 6a94e30..0000000 --- a/core/res/res/drawable-xhdpi/btn_check_anim_00002_qntm_alpha.png +++ /dev/null diff --git a/core/res/res/drawable-xhdpi/btn_check_anim_00003_qntm_alpha.png b/core/res/res/drawable-xhdpi/btn_check_anim_00003_qntm_alpha.png Binary files differdeleted file mode 100644 index d386421..0000000 --- a/core/res/res/drawable-xhdpi/btn_check_anim_00003_qntm_alpha.png +++ /dev/null diff --git a/core/res/res/drawable-xhdpi/btn_check_anim_00004_qntm_alpha.png b/core/res/res/drawable-xhdpi/btn_check_anim_00004_qntm_alpha.png Binary files differdeleted file mode 100644 index c811385..0000000 --- a/core/res/res/drawable-xhdpi/btn_check_anim_00004_qntm_alpha.png +++ /dev/null diff --git a/core/res/res/drawable-xhdpi/btn_check_anim_00005_qntm_alpha.png b/core/res/res/drawable-xhdpi/btn_check_anim_00005_qntm_alpha.png Binary files differdeleted file mode 100644 index 58b3267..0000000 --- a/core/res/res/drawable-xhdpi/btn_check_anim_00005_qntm_alpha.png +++ /dev/null diff --git a/core/res/res/drawable-xhdpi/btn_check_anim_00006_qntm_alpha.png b/core/res/res/drawable-xhdpi/btn_check_anim_00006_qntm_alpha.png Binary files differdeleted file mode 100644 index 0659e72..0000000 --- a/core/res/res/drawable-xhdpi/btn_check_anim_00006_qntm_alpha.png +++ /dev/null diff --git a/core/res/res/drawable-xhdpi/btn_check_anim_00007_qntm_alpha.png b/core/res/res/drawable-xhdpi/btn_check_anim_00007_qntm_alpha.png Binary files differdeleted file mode 100644 index b4227d1..0000000 --- a/core/res/res/drawable-xhdpi/btn_check_anim_00007_qntm_alpha.png +++ /dev/null diff --git a/core/res/res/drawable-xhdpi/btn_check_anim_00008_qntm_alpha.png b/core/res/res/drawable-xhdpi/btn_check_anim_00008_qntm_alpha.png Binary files differdeleted file mode 100644 index 714ef00..0000000 --- a/core/res/res/drawable-xhdpi/btn_check_anim_00008_qntm_alpha.png +++ /dev/null diff --git a/core/res/res/drawable-xhdpi/btn_check_anim_00009_qntm_alpha.png b/core/res/res/drawable-xhdpi/btn_check_anim_00009_qntm_alpha.png Binary files differdeleted file mode 100644 index 139595b..0000000 --- a/core/res/res/drawable-xhdpi/btn_check_anim_00009_qntm_alpha.png +++ /dev/null diff --git a/core/res/res/drawable-xhdpi/btn_check_anim_00010_qntm_alpha.png b/core/res/res/drawable-xhdpi/btn_check_anim_00010_qntm_alpha.png Binary files differdeleted file mode 100644 index 4491107..0000000 --- a/core/res/res/drawable-xhdpi/btn_check_anim_00010_qntm_alpha.png +++ /dev/null diff --git a/core/res/res/drawable-xhdpi/btn_check_anim_00011_qntm_alpha.png b/core/res/res/drawable-xhdpi/btn_check_anim_00011_qntm_alpha.png Binary files differdeleted file mode 100644 index 20eb752..0000000 --- a/core/res/res/drawable-xhdpi/btn_check_anim_00011_qntm_alpha.png +++ /dev/null diff --git a/core/res/res/drawable-xhdpi/btn_check_anim_00012_qntm_alpha.png b/core/res/res/drawable-xhdpi/btn_check_anim_00012_qntm_alpha.png Binary files differdeleted file mode 100644 index 532c9f2..0000000 --- a/core/res/res/drawable-xhdpi/btn_check_anim_00012_qntm_alpha.png +++ /dev/null diff --git a/core/res/res/drawable-xhdpi/btn_check_anim_00013_qntm_alpha.png b/core/res/res/drawable-xhdpi/btn_check_anim_00013_qntm_alpha.png Binary files differdeleted file mode 100644 index 0d78a32..0000000 --- a/core/res/res/drawable-xhdpi/btn_check_anim_00013_qntm_alpha.png +++ /dev/null diff --git a/core/res/res/drawable-xhdpi/btn_check_anim_00014_qntm_alpha.png b/core/res/res/drawable-xhdpi/btn_check_anim_00014_qntm_alpha.png Binary files differdeleted file mode 100644 index af29678..0000000 --- a/core/res/res/drawable-xhdpi/btn_check_anim_00014_qntm_alpha.png +++ /dev/null diff --git a/core/res/res/drawable-xhdpi/btn_check_anim_00015_qntm_alpha.png b/core/res/res/drawable-xhdpi/btn_check_anim_00015_qntm_alpha.png Binary files differdeleted file mode 100644 index 23eb9e3..0000000 --- a/core/res/res/drawable-xhdpi/btn_check_anim_00015_qntm_alpha.png +++ /dev/null diff --git a/core/res/res/drawable-xhdpi/btn_check_off_qntm_alpha.png b/core/res/res/drawable-xhdpi/btn_check_off_qntm_alpha.png Binary files differdeleted file mode 100644 index 5d820ae..0000000 --- a/core/res/res/drawable-xhdpi/btn_check_off_qntm_alpha.png +++ /dev/null diff --git a/core/res/res/drawable-xhdpi/btn_check_on_qntm_alpha.png b/core/res/res/drawable-xhdpi/btn_check_on_qntm_alpha.png Binary files differdeleted file mode 100644 index 019c92e..0000000 --- a/core/res/res/drawable-xhdpi/btn_check_on_qntm_alpha.png +++ /dev/null diff --git a/core/res/res/drawable-xhdpi/btn_check_to_off_qntm_000.png b/core/res/res/drawable-xhdpi/btn_check_to_off_qntm_000.png Binary files differnew file mode 100644 index 0000000..2347643 --- /dev/null +++ b/core/res/res/drawable-xhdpi/btn_check_to_off_qntm_000.png diff --git a/core/res/res/drawable-xhdpi/btn_check_to_off_qntm_001.png b/core/res/res/drawable-xhdpi/btn_check_to_off_qntm_001.png Binary files differnew file mode 100644 index 0000000..70aaa01 --- /dev/null +++ b/core/res/res/drawable-xhdpi/btn_check_to_off_qntm_001.png diff --git a/core/res/res/drawable-xhdpi/btn_check_to_off_qntm_002.png b/core/res/res/drawable-xhdpi/btn_check_to_off_qntm_002.png Binary files differnew file mode 100644 index 0000000..01e498a --- /dev/null +++ b/core/res/res/drawable-xhdpi/btn_check_to_off_qntm_002.png diff --git a/core/res/res/drawable-xhdpi/btn_check_to_off_qntm_003.png b/core/res/res/drawable-xhdpi/btn_check_to_off_qntm_003.png Binary files differnew file mode 100644 index 0000000..71d1cf7 --- /dev/null +++ b/core/res/res/drawable-xhdpi/btn_check_to_off_qntm_003.png diff --git a/core/res/res/drawable-xhdpi/btn_check_to_off_qntm_004.png b/core/res/res/drawable-xhdpi/btn_check_to_off_qntm_004.png Binary files differnew file mode 100644 index 0000000..d1e7b1d --- /dev/null +++ b/core/res/res/drawable-xhdpi/btn_check_to_off_qntm_004.png diff --git a/core/res/res/drawable-xhdpi/btn_check_to_off_qntm_005.png b/core/res/res/drawable-xhdpi/btn_check_to_off_qntm_005.png Binary files differnew file mode 100644 index 0000000..7db7d06 --- /dev/null +++ b/core/res/res/drawable-xhdpi/btn_check_to_off_qntm_005.png diff --git a/core/res/res/drawable-xhdpi/btn_check_to_off_qntm_006.png b/core/res/res/drawable-xhdpi/btn_check_to_off_qntm_006.png Binary files differnew file mode 100644 index 0000000..dadb62e --- /dev/null +++ b/core/res/res/drawable-xhdpi/btn_check_to_off_qntm_006.png diff --git a/core/res/res/drawable-xhdpi/btn_check_to_off_qntm_007.png b/core/res/res/drawable-xhdpi/btn_check_to_off_qntm_007.png Binary files differnew file mode 100644 index 0000000..f87f744 --- /dev/null +++ b/core/res/res/drawable-xhdpi/btn_check_to_off_qntm_007.png diff --git a/core/res/res/drawable-xhdpi/btn_check_to_off_qntm_008.png b/core/res/res/drawable-xhdpi/btn_check_to_off_qntm_008.png Binary files differnew file mode 100644 index 0000000..be99d87 --- /dev/null +++ b/core/res/res/drawable-xhdpi/btn_check_to_off_qntm_008.png diff --git a/core/res/res/drawable-xhdpi/btn_check_to_off_qntm_009.png b/core/res/res/drawable-xhdpi/btn_check_to_off_qntm_009.png Binary files differnew file mode 100644 index 0000000..f83bc05 --- /dev/null +++ b/core/res/res/drawable-xhdpi/btn_check_to_off_qntm_009.png diff --git a/core/res/res/drawable-xhdpi/btn_check_to_off_qntm_010.png b/core/res/res/drawable-xhdpi/btn_check_to_off_qntm_010.png Binary files differnew file mode 100644 index 0000000..870071d --- /dev/null +++ b/core/res/res/drawable-xhdpi/btn_check_to_off_qntm_010.png diff --git a/core/res/res/drawable-xhdpi/btn_check_to_off_qntm_011.png b/core/res/res/drawable-xhdpi/btn_check_to_off_qntm_011.png Binary files differnew file mode 100644 index 0000000..3a18414 --- /dev/null +++ b/core/res/res/drawable-xhdpi/btn_check_to_off_qntm_011.png diff --git a/core/res/res/drawable-xhdpi/btn_check_to_off_qntm_012.png b/core/res/res/drawable-xhdpi/btn_check_to_off_qntm_012.png Binary files differnew file mode 100644 index 0000000..f3d1187 --- /dev/null +++ b/core/res/res/drawable-xhdpi/btn_check_to_off_qntm_012.png diff --git a/core/res/res/drawable-xhdpi/btn_check_to_off_qntm_013.png b/core/res/res/drawable-xhdpi/btn_check_to_off_qntm_013.png Binary files differnew file mode 100644 index 0000000..4078cca --- /dev/null +++ b/core/res/res/drawable-xhdpi/btn_check_to_off_qntm_013.png diff --git a/core/res/res/drawable-xhdpi/btn_check_to_off_qntm_014.png b/core/res/res/drawable-xhdpi/btn_check_to_off_qntm_014.png Binary files differnew file mode 100644 index 0000000..d4849b5 --- /dev/null +++ b/core/res/res/drawable-xhdpi/btn_check_to_off_qntm_014.png diff --git a/core/res/res/drawable-xhdpi/btn_check_to_off_qntm_015.png b/core/res/res/drawable-xhdpi/btn_check_to_off_qntm_015.png Binary files differnew file mode 100644 index 0000000..6e2af72 --- /dev/null +++ b/core/res/res/drawable-xhdpi/btn_check_to_off_qntm_015.png diff --git a/core/res/res/drawable-xhdpi/btn_check_to_on_qntm_000.png b/core/res/res/drawable-xhdpi/btn_check_to_on_qntm_000.png Binary files differnew file mode 100644 index 0000000..9244174 --- /dev/null +++ b/core/res/res/drawable-xhdpi/btn_check_to_on_qntm_000.png diff --git a/core/res/res/drawable-xhdpi/btn_check_to_on_qntm_001.png b/core/res/res/drawable-xhdpi/btn_check_to_on_qntm_001.png Binary files differnew file mode 100644 index 0000000..8c7fe95 --- /dev/null +++ b/core/res/res/drawable-xhdpi/btn_check_to_on_qntm_001.png diff --git a/core/res/res/drawable-xhdpi/btn_check_to_on_qntm_002.png b/core/res/res/drawable-xhdpi/btn_check_to_on_qntm_002.png Binary files differnew file mode 100644 index 0000000..71eb1d0 --- /dev/null +++ b/core/res/res/drawable-xhdpi/btn_check_to_on_qntm_002.png diff --git a/core/res/res/drawable-xhdpi/btn_check_to_on_qntm_003.png b/core/res/res/drawable-xhdpi/btn_check_to_on_qntm_003.png Binary files differnew file mode 100644 index 0000000..613f38a --- /dev/null +++ b/core/res/res/drawable-xhdpi/btn_check_to_on_qntm_003.png diff --git a/core/res/res/drawable-xhdpi/btn_check_to_on_qntm_004.png b/core/res/res/drawable-xhdpi/btn_check_to_on_qntm_004.png Binary files differnew file mode 100644 index 0000000..2d20ccc --- /dev/null +++ b/core/res/res/drawable-xhdpi/btn_check_to_on_qntm_004.png diff --git a/core/res/res/drawable-xhdpi/btn_check_to_on_qntm_005.png b/core/res/res/drawable-xhdpi/btn_check_to_on_qntm_005.png Binary files differnew file mode 100644 index 0000000..407f78d --- /dev/null +++ b/core/res/res/drawable-xhdpi/btn_check_to_on_qntm_005.png diff --git a/core/res/res/drawable-xhdpi/btn_check_to_on_qntm_006.png b/core/res/res/drawable-xhdpi/btn_check_to_on_qntm_006.png Binary files differnew file mode 100644 index 0000000..1bf24b0 --- /dev/null +++ b/core/res/res/drawable-xhdpi/btn_check_to_on_qntm_006.png diff --git a/core/res/res/drawable-xhdpi/btn_check_to_on_qntm_007.png b/core/res/res/drawable-xhdpi/btn_check_to_on_qntm_007.png Binary files differnew file mode 100644 index 0000000..a450bd0 --- /dev/null +++ b/core/res/res/drawable-xhdpi/btn_check_to_on_qntm_007.png diff --git a/core/res/res/drawable-xhdpi/btn_check_to_on_qntm_008.png b/core/res/res/drawable-xhdpi/btn_check_to_on_qntm_008.png Binary files differnew file mode 100644 index 0000000..63ba593 --- /dev/null +++ b/core/res/res/drawable-xhdpi/btn_check_to_on_qntm_008.png diff --git a/core/res/res/drawable-xhdpi/btn_check_to_on_qntm_009.png b/core/res/res/drawable-xhdpi/btn_check_to_on_qntm_009.png Binary files differnew file mode 100644 index 0000000..6d05e5a --- /dev/null +++ b/core/res/res/drawable-xhdpi/btn_check_to_on_qntm_009.png diff --git a/core/res/res/drawable-xhdpi/btn_check_to_on_qntm_010.png b/core/res/res/drawable-xhdpi/btn_check_to_on_qntm_010.png Binary files differnew file mode 100644 index 0000000..1c8cd8f --- /dev/null +++ b/core/res/res/drawable-xhdpi/btn_check_to_on_qntm_010.png diff --git a/core/res/res/drawable-xhdpi/btn_check_to_on_qntm_011.png b/core/res/res/drawable-xhdpi/btn_check_to_on_qntm_011.png Binary files differnew file mode 100644 index 0000000..b8bc564 --- /dev/null +++ b/core/res/res/drawable-xhdpi/btn_check_to_on_qntm_011.png diff --git a/core/res/res/drawable-xhdpi/btn_check_to_on_qntm_012.png b/core/res/res/drawable-xhdpi/btn_check_to_on_qntm_012.png Binary files differnew file mode 100644 index 0000000..3d80128 --- /dev/null +++ b/core/res/res/drawable-xhdpi/btn_check_to_on_qntm_012.png diff --git a/core/res/res/drawable-xhdpi/btn_check_to_on_qntm_013.png b/core/res/res/drawable-xhdpi/btn_check_to_on_qntm_013.png Binary files differnew file mode 100644 index 0000000..c21dfba --- /dev/null +++ b/core/res/res/drawable-xhdpi/btn_check_to_on_qntm_013.png diff --git a/core/res/res/drawable-xhdpi/btn_check_to_on_qntm_014.png b/core/res/res/drawable-xhdpi/btn_check_to_on_qntm_014.png Binary files differnew file mode 100644 index 0000000..2dfe90d --- /dev/null +++ b/core/res/res/drawable-xhdpi/btn_check_to_on_qntm_014.png diff --git a/core/res/res/drawable-xhdpi/btn_check_to_on_qntm_015.png b/core/res/res/drawable-xhdpi/btn_check_to_on_qntm_015.png Binary files differnew file mode 100644 index 0000000..5f40d73 --- /dev/null +++ b/core/res/res/drawable-xhdpi/btn_check_to_on_qntm_015.png diff --git a/core/res/res/drawable-xhdpi/btn_radio_anim_00000_qntm_alpha.png b/core/res/res/drawable-xhdpi/btn_radio_anim_00000_qntm_alpha.png Binary files differdeleted file mode 100644 index cd11e14..0000000 --- a/core/res/res/drawable-xhdpi/btn_radio_anim_00000_qntm_alpha.png +++ /dev/null diff --git a/core/res/res/drawable-xhdpi/btn_radio_anim_00001_qntm_alpha.png b/core/res/res/drawable-xhdpi/btn_radio_anim_00001_qntm_alpha.png Binary files differdeleted file mode 100644 index b10db83..0000000 --- a/core/res/res/drawable-xhdpi/btn_radio_anim_00001_qntm_alpha.png +++ /dev/null diff --git a/core/res/res/drawable-xhdpi/btn_radio_anim_00002_qntm_alpha.png b/core/res/res/drawable-xhdpi/btn_radio_anim_00002_qntm_alpha.png Binary files differdeleted file mode 100644 index efeb6fb..0000000 --- a/core/res/res/drawable-xhdpi/btn_radio_anim_00002_qntm_alpha.png +++ /dev/null diff --git a/core/res/res/drawable-xhdpi/btn_radio_anim_00003_qntm_alpha.png b/core/res/res/drawable-xhdpi/btn_radio_anim_00003_qntm_alpha.png Binary files differdeleted file mode 100644 index 83080af..0000000 --- a/core/res/res/drawable-xhdpi/btn_radio_anim_00003_qntm_alpha.png +++ /dev/null diff --git a/core/res/res/drawable-xhdpi/btn_radio_anim_00004_qntm_alpha.png b/core/res/res/drawable-xhdpi/btn_radio_anim_00004_qntm_alpha.png Binary files differdeleted file mode 100644 index b9cc322..0000000 --- a/core/res/res/drawable-xhdpi/btn_radio_anim_00004_qntm_alpha.png +++ /dev/null diff --git a/core/res/res/drawable-xhdpi/btn_radio_anim_00005_qntm_alpha.png b/core/res/res/drawable-xhdpi/btn_radio_anim_00005_qntm_alpha.png Binary files differdeleted file mode 100644 index 3b5f9c4..0000000 --- a/core/res/res/drawable-xhdpi/btn_radio_anim_00005_qntm_alpha.png +++ /dev/null diff --git a/core/res/res/drawable-xhdpi/btn_radio_anim_00006_qntm_alpha.png b/core/res/res/drawable-xhdpi/btn_radio_anim_00006_qntm_alpha.png Binary files differdeleted file mode 100644 index 58c93db..0000000 --- a/core/res/res/drawable-xhdpi/btn_radio_anim_00006_qntm_alpha.png +++ /dev/null diff --git a/core/res/res/drawable-xhdpi/btn_radio_anim_00007_qntm_alpha.png b/core/res/res/drawable-xhdpi/btn_radio_anim_00007_qntm_alpha.png Binary files differdeleted file mode 100644 index 0f1d010..0000000 --- a/core/res/res/drawable-xhdpi/btn_radio_anim_00007_qntm_alpha.png +++ /dev/null diff --git a/core/res/res/drawable-xhdpi/btn_radio_anim_00008_qntm_alpha.png b/core/res/res/drawable-xhdpi/btn_radio_anim_00008_qntm_alpha.png Binary files differdeleted file mode 100644 index 05a7a0f..0000000 --- a/core/res/res/drawable-xhdpi/btn_radio_anim_00008_qntm_alpha.png +++ /dev/null diff --git a/core/res/res/drawable-xhdpi/btn_radio_anim_00009_qntm_alpha.png b/core/res/res/drawable-xhdpi/btn_radio_anim_00009_qntm_alpha.png Binary files differdeleted file mode 100644 index 9345035..0000000 --- a/core/res/res/drawable-xhdpi/btn_radio_anim_00009_qntm_alpha.png +++ /dev/null diff --git a/core/res/res/drawable-xhdpi/btn_radio_anim_00010_qntm_alpha.png b/core/res/res/drawable-xhdpi/btn_radio_anim_00010_qntm_alpha.png Binary files differdeleted file mode 100644 index 5f149b7..0000000 --- a/core/res/res/drawable-xhdpi/btn_radio_anim_00010_qntm_alpha.png +++ /dev/null diff --git a/core/res/res/drawable-xhdpi/btn_radio_anim_00011_qntm_alpha.png b/core/res/res/drawable-xhdpi/btn_radio_anim_00011_qntm_alpha.png Binary files differdeleted file mode 100644 index 191f369..0000000 --- a/core/res/res/drawable-xhdpi/btn_radio_anim_00011_qntm_alpha.png +++ /dev/null diff --git a/core/res/res/drawable-xhdpi/btn_radio_anim_00012_qntm_alpha.png b/core/res/res/drawable-xhdpi/btn_radio_anim_00012_qntm_alpha.png Binary files differdeleted file mode 100644 index 44e08e6..0000000 --- a/core/res/res/drawable-xhdpi/btn_radio_anim_00012_qntm_alpha.png +++ /dev/null diff --git a/core/res/res/drawable-xhdpi/btn_radio_anim_00013_qntm_alpha.png b/core/res/res/drawable-xhdpi/btn_radio_anim_00013_qntm_alpha.png Binary files differdeleted file mode 100644 index 5a9dfa0..0000000 --- a/core/res/res/drawable-xhdpi/btn_radio_anim_00013_qntm_alpha.png +++ /dev/null diff --git a/core/res/res/drawable-xhdpi/btn_radio_anim_00014_qntm_alpha.png b/core/res/res/drawable-xhdpi/btn_radio_anim_00014_qntm_alpha.png Binary files differdeleted file mode 100644 index ee921c6..0000000 --- a/core/res/res/drawable-xhdpi/btn_radio_anim_00014_qntm_alpha.png +++ /dev/null diff --git a/core/res/res/drawable-xhdpi/btn_radio_anim_00015_qntm_alpha.png b/core/res/res/drawable-xhdpi/btn_radio_anim_00015_qntm_alpha.png Binary files differdeleted file mode 100644 index 567bb0c..0000000 --- a/core/res/res/drawable-xhdpi/btn_radio_anim_00015_qntm_alpha.png +++ /dev/null diff --git a/core/res/res/drawable-xhdpi/btn_radio_off_pressed_qntm_alpha.png b/core/res/res/drawable-xhdpi/btn_radio_off_pressed_qntm_alpha.png Binary files differdeleted file mode 100644 index 2fd964e..0000000 --- a/core/res/res/drawable-xhdpi/btn_radio_off_pressed_qntm_alpha.png +++ /dev/null diff --git a/core/res/res/drawable-xhdpi/btn_radio_off_qntm_alpha.png b/core/res/res/drawable-xhdpi/btn_radio_off_qntm_alpha.png Binary files differdeleted file mode 100644 index 8873cd6..0000000 --- a/core/res/res/drawable-xhdpi/btn_radio_off_qntm_alpha.png +++ /dev/null diff --git a/core/res/res/drawable-xhdpi/btn_radio_to_off_qntm_000.png b/core/res/res/drawable-xhdpi/btn_radio_to_off_qntm_000.png Binary files differnew file mode 100644 index 0000000..b54c6ff --- /dev/null +++ b/core/res/res/drawable-xhdpi/btn_radio_to_off_qntm_000.png diff --git a/core/res/res/drawable-xhdpi/btn_radio_to_off_qntm_001.png b/core/res/res/drawable-xhdpi/btn_radio_to_off_qntm_001.png Binary files differnew file mode 100644 index 0000000..fff7056 --- /dev/null +++ b/core/res/res/drawable-xhdpi/btn_radio_to_off_qntm_001.png diff --git a/core/res/res/drawable-xhdpi/btn_radio_to_off_qntm_002.png b/core/res/res/drawable-xhdpi/btn_radio_to_off_qntm_002.png Binary files differnew file mode 100644 index 0000000..026462d --- /dev/null +++ b/core/res/res/drawable-xhdpi/btn_radio_to_off_qntm_002.png diff --git a/core/res/res/drawable-xhdpi/btn_radio_to_off_qntm_003.png b/core/res/res/drawable-xhdpi/btn_radio_to_off_qntm_003.png Binary files differnew file mode 100644 index 0000000..26cc8de --- /dev/null +++ b/core/res/res/drawable-xhdpi/btn_radio_to_off_qntm_003.png diff --git a/core/res/res/drawable-xhdpi/btn_radio_to_off_qntm_004.png b/core/res/res/drawable-xhdpi/btn_radio_to_off_qntm_004.png Binary files differnew file mode 100644 index 0000000..c055fff --- /dev/null +++ b/core/res/res/drawable-xhdpi/btn_radio_to_off_qntm_004.png diff --git a/core/res/res/drawable-xhdpi/btn_radio_to_off_qntm_005.png b/core/res/res/drawable-xhdpi/btn_radio_to_off_qntm_005.png Binary files differnew file mode 100644 index 0000000..a22e780 --- /dev/null +++ b/core/res/res/drawable-xhdpi/btn_radio_to_off_qntm_005.png diff --git a/core/res/res/drawable-xhdpi/btn_radio_to_off_qntm_006.png b/core/res/res/drawable-xhdpi/btn_radio_to_off_qntm_006.png Binary files differnew file mode 100644 index 0000000..357374c --- /dev/null +++ b/core/res/res/drawable-xhdpi/btn_radio_to_off_qntm_006.png diff --git a/core/res/res/drawable-xhdpi/btn_radio_to_off_qntm_007.png b/core/res/res/drawable-xhdpi/btn_radio_to_off_qntm_007.png Binary files differnew file mode 100644 index 0000000..71d4667 --- /dev/null +++ b/core/res/res/drawable-xhdpi/btn_radio_to_off_qntm_007.png diff --git a/core/res/res/drawable-xhdpi/btn_radio_to_off_qntm_008.png b/core/res/res/drawable-xhdpi/btn_radio_to_off_qntm_008.png Binary files differnew file mode 100644 index 0000000..2ed175e --- /dev/null +++ b/core/res/res/drawable-xhdpi/btn_radio_to_off_qntm_008.png diff --git a/core/res/res/drawable-xhdpi/btn_radio_to_off_qntm_009.png b/core/res/res/drawable-xhdpi/btn_radio_to_off_qntm_009.png Binary files differnew file mode 100644 index 0000000..e0f7d8e --- /dev/null +++ b/core/res/res/drawable-xhdpi/btn_radio_to_off_qntm_009.png diff --git a/core/res/res/drawable-xhdpi/btn_radio_to_off_qntm_010.png b/core/res/res/drawable-xhdpi/btn_radio_to_off_qntm_010.png Binary files differnew file mode 100644 index 0000000..62b0578 --- /dev/null +++ b/core/res/res/drawable-xhdpi/btn_radio_to_off_qntm_010.png diff --git a/core/res/res/drawable-xhdpi/btn_radio_to_off_qntm_011.png b/core/res/res/drawable-xhdpi/btn_radio_to_off_qntm_011.png Binary files differnew file mode 100644 index 0000000..4d6ef4a --- /dev/null +++ b/core/res/res/drawable-xhdpi/btn_radio_to_off_qntm_011.png diff --git a/core/res/res/drawable-xhdpi/btn_radio_to_off_qntm_012.png b/core/res/res/drawable-xhdpi/btn_radio_to_off_qntm_012.png Binary files differnew file mode 100644 index 0000000..37cee2d --- /dev/null +++ b/core/res/res/drawable-xhdpi/btn_radio_to_off_qntm_012.png diff --git a/core/res/res/drawable-xhdpi/btn_radio_to_off_qntm_013.png b/core/res/res/drawable-xhdpi/btn_radio_to_off_qntm_013.png Binary files differnew file mode 100644 index 0000000..a8bc25f --- /dev/null +++ b/core/res/res/drawable-xhdpi/btn_radio_to_off_qntm_013.png diff --git a/core/res/res/drawable-xhdpi/btn_radio_to_off_qntm_014.png b/core/res/res/drawable-xhdpi/btn_radio_to_off_qntm_014.png Binary files differnew file mode 100644 index 0000000..cf68d93 --- /dev/null +++ b/core/res/res/drawable-xhdpi/btn_radio_to_off_qntm_014.png diff --git a/core/res/res/drawable-xhdpi/btn_radio_to_off_qntm_015.png b/core/res/res/drawable-xhdpi/btn_radio_to_off_qntm_015.png Binary files differnew file mode 100644 index 0000000..96834bc --- /dev/null +++ b/core/res/res/drawable-xhdpi/btn_radio_to_off_qntm_015.png diff --git a/core/res/res/drawable-xhdpi/btn_radio_to_on_qntm_000.png b/core/res/res/drawable-xhdpi/btn_radio_to_on_qntm_000.png Binary files differnew file mode 100644 index 0000000..d068dbe --- /dev/null +++ b/core/res/res/drawable-xhdpi/btn_radio_to_on_qntm_000.png diff --git a/core/res/res/drawable-xhdpi/btn_radio_to_on_qntm_001.png b/core/res/res/drawable-xhdpi/btn_radio_to_on_qntm_001.png Binary files differnew file mode 100644 index 0000000..4aabb1e --- /dev/null +++ b/core/res/res/drawable-xhdpi/btn_radio_to_on_qntm_001.png diff --git a/core/res/res/drawable-xhdpi/btn_radio_to_on_qntm_002.png b/core/res/res/drawable-xhdpi/btn_radio_to_on_qntm_002.png Binary files differnew file mode 100644 index 0000000..bbac8e4 --- /dev/null +++ b/core/res/res/drawable-xhdpi/btn_radio_to_on_qntm_002.png diff --git a/core/res/res/drawable-xhdpi/btn_radio_to_on_qntm_003.png b/core/res/res/drawable-xhdpi/btn_radio_to_on_qntm_003.png Binary files differnew file mode 100644 index 0000000..2fc7459 --- /dev/null +++ b/core/res/res/drawable-xhdpi/btn_radio_to_on_qntm_003.png diff --git a/core/res/res/drawable-xhdpi/btn_radio_to_on_qntm_004.png b/core/res/res/drawable-xhdpi/btn_radio_to_on_qntm_004.png Binary files differnew file mode 100644 index 0000000..83c6d0e --- /dev/null +++ b/core/res/res/drawable-xhdpi/btn_radio_to_on_qntm_004.png diff --git a/core/res/res/drawable-xhdpi/btn_radio_to_on_qntm_005.png b/core/res/res/drawable-xhdpi/btn_radio_to_on_qntm_005.png Binary files differnew file mode 100644 index 0000000..45c08d7 --- /dev/null +++ b/core/res/res/drawable-xhdpi/btn_radio_to_on_qntm_005.png diff --git a/core/res/res/drawable-xhdpi/btn_radio_to_on_qntm_006.png b/core/res/res/drawable-xhdpi/btn_radio_to_on_qntm_006.png Binary files differnew file mode 100644 index 0000000..05b7dfb --- /dev/null +++ b/core/res/res/drawable-xhdpi/btn_radio_to_on_qntm_006.png diff --git a/core/res/res/drawable-xhdpi/btn_radio_to_on_qntm_007.png b/core/res/res/drawable-xhdpi/btn_radio_to_on_qntm_007.png Binary files differnew file mode 100644 index 0000000..baf9964 --- /dev/null +++ b/core/res/res/drawable-xhdpi/btn_radio_to_on_qntm_007.png diff --git a/core/res/res/drawable-xhdpi/btn_radio_to_on_qntm_008.png b/core/res/res/drawable-xhdpi/btn_radio_to_on_qntm_008.png Binary files differnew file mode 100644 index 0000000..d6e0369 --- /dev/null +++ b/core/res/res/drawable-xhdpi/btn_radio_to_on_qntm_008.png diff --git a/core/res/res/drawable-xhdpi/btn_radio_to_on_qntm_009.png b/core/res/res/drawable-xhdpi/btn_radio_to_on_qntm_009.png Binary files differnew file mode 100644 index 0000000..3f35270 --- /dev/null +++ b/core/res/res/drawable-xhdpi/btn_radio_to_on_qntm_009.png diff --git a/core/res/res/drawable-xhdpi/btn_radio_to_on_qntm_010.png b/core/res/res/drawable-xhdpi/btn_radio_to_on_qntm_010.png Binary files differnew file mode 100644 index 0000000..a5b34dc --- /dev/null +++ b/core/res/res/drawable-xhdpi/btn_radio_to_on_qntm_010.png diff --git a/core/res/res/drawable-xhdpi/btn_radio_to_on_qntm_011.png b/core/res/res/drawable-xhdpi/btn_radio_to_on_qntm_011.png Binary files differnew file mode 100644 index 0000000..361967b --- /dev/null +++ b/core/res/res/drawable-xhdpi/btn_radio_to_on_qntm_011.png diff --git a/core/res/res/drawable-xhdpi/btn_radio_to_on_qntm_012.png b/core/res/res/drawable-xhdpi/btn_radio_to_on_qntm_012.png Binary files differnew file mode 100644 index 0000000..c478bb7 --- /dev/null +++ b/core/res/res/drawable-xhdpi/btn_radio_to_on_qntm_012.png diff --git a/core/res/res/drawable-xhdpi/btn_radio_to_on_qntm_013.png b/core/res/res/drawable-xhdpi/btn_radio_to_on_qntm_013.png Binary files differnew file mode 100644 index 0000000..075fa0c --- /dev/null +++ b/core/res/res/drawable-xhdpi/btn_radio_to_on_qntm_013.png diff --git a/core/res/res/drawable-xhdpi/btn_radio_to_on_qntm_014.png b/core/res/res/drawable-xhdpi/btn_radio_to_on_qntm_014.png Binary files differnew file mode 100644 index 0000000..d9e364b --- /dev/null +++ b/core/res/res/drawable-xhdpi/btn_radio_to_on_qntm_014.png diff --git a/core/res/res/drawable-xhdpi/btn_radio_to_on_qntm_015.png b/core/res/res/drawable-xhdpi/btn_radio_to_on_qntm_015.png Binary files differnew file mode 100644 index 0000000..9924496 --- /dev/null +++ b/core/res/res/drawable-xhdpi/btn_radio_to_on_qntm_015.png diff --git a/core/res/res/drawable-xhdpi/btn_switch_to_off_qntm_000.png b/core/res/res/drawable-xhdpi/btn_switch_to_off_qntm_000.png Binary files differnew file mode 100644 index 0000000..2494fd4 --- /dev/null +++ b/core/res/res/drawable-xhdpi/btn_switch_to_off_qntm_000.png diff --git a/core/res/res/drawable-xhdpi/btn_switch_to_off_qntm_001.png b/core/res/res/drawable-xhdpi/btn_switch_to_off_qntm_001.png Binary files differnew file mode 100644 index 0000000..7bd99fe --- /dev/null +++ b/core/res/res/drawable-xhdpi/btn_switch_to_off_qntm_001.png diff --git a/core/res/res/drawable-xhdpi/btn_switch_to_off_qntm_002.png b/core/res/res/drawable-xhdpi/btn_switch_to_off_qntm_002.png Binary files differnew file mode 100644 index 0000000..2ef623b --- /dev/null +++ b/core/res/res/drawable-xhdpi/btn_switch_to_off_qntm_002.png diff --git a/core/res/res/drawable-xhdpi/btn_switch_to_off_qntm_003.png b/core/res/res/drawable-xhdpi/btn_switch_to_off_qntm_003.png Binary files differnew file mode 100644 index 0000000..19db3e0 --- /dev/null +++ b/core/res/res/drawable-xhdpi/btn_switch_to_off_qntm_003.png diff --git a/core/res/res/drawable-xhdpi/btn_switch_to_off_qntm_004.png b/core/res/res/drawable-xhdpi/btn_switch_to_off_qntm_004.png Binary files differnew file mode 100644 index 0000000..984c3c5 --- /dev/null +++ b/core/res/res/drawable-xhdpi/btn_switch_to_off_qntm_004.png diff --git a/core/res/res/drawable-xhdpi/btn_switch_to_off_qntm_005.png b/core/res/res/drawable-xhdpi/btn_switch_to_off_qntm_005.png Binary files differnew file mode 100644 index 0000000..6454190 --- /dev/null +++ b/core/res/res/drawable-xhdpi/btn_switch_to_off_qntm_005.png diff --git a/core/res/res/drawable-xhdpi/btn_switch_to_off_qntm_006.png b/core/res/res/drawable-xhdpi/btn_switch_to_off_qntm_006.png Binary files differnew file mode 100644 index 0000000..cee9393 --- /dev/null +++ b/core/res/res/drawable-xhdpi/btn_switch_to_off_qntm_006.png diff --git a/core/res/res/drawable-xhdpi/btn_switch_to_off_qntm_007.png b/core/res/res/drawable-xhdpi/btn_switch_to_off_qntm_007.png Binary files differnew file mode 100644 index 0000000..cee9393 --- /dev/null +++ b/core/res/res/drawable-xhdpi/btn_switch_to_off_qntm_007.png diff --git a/core/res/res/drawable-xhdpi/btn_switch_to_off_qntm_008.png b/core/res/res/drawable-xhdpi/btn_switch_to_off_qntm_008.png Binary files differnew file mode 100644 index 0000000..437ffdd --- /dev/null +++ b/core/res/res/drawable-xhdpi/btn_switch_to_off_qntm_008.png diff --git a/core/res/res/drawable-xhdpi/btn_switch_to_off_qntm_009.png b/core/res/res/drawable-xhdpi/btn_switch_to_off_qntm_009.png Binary files differnew file mode 100644 index 0000000..d2e14ad --- /dev/null +++ b/core/res/res/drawable-xhdpi/btn_switch_to_off_qntm_009.png diff --git a/core/res/res/drawable-xhdpi/btn_switch_to_off_qntm_010.png b/core/res/res/drawable-xhdpi/btn_switch_to_off_qntm_010.png Binary files differnew file mode 100644 index 0000000..4e2f5bc --- /dev/null +++ b/core/res/res/drawable-xhdpi/btn_switch_to_off_qntm_010.png diff --git a/core/res/res/drawable-xhdpi/btn_switch_to_off_qntm_011.png b/core/res/res/drawable-xhdpi/btn_switch_to_off_qntm_011.png Binary files differnew file mode 100644 index 0000000..4e2f5bc --- /dev/null +++ b/core/res/res/drawable-xhdpi/btn_switch_to_off_qntm_011.png diff --git a/core/res/res/drawable-xhdpi/btn_switch_to_off_qntm_012.png b/core/res/res/drawable-xhdpi/btn_switch_to_off_qntm_012.png Binary files differnew file mode 100644 index 0000000..4e2f5bc --- /dev/null +++ b/core/res/res/drawable-xhdpi/btn_switch_to_off_qntm_012.png diff --git a/core/res/res/drawable-xhdpi/btn_switch_to_off_qntm_013.png b/core/res/res/drawable-xhdpi/btn_switch_to_off_qntm_013.png Binary files differnew file mode 100644 index 0000000..4e2f5bc --- /dev/null +++ b/core/res/res/drawable-xhdpi/btn_switch_to_off_qntm_013.png diff --git a/core/res/res/drawable-xhdpi/btn_switch_to_off_qntm_014.png b/core/res/res/drawable-xhdpi/btn_switch_to_off_qntm_014.png Binary files differnew file mode 100644 index 0000000..4e2f5bc --- /dev/null +++ b/core/res/res/drawable-xhdpi/btn_switch_to_off_qntm_014.png diff --git a/core/res/res/drawable-xhdpi/btn_switch_to_on_qntm_000.png b/core/res/res/drawable-xhdpi/btn_switch_to_on_qntm_000.png Binary files differnew file mode 100644 index 0000000..f1bcfa3 --- /dev/null +++ b/core/res/res/drawable-xhdpi/btn_switch_to_on_qntm_000.png diff --git a/core/res/res/drawable-xhdpi/btn_switch_to_on_qntm_001.png b/core/res/res/drawable-xhdpi/btn_switch_to_on_qntm_001.png Binary files differnew file mode 100644 index 0000000..ede2fec --- /dev/null +++ b/core/res/res/drawable-xhdpi/btn_switch_to_on_qntm_001.png diff --git a/core/res/res/drawable-xhdpi/btn_switch_to_on_qntm_002.png b/core/res/res/drawable-xhdpi/btn_switch_to_on_qntm_002.png Binary files differnew file mode 100644 index 0000000..94ce017 --- /dev/null +++ b/core/res/res/drawable-xhdpi/btn_switch_to_on_qntm_002.png diff --git a/core/res/res/drawable-xhdpi/btn_switch_to_on_qntm_003.png b/core/res/res/drawable-xhdpi/btn_switch_to_on_qntm_003.png Binary files differnew file mode 100644 index 0000000..647cfe3 --- /dev/null +++ b/core/res/res/drawable-xhdpi/btn_switch_to_on_qntm_003.png diff --git a/core/res/res/drawable-xhdpi/btn_switch_to_on_qntm_004.png b/core/res/res/drawable-xhdpi/btn_switch_to_on_qntm_004.png Binary files differnew file mode 100644 index 0000000..b3bf923 --- /dev/null +++ b/core/res/res/drawable-xhdpi/btn_switch_to_on_qntm_004.png diff --git a/core/res/res/drawable-xhdpi/btn_switch_to_on_qntm_005.png b/core/res/res/drawable-xhdpi/btn_switch_to_on_qntm_005.png Binary files differnew file mode 100644 index 0000000..ae95b2b --- /dev/null +++ b/core/res/res/drawable-xhdpi/btn_switch_to_on_qntm_005.png diff --git a/core/res/res/drawable-xhdpi/btn_switch_to_on_qntm_006.png b/core/res/res/drawable-xhdpi/btn_switch_to_on_qntm_006.png Binary files differnew file mode 100644 index 0000000..b8e4bd6 --- /dev/null +++ b/core/res/res/drawable-xhdpi/btn_switch_to_on_qntm_006.png diff --git a/core/res/res/drawable-xhdpi/btn_switch_to_on_qntm_007.png b/core/res/res/drawable-xhdpi/btn_switch_to_on_qntm_007.png Binary files differnew file mode 100644 index 0000000..ec6d6d7 --- /dev/null +++ b/core/res/res/drawable-xhdpi/btn_switch_to_on_qntm_007.png diff --git a/core/res/res/drawable-xhdpi/btn_switch_to_on_qntm_008.png b/core/res/res/drawable-xhdpi/btn_switch_to_on_qntm_008.png Binary files differnew file mode 100644 index 0000000..c0e493f --- /dev/null +++ b/core/res/res/drawable-xhdpi/btn_switch_to_on_qntm_008.png diff --git a/core/res/res/drawable-xhdpi/btn_switch_to_on_qntm_009.png b/core/res/res/drawable-xhdpi/btn_switch_to_on_qntm_009.png Binary files differnew file mode 100644 index 0000000..2494fd4 --- /dev/null +++ b/core/res/res/drawable-xhdpi/btn_switch_to_on_qntm_009.png diff --git a/core/res/res/drawable-xhdpi/btn_switch_to_on_qntm_010.png b/core/res/res/drawable-xhdpi/btn_switch_to_on_qntm_010.png Binary files differnew file mode 100644 index 0000000..2494fd4 --- /dev/null +++ b/core/res/res/drawable-xhdpi/btn_switch_to_on_qntm_010.png diff --git a/core/res/res/drawable-xhdpi/btn_switch_to_on_qntm_011.png b/core/res/res/drawable-xhdpi/btn_switch_to_on_qntm_011.png Binary files differnew file mode 100644 index 0000000..2494fd4 --- /dev/null +++ b/core/res/res/drawable-xhdpi/btn_switch_to_on_qntm_011.png diff --git a/core/res/res/drawable-xhdpi/btn_switch_to_on_qntm_012.png b/core/res/res/drawable-xhdpi/btn_switch_to_on_qntm_012.png Binary files differnew file mode 100644 index 0000000..2494fd4 --- /dev/null +++ b/core/res/res/drawable-xhdpi/btn_switch_to_on_qntm_012.png diff --git a/core/res/res/drawable-xhdpi/btn_switch_to_on_qntm_013.png b/core/res/res/drawable-xhdpi/btn_switch_to_on_qntm_013.png Binary files differnew file mode 100644 index 0000000..2494fd4 --- /dev/null +++ b/core/res/res/drawable-xhdpi/btn_switch_to_on_qntm_013.png diff --git a/core/res/res/drawable-xhdpi/btn_switch_to_on_qntm_014.png b/core/res/res/drawable-xhdpi/btn_switch_to_on_qntm_014.png Binary files differnew file mode 100644 index 0000000..2494fd4 --- /dev/null +++ b/core/res/res/drawable-xhdpi/btn_switch_to_on_qntm_014.png diff --git a/core/res/res/drawable-xhdpi/btn_toggle_indicator_qntm_alpha.9.png b/core/res/res/drawable-xhdpi/btn_toggle_indicator_qntm_alpha.9.png Binary files differnew file mode 100644 index 0000000..dff391f --- /dev/null +++ b/core/res/res/drawable-xhdpi/btn_toggle_indicator_qntm_alpha.9.png diff --git a/core/res/res/drawable-xhdpi/btn_toggle_qntm_alpha.9.png b/core/res/res/drawable-xhdpi/btn_toggle_qntm_alpha.9.png Binary files differnew file mode 100644 index 0000000..b135338 --- /dev/null +++ b/core/res/res/drawable-xhdpi/btn_toggle_qntm_alpha.9.png diff --git a/core/res/res/drawable-xhdpi/scrubber_control_from_pressed_qntm_000.png b/core/res/res/drawable-xhdpi/scrubber_control_from_pressed_qntm_000.png Binary files differnew file mode 100644 index 0000000..ea09a31 --- /dev/null +++ b/core/res/res/drawable-xhdpi/scrubber_control_from_pressed_qntm_000.png diff --git a/core/res/res/drawable-xhdpi/scrubber_control_from_pressed_qntm_001.png b/core/res/res/drawable-xhdpi/scrubber_control_from_pressed_qntm_001.png Binary files differnew file mode 100644 index 0000000..f9a4391 --- /dev/null +++ b/core/res/res/drawable-xhdpi/scrubber_control_from_pressed_qntm_001.png diff --git a/core/res/res/drawable-xhdpi/scrubber_control_from_pressed_qntm_002.png b/core/res/res/drawable-xhdpi/scrubber_control_from_pressed_qntm_002.png Binary files differnew file mode 100644 index 0000000..d9606e1 --- /dev/null +++ b/core/res/res/drawable-xhdpi/scrubber_control_from_pressed_qntm_002.png diff --git a/core/res/res/drawable-xhdpi/scrubber_control_from_pressed_qntm_003.png b/core/res/res/drawable-xhdpi/scrubber_control_from_pressed_qntm_003.png Binary files differnew file mode 100644 index 0000000..df2d9d0 --- /dev/null +++ b/core/res/res/drawable-xhdpi/scrubber_control_from_pressed_qntm_003.png diff --git a/core/res/res/drawable-xhdpi/scrubber_control_from_pressed_qntm_004.png b/core/res/res/drawable-xhdpi/scrubber_control_from_pressed_qntm_004.png Binary files differnew file mode 100644 index 0000000..625a322 --- /dev/null +++ b/core/res/res/drawable-xhdpi/scrubber_control_from_pressed_qntm_004.png diff --git a/core/res/res/drawable-xhdpi/scrubber_control_from_pressed_qntm_005.png b/core/res/res/drawable-xhdpi/scrubber_control_from_pressed_qntm_005.png Binary files differnew file mode 100644 index 0000000..79e8dde --- /dev/null +++ b/core/res/res/drawable-xhdpi/scrubber_control_from_pressed_qntm_005.png diff --git a/core/res/res/drawable-xhdpi/scrubber_control_to_pressed_qntm_000.png b/core/res/res/drawable-xhdpi/scrubber_control_to_pressed_qntm_000.png Binary files differnew file mode 100644 index 0000000..e99c266 --- /dev/null +++ b/core/res/res/drawable-xhdpi/scrubber_control_to_pressed_qntm_000.png diff --git a/core/res/res/drawable-xhdpi/scrubber_control_to_pressed_qntm_001.png b/core/res/res/drawable-xhdpi/scrubber_control_to_pressed_qntm_001.png Binary files differnew file mode 100644 index 0000000..f0329a4 --- /dev/null +++ b/core/res/res/drawable-xhdpi/scrubber_control_to_pressed_qntm_001.png diff --git a/core/res/res/drawable-xhdpi/scrubber_control_to_pressed_qntm_002.png b/core/res/res/drawable-xhdpi/scrubber_control_to_pressed_qntm_002.png Binary files differnew file mode 100644 index 0000000..42c40b7 --- /dev/null +++ b/core/res/res/drawable-xhdpi/scrubber_control_to_pressed_qntm_002.png diff --git a/core/res/res/drawable-xhdpi/scrubber_control_to_pressed_qntm_003.png b/core/res/res/drawable-xhdpi/scrubber_control_to_pressed_qntm_003.png Binary files differnew file mode 100644 index 0000000..807491f --- /dev/null +++ b/core/res/res/drawable-xhdpi/scrubber_control_to_pressed_qntm_003.png diff --git a/core/res/res/drawable-xhdpi/scrubber_control_to_pressed_qntm_004.png b/core/res/res/drawable-xhdpi/scrubber_control_to_pressed_qntm_004.png Binary files differnew file mode 100644 index 0000000..dfec9cc --- /dev/null +++ b/core/res/res/drawable-xhdpi/scrubber_control_to_pressed_qntm_004.png diff --git a/core/res/res/drawable-xhdpi/scrubber_control_to_pressed_qntm_005.png b/core/res/res/drawable-xhdpi/scrubber_control_to_pressed_qntm_005.png Binary files differnew file mode 100644 index 0000000..0ed59ea --- /dev/null +++ b/core/res/res/drawable-xhdpi/scrubber_control_to_pressed_qntm_005.png diff --git a/core/res/res/drawable-xhdpi/switch_off_qntm_alpha.9.png b/core/res/res/drawable-xhdpi/switch_off_qntm_alpha.9.png Binary files differdeleted file mode 100644 index a7a972c..0000000 --- a/core/res/res/drawable-xhdpi/switch_off_qntm_alpha.9.png +++ /dev/null diff --git a/core/res/res/drawable-xhdpi/switch_on_qntm_alpha.9.png b/core/res/res/drawable-xhdpi/switch_on_qntm_alpha.9.png Binary files differdeleted file mode 100644 index dd8910b..0000000 --- a/core/res/res/drawable-xhdpi/switch_on_qntm_alpha.9.png +++ /dev/null diff --git a/core/res/res/drawable-xhdpi/switch_track_qntm_alpha.9.png b/core/res/res/drawable-xhdpi/switch_track_qntm_alpha.9.png Binary files differindex 4970f56..d6a0ab2 100644 --- a/core/res/res/drawable-xhdpi/switch_track_qntm_alpha.9.png +++ b/core/res/res/drawable-xhdpi/switch_track_qntm_alpha.9.png diff --git a/core/res/res/drawable-xhdpi/text_select_handle_left_qntm_alpha.png b/core/res/res/drawable-xhdpi/text_select_handle_left_qntm_alpha.png Binary files differindex 38b8e8b..a01ac10 100644 --- a/core/res/res/drawable-xhdpi/text_select_handle_left_qntm_alpha.png +++ b/core/res/res/drawable-xhdpi/text_select_handle_left_qntm_alpha.png diff --git a/core/res/res/drawable-xhdpi/text_select_handle_right_qntm_alpha.png b/core/res/res/drawable-xhdpi/text_select_handle_right_qntm_alpha.png Binary files differindex d6002a7..d3602d9 100644 --- a/core/res/res/drawable-xhdpi/text_select_handle_right_qntm_alpha.png +++ b/core/res/res/drawable-xhdpi/text_select_handle_right_qntm_alpha.png diff --git a/core/res/res/drawable-xxhdpi/btn_check_anim_00000_qntm_alpha.png b/core/res/res/drawable-xxhdpi/btn_check_anim_00000_qntm_alpha.png Binary files differdeleted file mode 100644 index 1881f54..0000000 --- a/core/res/res/drawable-xxhdpi/btn_check_anim_00000_qntm_alpha.png +++ /dev/null diff --git a/core/res/res/drawable-xxhdpi/btn_check_anim_00001_qntm_alpha.png b/core/res/res/drawable-xxhdpi/btn_check_anim_00001_qntm_alpha.png Binary files differdeleted file mode 100644 index 6f8ec2d..0000000 --- a/core/res/res/drawable-xxhdpi/btn_check_anim_00001_qntm_alpha.png +++ /dev/null diff --git a/core/res/res/drawable-xxhdpi/btn_check_anim_00002_qntm_alpha.png b/core/res/res/drawable-xxhdpi/btn_check_anim_00002_qntm_alpha.png Binary files differdeleted file mode 100644 index c954ed9..0000000 --- a/core/res/res/drawable-xxhdpi/btn_check_anim_00002_qntm_alpha.png +++ /dev/null diff --git a/core/res/res/drawable-xxhdpi/btn_check_anim_00003_qntm_alpha.png b/core/res/res/drawable-xxhdpi/btn_check_anim_00003_qntm_alpha.png Binary files differdeleted file mode 100644 index 9d1a47e..0000000 --- a/core/res/res/drawable-xxhdpi/btn_check_anim_00003_qntm_alpha.png +++ /dev/null diff --git a/core/res/res/drawable-xxhdpi/btn_check_anim_00004_qntm_alpha.png b/core/res/res/drawable-xxhdpi/btn_check_anim_00004_qntm_alpha.png Binary files differdeleted file mode 100644 index ce63631..0000000 --- a/core/res/res/drawable-xxhdpi/btn_check_anim_00004_qntm_alpha.png +++ /dev/null diff --git a/core/res/res/drawable-xxhdpi/btn_check_anim_00005_qntm_alpha.png b/core/res/res/drawable-xxhdpi/btn_check_anim_00005_qntm_alpha.png Binary files differdeleted file mode 100644 index 430c134..0000000 --- a/core/res/res/drawable-xxhdpi/btn_check_anim_00005_qntm_alpha.png +++ /dev/null diff --git a/core/res/res/drawable-xxhdpi/btn_check_anim_00006_qntm_alpha.png b/core/res/res/drawable-xxhdpi/btn_check_anim_00006_qntm_alpha.png Binary files differdeleted file mode 100644 index cdebf83..0000000 --- a/core/res/res/drawable-xxhdpi/btn_check_anim_00006_qntm_alpha.png +++ /dev/null diff --git a/core/res/res/drawable-xxhdpi/btn_check_anim_00007_qntm_alpha.png b/core/res/res/drawable-xxhdpi/btn_check_anim_00007_qntm_alpha.png Binary files differdeleted file mode 100644 index 40ceadb..0000000 --- a/core/res/res/drawable-xxhdpi/btn_check_anim_00007_qntm_alpha.png +++ /dev/null diff --git a/core/res/res/drawable-xxhdpi/btn_check_anim_00008_qntm_alpha.png b/core/res/res/drawable-xxhdpi/btn_check_anim_00008_qntm_alpha.png Binary files differdeleted file mode 100644 index fb13eb2..0000000 --- a/core/res/res/drawable-xxhdpi/btn_check_anim_00008_qntm_alpha.png +++ /dev/null diff --git a/core/res/res/drawable-xxhdpi/btn_check_anim_00009_qntm_alpha.png b/core/res/res/drawable-xxhdpi/btn_check_anim_00009_qntm_alpha.png Binary files differdeleted file mode 100644 index d716fba..0000000 --- a/core/res/res/drawable-xxhdpi/btn_check_anim_00009_qntm_alpha.png +++ /dev/null diff --git a/core/res/res/drawable-xxhdpi/btn_check_anim_00010_qntm_alpha.png b/core/res/res/drawable-xxhdpi/btn_check_anim_00010_qntm_alpha.png Binary files differdeleted file mode 100644 index b8be041..0000000 --- a/core/res/res/drawable-xxhdpi/btn_check_anim_00010_qntm_alpha.png +++ /dev/null diff --git a/core/res/res/drawable-xxhdpi/btn_check_anim_00011_qntm_alpha.png b/core/res/res/drawable-xxhdpi/btn_check_anim_00011_qntm_alpha.png Binary files differdeleted file mode 100644 index bad0c3c..0000000 --- a/core/res/res/drawable-xxhdpi/btn_check_anim_00011_qntm_alpha.png +++ /dev/null diff --git a/core/res/res/drawable-xxhdpi/btn_check_anim_00012_qntm_alpha.png b/core/res/res/drawable-xxhdpi/btn_check_anim_00012_qntm_alpha.png Binary files differdeleted file mode 100644 index a6368fb..0000000 --- a/core/res/res/drawable-xxhdpi/btn_check_anim_00012_qntm_alpha.png +++ /dev/null diff --git a/core/res/res/drawable-xxhdpi/btn_check_anim_00013_qntm_alpha.png b/core/res/res/drawable-xxhdpi/btn_check_anim_00013_qntm_alpha.png Binary files differdeleted file mode 100644 index 234e5d1..0000000 --- a/core/res/res/drawable-xxhdpi/btn_check_anim_00013_qntm_alpha.png +++ /dev/null diff --git a/core/res/res/drawable-xxhdpi/btn_check_anim_00014_qntm_alpha.png b/core/res/res/drawable-xxhdpi/btn_check_anim_00014_qntm_alpha.png Binary files differdeleted file mode 100644 index 3e7796d..0000000 --- a/core/res/res/drawable-xxhdpi/btn_check_anim_00014_qntm_alpha.png +++ /dev/null diff --git a/core/res/res/drawable-xxhdpi/btn_check_anim_00015_qntm_alpha.png b/core/res/res/drawable-xxhdpi/btn_check_anim_00015_qntm_alpha.png Binary files differdeleted file mode 100644 index 0673999..0000000 --- a/core/res/res/drawable-xxhdpi/btn_check_anim_00015_qntm_alpha.png +++ /dev/null diff --git a/core/res/res/drawable-xxhdpi/btn_check_off_qntm_alpha.png b/core/res/res/drawable-xxhdpi/btn_check_off_qntm_alpha.png Binary files differdeleted file mode 100644 index 2a17861..0000000 --- a/core/res/res/drawable-xxhdpi/btn_check_off_qntm_alpha.png +++ /dev/null diff --git a/core/res/res/drawable-xxhdpi/btn_check_on_qntm_alpha.png b/core/res/res/drawable-xxhdpi/btn_check_on_qntm_alpha.png Binary files differdeleted file mode 100644 index 61067ac..0000000 --- a/core/res/res/drawable-xxhdpi/btn_check_on_qntm_alpha.png +++ /dev/null diff --git a/core/res/res/drawable-xxhdpi/btn_check_to_off_qntm_000.png b/core/res/res/drawable-xxhdpi/btn_check_to_off_qntm_000.png Binary files differnew file mode 100644 index 0000000..b754381 --- /dev/null +++ b/core/res/res/drawable-xxhdpi/btn_check_to_off_qntm_000.png diff --git a/core/res/res/drawable-xxhdpi/btn_check_to_off_qntm_001.png b/core/res/res/drawable-xxhdpi/btn_check_to_off_qntm_001.png Binary files differnew file mode 100644 index 0000000..517d7a7 --- /dev/null +++ b/core/res/res/drawable-xxhdpi/btn_check_to_off_qntm_001.png diff --git a/core/res/res/drawable-xxhdpi/btn_check_to_off_qntm_002.png b/core/res/res/drawable-xxhdpi/btn_check_to_off_qntm_002.png Binary files differnew file mode 100644 index 0000000..2c1d5b6 --- /dev/null +++ b/core/res/res/drawable-xxhdpi/btn_check_to_off_qntm_002.png diff --git a/core/res/res/drawable-xxhdpi/btn_check_to_off_qntm_003.png b/core/res/res/drawable-xxhdpi/btn_check_to_off_qntm_003.png Binary files differnew file mode 100644 index 0000000..0c6ff7e --- /dev/null +++ b/core/res/res/drawable-xxhdpi/btn_check_to_off_qntm_003.png diff --git a/core/res/res/drawable-xxhdpi/btn_check_to_off_qntm_004.png b/core/res/res/drawable-xxhdpi/btn_check_to_off_qntm_004.png Binary files differnew file mode 100644 index 0000000..0796601 --- /dev/null +++ b/core/res/res/drawable-xxhdpi/btn_check_to_off_qntm_004.png diff --git a/core/res/res/drawable-xxhdpi/btn_check_to_off_qntm_005.png b/core/res/res/drawable-xxhdpi/btn_check_to_off_qntm_005.png Binary files differnew file mode 100644 index 0000000..9b4e0f8 --- /dev/null +++ b/core/res/res/drawable-xxhdpi/btn_check_to_off_qntm_005.png diff --git a/core/res/res/drawable-xxhdpi/btn_check_to_off_qntm_006.png b/core/res/res/drawable-xxhdpi/btn_check_to_off_qntm_006.png Binary files differnew file mode 100644 index 0000000..25767eb --- /dev/null +++ b/core/res/res/drawable-xxhdpi/btn_check_to_off_qntm_006.png diff --git a/core/res/res/drawable-xxhdpi/btn_check_to_off_qntm_007.png b/core/res/res/drawable-xxhdpi/btn_check_to_off_qntm_007.png Binary files differnew file mode 100644 index 0000000..cd0951f --- /dev/null +++ b/core/res/res/drawable-xxhdpi/btn_check_to_off_qntm_007.png diff --git a/core/res/res/drawable-xxhdpi/btn_check_to_off_qntm_008.png b/core/res/res/drawable-xxhdpi/btn_check_to_off_qntm_008.png Binary files differnew file mode 100644 index 0000000..9ae8165 --- /dev/null +++ b/core/res/res/drawable-xxhdpi/btn_check_to_off_qntm_008.png diff --git a/core/res/res/drawable-xxhdpi/btn_check_to_off_qntm_009.png b/core/res/res/drawable-xxhdpi/btn_check_to_off_qntm_009.png Binary files differnew file mode 100644 index 0000000..efd9bc6 --- /dev/null +++ b/core/res/res/drawable-xxhdpi/btn_check_to_off_qntm_009.png diff --git a/core/res/res/drawable-xxhdpi/btn_check_to_off_qntm_010.png b/core/res/res/drawable-xxhdpi/btn_check_to_off_qntm_010.png Binary files differnew file mode 100644 index 0000000..fccbc9d --- /dev/null +++ b/core/res/res/drawable-xxhdpi/btn_check_to_off_qntm_010.png diff --git a/core/res/res/drawable-xxhdpi/btn_check_to_off_qntm_011.png b/core/res/res/drawable-xxhdpi/btn_check_to_off_qntm_011.png Binary files differnew file mode 100644 index 0000000..dddafca --- /dev/null +++ b/core/res/res/drawable-xxhdpi/btn_check_to_off_qntm_011.png diff --git a/core/res/res/drawable-xxhdpi/btn_check_to_off_qntm_012.png b/core/res/res/drawable-xxhdpi/btn_check_to_off_qntm_012.png Binary files differnew file mode 100644 index 0000000..7e37433 --- /dev/null +++ b/core/res/res/drawable-xxhdpi/btn_check_to_off_qntm_012.png diff --git a/core/res/res/drawable-xxhdpi/btn_check_to_off_qntm_013.png b/core/res/res/drawable-xxhdpi/btn_check_to_off_qntm_013.png Binary files differnew file mode 100644 index 0000000..9bc22de --- /dev/null +++ b/core/res/res/drawable-xxhdpi/btn_check_to_off_qntm_013.png diff --git a/core/res/res/drawable-xxhdpi/btn_check_to_off_qntm_014.png b/core/res/res/drawable-xxhdpi/btn_check_to_off_qntm_014.png Binary files differnew file mode 100644 index 0000000..507ed10 --- /dev/null +++ b/core/res/res/drawable-xxhdpi/btn_check_to_off_qntm_014.png diff --git a/core/res/res/drawable-xxhdpi/btn_check_to_off_qntm_015.png b/core/res/res/drawable-xxhdpi/btn_check_to_off_qntm_015.png Binary files differnew file mode 100644 index 0000000..6a21c7f --- /dev/null +++ b/core/res/res/drawable-xxhdpi/btn_check_to_off_qntm_015.png diff --git a/core/res/res/drawable-xxhdpi/btn_check_to_on_qntm_000.png b/core/res/res/drawable-xxhdpi/btn_check_to_on_qntm_000.png Binary files differnew file mode 100644 index 0000000..0d544d9 --- /dev/null +++ b/core/res/res/drawable-xxhdpi/btn_check_to_on_qntm_000.png diff --git a/core/res/res/drawable-xxhdpi/btn_check_to_on_qntm_001.png b/core/res/res/drawable-xxhdpi/btn_check_to_on_qntm_001.png Binary files differnew file mode 100644 index 0000000..39da0ac --- /dev/null +++ b/core/res/res/drawable-xxhdpi/btn_check_to_on_qntm_001.png diff --git a/core/res/res/drawable-xxhdpi/btn_check_to_on_qntm_002.png b/core/res/res/drawable-xxhdpi/btn_check_to_on_qntm_002.png Binary files differnew file mode 100644 index 0000000..d5ada12 --- /dev/null +++ b/core/res/res/drawable-xxhdpi/btn_check_to_on_qntm_002.png diff --git a/core/res/res/drawable-xxhdpi/btn_check_to_on_qntm_003.png b/core/res/res/drawable-xxhdpi/btn_check_to_on_qntm_003.png Binary files differnew file mode 100644 index 0000000..d4e096c --- /dev/null +++ b/core/res/res/drawable-xxhdpi/btn_check_to_on_qntm_003.png diff --git a/core/res/res/drawable-xxhdpi/btn_check_to_on_qntm_004.png b/core/res/res/drawable-xxhdpi/btn_check_to_on_qntm_004.png Binary files differnew file mode 100644 index 0000000..468a9b4 --- /dev/null +++ b/core/res/res/drawable-xxhdpi/btn_check_to_on_qntm_004.png diff --git a/core/res/res/drawable-xxhdpi/btn_check_to_on_qntm_005.png b/core/res/res/drawable-xxhdpi/btn_check_to_on_qntm_005.png Binary files differnew file mode 100644 index 0000000..ea3cd2e --- /dev/null +++ b/core/res/res/drawable-xxhdpi/btn_check_to_on_qntm_005.png diff --git a/core/res/res/drawable-xxhdpi/btn_check_to_on_qntm_006.png b/core/res/res/drawable-xxhdpi/btn_check_to_on_qntm_006.png Binary files differnew file mode 100644 index 0000000..0652cb0 --- /dev/null +++ b/core/res/res/drawable-xxhdpi/btn_check_to_on_qntm_006.png diff --git a/core/res/res/drawable-xxhdpi/btn_check_to_on_qntm_007.png b/core/res/res/drawable-xxhdpi/btn_check_to_on_qntm_007.png Binary files differnew file mode 100644 index 0000000..768d2b0 --- /dev/null +++ b/core/res/res/drawable-xxhdpi/btn_check_to_on_qntm_007.png diff --git a/core/res/res/drawable-xxhdpi/btn_check_to_on_qntm_008.png b/core/res/res/drawable-xxhdpi/btn_check_to_on_qntm_008.png Binary files differnew file mode 100644 index 0000000..1d06a90 --- /dev/null +++ b/core/res/res/drawable-xxhdpi/btn_check_to_on_qntm_008.png diff --git a/core/res/res/drawable-xxhdpi/btn_check_to_on_qntm_009.png b/core/res/res/drawable-xxhdpi/btn_check_to_on_qntm_009.png Binary files differnew file mode 100644 index 0000000..8a70a80 --- /dev/null +++ b/core/res/res/drawable-xxhdpi/btn_check_to_on_qntm_009.png diff --git a/core/res/res/drawable-xxhdpi/btn_check_to_on_qntm_010.png b/core/res/res/drawable-xxhdpi/btn_check_to_on_qntm_010.png Binary files differnew file mode 100644 index 0000000..bf9ec7f --- /dev/null +++ b/core/res/res/drawable-xxhdpi/btn_check_to_on_qntm_010.png diff --git a/core/res/res/drawable-xxhdpi/btn_check_to_on_qntm_011.png b/core/res/res/drawable-xxhdpi/btn_check_to_on_qntm_011.png Binary files differnew file mode 100644 index 0000000..cff07b9 --- /dev/null +++ b/core/res/res/drawable-xxhdpi/btn_check_to_on_qntm_011.png diff --git a/core/res/res/drawable-xxhdpi/btn_check_to_on_qntm_012.png b/core/res/res/drawable-xxhdpi/btn_check_to_on_qntm_012.png Binary files differnew file mode 100644 index 0000000..40f997e --- /dev/null +++ b/core/res/res/drawable-xxhdpi/btn_check_to_on_qntm_012.png diff --git a/core/res/res/drawable-xxhdpi/btn_check_to_on_qntm_013.png b/core/res/res/drawable-xxhdpi/btn_check_to_on_qntm_013.png Binary files differnew file mode 100644 index 0000000..6ba84ec --- /dev/null +++ b/core/res/res/drawable-xxhdpi/btn_check_to_on_qntm_013.png diff --git a/core/res/res/drawable-xxhdpi/btn_check_to_on_qntm_014.png b/core/res/res/drawable-xxhdpi/btn_check_to_on_qntm_014.png Binary files differnew file mode 100644 index 0000000..766610e --- /dev/null +++ b/core/res/res/drawable-xxhdpi/btn_check_to_on_qntm_014.png diff --git a/core/res/res/drawable-xxhdpi/btn_check_to_on_qntm_015.png b/core/res/res/drawable-xxhdpi/btn_check_to_on_qntm_015.png Binary files differnew file mode 100644 index 0000000..810a029 --- /dev/null +++ b/core/res/res/drawable-xxhdpi/btn_check_to_on_qntm_015.png diff --git a/core/res/res/drawable-xxhdpi/btn_radio_off_pressed_qntm_alpha.png b/core/res/res/drawable-xxhdpi/btn_radio_off_pressed_qntm_alpha.png Binary files differdeleted file mode 100644 index fdbbbce..0000000 --- a/core/res/res/drawable-xxhdpi/btn_radio_off_pressed_qntm_alpha.png +++ /dev/null diff --git a/core/res/res/drawable-xxhdpi/btn_radio_off_qntm_alpha.png b/core/res/res/drawable-xxhdpi/btn_radio_off_qntm_alpha.png Binary files differdeleted file mode 100644 index 0ec2ee6..0000000 --- a/core/res/res/drawable-xxhdpi/btn_radio_off_qntm_alpha.png +++ /dev/null diff --git a/core/res/res/drawable-xxhdpi/btn_radio_on_pressed_qntm_alpha.png b/core/res/res/drawable-xxhdpi/btn_radio_on_pressed_qntm_alpha.png Binary files differdeleted file mode 100644 index b46ee1c..0000000 --- a/core/res/res/drawable-xxhdpi/btn_radio_on_pressed_qntm_alpha.png +++ /dev/null diff --git a/core/res/res/drawable-xxhdpi/btn_radio_on_qntm_alpha.png b/core/res/res/drawable-xxhdpi/btn_radio_on_qntm_alpha.png Binary files differdeleted file mode 100644 index 8737156..0000000 --- a/core/res/res/drawable-xxhdpi/btn_radio_on_qntm_alpha.png +++ /dev/null diff --git a/core/res/res/drawable-xxhdpi/btn_radio_to_off_qntm_000.png b/core/res/res/drawable-xxhdpi/btn_radio_to_off_qntm_000.png Binary files differnew file mode 100644 index 0000000..cbc3833 --- /dev/null +++ b/core/res/res/drawable-xxhdpi/btn_radio_to_off_qntm_000.png diff --git a/core/res/res/drawable-xxhdpi/btn_radio_to_off_qntm_001.png b/core/res/res/drawable-xxhdpi/btn_radio_to_off_qntm_001.png Binary files differnew file mode 100644 index 0000000..4243895 --- /dev/null +++ b/core/res/res/drawable-xxhdpi/btn_radio_to_off_qntm_001.png diff --git a/core/res/res/drawable-xxhdpi/btn_radio_to_off_qntm_002.png b/core/res/res/drawable-xxhdpi/btn_radio_to_off_qntm_002.png Binary files differnew file mode 100644 index 0000000..b522d37 --- /dev/null +++ b/core/res/res/drawable-xxhdpi/btn_radio_to_off_qntm_002.png diff --git a/core/res/res/drawable-xxhdpi/btn_radio_to_off_qntm_003.png b/core/res/res/drawable-xxhdpi/btn_radio_to_off_qntm_003.png Binary files differnew file mode 100644 index 0000000..647b965 --- /dev/null +++ b/core/res/res/drawable-xxhdpi/btn_radio_to_off_qntm_003.png diff --git a/core/res/res/drawable-xxhdpi/btn_radio_to_off_qntm_004.png b/core/res/res/drawable-xxhdpi/btn_radio_to_off_qntm_004.png Binary files differnew file mode 100644 index 0000000..a317497 --- /dev/null +++ b/core/res/res/drawable-xxhdpi/btn_radio_to_off_qntm_004.png diff --git a/core/res/res/drawable-xxhdpi/btn_radio_to_off_qntm_005.png b/core/res/res/drawable-xxhdpi/btn_radio_to_off_qntm_005.png Binary files differnew file mode 100644 index 0000000..0e4b25f --- /dev/null +++ b/core/res/res/drawable-xxhdpi/btn_radio_to_off_qntm_005.png diff --git a/core/res/res/drawable-xxhdpi/btn_radio_to_off_qntm_006.png b/core/res/res/drawable-xxhdpi/btn_radio_to_off_qntm_006.png Binary files differnew file mode 100644 index 0000000..6e279d9 --- /dev/null +++ b/core/res/res/drawable-xxhdpi/btn_radio_to_off_qntm_006.png diff --git a/core/res/res/drawable-xxhdpi/btn_radio_to_off_qntm_007.png b/core/res/res/drawable-xxhdpi/btn_radio_to_off_qntm_007.png Binary files differnew file mode 100644 index 0000000..f0840cc --- /dev/null +++ b/core/res/res/drawable-xxhdpi/btn_radio_to_off_qntm_007.png diff --git a/core/res/res/drawable-xxhdpi/btn_radio_to_off_qntm_008.png b/core/res/res/drawable-xxhdpi/btn_radio_to_off_qntm_008.png Binary files differnew file mode 100644 index 0000000..140e9e8 --- /dev/null +++ b/core/res/res/drawable-xxhdpi/btn_radio_to_off_qntm_008.png diff --git a/core/res/res/drawable-xxhdpi/btn_radio_to_off_qntm_009.png b/core/res/res/drawable-xxhdpi/btn_radio_to_off_qntm_009.png Binary files differnew file mode 100644 index 0000000..5cf8ec5 --- /dev/null +++ b/core/res/res/drawable-xxhdpi/btn_radio_to_off_qntm_009.png diff --git a/core/res/res/drawable-xxhdpi/btn_radio_to_off_qntm_010.png b/core/res/res/drawable-xxhdpi/btn_radio_to_off_qntm_010.png Binary files differnew file mode 100644 index 0000000..f9624d8 --- /dev/null +++ b/core/res/res/drawable-xxhdpi/btn_radio_to_off_qntm_010.png diff --git a/core/res/res/drawable-xxhdpi/btn_radio_to_off_qntm_011.png b/core/res/res/drawable-xxhdpi/btn_radio_to_off_qntm_011.png Binary files differnew file mode 100644 index 0000000..899df8c --- /dev/null +++ b/core/res/res/drawable-xxhdpi/btn_radio_to_off_qntm_011.png diff --git a/core/res/res/drawable-xxhdpi/btn_radio_to_off_qntm_012.png b/core/res/res/drawable-xxhdpi/btn_radio_to_off_qntm_012.png Binary files differnew file mode 100644 index 0000000..6543e1c --- /dev/null +++ b/core/res/res/drawable-xxhdpi/btn_radio_to_off_qntm_012.png diff --git a/core/res/res/drawable-xxhdpi/btn_radio_to_off_qntm_013.png b/core/res/res/drawable-xxhdpi/btn_radio_to_off_qntm_013.png Binary files differnew file mode 100644 index 0000000..cd758dd --- /dev/null +++ b/core/res/res/drawable-xxhdpi/btn_radio_to_off_qntm_013.png diff --git a/core/res/res/drawable-xxhdpi/btn_radio_to_off_qntm_014.png b/core/res/res/drawable-xxhdpi/btn_radio_to_off_qntm_014.png Binary files differnew file mode 100644 index 0000000..72d950c --- /dev/null +++ b/core/res/res/drawable-xxhdpi/btn_radio_to_off_qntm_014.png diff --git a/core/res/res/drawable-xxhdpi/btn_radio_to_off_qntm_015.png b/core/res/res/drawable-xxhdpi/btn_radio_to_off_qntm_015.png Binary files differnew file mode 100644 index 0000000..07bdbc9 --- /dev/null +++ b/core/res/res/drawable-xxhdpi/btn_radio_to_off_qntm_015.png diff --git a/core/res/res/drawable-xxhdpi/btn_radio_to_on_qntm_000.png b/core/res/res/drawable-xxhdpi/btn_radio_to_on_qntm_000.png Binary files differnew file mode 100644 index 0000000..c9af24b --- /dev/null +++ b/core/res/res/drawable-xxhdpi/btn_radio_to_on_qntm_000.png diff --git a/core/res/res/drawable-xxhdpi/btn_radio_to_on_qntm_001.png b/core/res/res/drawable-xxhdpi/btn_radio_to_on_qntm_001.png Binary files differnew file mode 100644 index 0000000..01de3f5 --- /dev/null +++ b/core/res/res/drawable-xxhdpi/btn_radio_to_on_qntm_001.png diff --git a/core/res/res/drawable-xxhdpi/btn_radio_to_on_qntm_002.png b/core/res/res/drawable-xxhdpi/btn_radio_to_on_qntm_002.png Binary files differnew file mode 100644 index 0000000..f428bc5 --- /dev/null +++ b/core/res/res/drawable-xxhdpi/btn_radio_to_on_qntm_002.png diff --git a/core/res/res/drawable-xxhdpi/btn_radio_to_on_qntm_003.png b/core/res/res/drawable-xxhdpi/btn_radio_to_on_qntm_003.png Binary files differnew file mode 100644 index 0000000..ab5c008 --- /dev/null +++ b/core/res/res/drawable-xxhdpi/btn_radio_to_on_qntm_003.png diff --git a/core/res/res/drawable-xxhdpi/btn_radio_to_on_qntm_004.png b/core/res/res/drawable-xxhdpi/btn_radio_to_on_qntm_004.png Binary files differnew file mode 100644 index 0000000..5b157cf --- /dev/null +++ b/core/res/res/drawable-xxhdpi/btn_radio_to_on_qntm_004.png diff --git a/core/res/res/drawable-xxhdpi/btn_radio_to_on_qntm_005.png b/core/res/res/drawable-xxhdpi/btn_radio_to_on_qntm_005.png Binary files differnew file mode 100644 index 0000000..1210be2 --- /dev/null +++ b/core/res/res/drawable-xxhdpi/btn_radio_to_on_qntm_005.png diff --git a/core/res/res/drawable-xxhdpi/btn_radio_to_on_qntm_006.png b/core/res/res/drawable-xxhdpi/btn_radio_to_on_qntm_006.png Binary files differnew file mode 100644 index 0000000..e6b4140 --- /dev/null +++ b/core/res/res/drawable-xxhdpi/btn_radio_to_on_qntm_006.png diff --git a/core/res/res/drawable-xxhdpi/btn_radio_to_on_qntm_007.png b/core/res/res/drawable-xxhdpi/btn_radio_to_on_qntm_007.png Binary files differnew file mode 100644 index 0000000..b678e08 --- /dev/null +++ b/core/res/res/drawable-xxhdpi/btn_radio_to_on_qntm_007.png diff --git a/core/res/res/drawable-xxhdpi/btn_radio_to_on_qntm_008.png b/core/res/res/drawable-xxhdpi/btn_radio_to_on_qntm_008.png Binary files differnew file mode 100644 index 0000000..6ca2a69 --- /dev/null +++ b/core/res/res/drawable-xxhdpi/btn_radio_to_on_qntm_008.png diff --git a/core/res/res/drawable-xxhdpi/btn_radio_to_on_qntm_009.png b/core/res/res/drawable-xxhdpi/btn_radio_to_on_qntm_009.png Binary files differnew file mode 100644 index 0000000..7de608e --- /dev/null +++ b/core/res/res/drawable-xxhdpi/btn_radio_to_on_qntm_009.png diff --git a/core/res/res/drawable-xxhdpi/btn_radio_to_on_qntm_010.png b/core/res/res/drawable-xxhdpi/btn_radio_to_on_qntm_010.png Binary files differnew file mode 100644 index 0000000..b2bbcce --- /dev/null +++ b/core/res/res/drawable-xxhdpi/btn_radio_to_on_qntm_010.png diff --git a/core/res/res/drawable-xxhdpi/btn_radio_to_on_qntm_011.png b/core/res/res/drawable-xxhdpi/btn_radio_to_on_qntm_011.png Binary files differnew file mode 100644 index 0000000..6950db3 --- /dev/null +++ b/core/res/res/drawable-xxhdpi/btn_radio_to_on_qntm_011.png diff --git a/core/res/res/drawable-xxhdpi/btn_radio_to_on_qntm_012.png b/core/res/res/drawable-xxhdpi/btn_radio_to_on_qntm_012.png Binary files differnew file mode 100644 index 0000000..c790756 --- /dev/null +++ b/core/res/res/drawable-xxhdpi/btn_radio_to_on_qntm_012.png diff --git a/core/res/res/drawable-xxhdpi/btn_radio_to_on_qntm_013.png b/core/res/res/drawable-xxhdpi/btn_radio_to_on_qntm_013.png Binary files differnew file mode 100644 index 0000000..ed5d888 --- /dev/null +++ b/core/res/res/drawable-xxhdpi/btn_radio_to_on_qntm_013.png diff --git a/core/res/res/drawable-xxhdpi/btn_radio_to_on_qntm_014.png b/core/res/res/drawable-xxhdpi/btn_radio_to_on_qntm_014.png Binary files differnew file mode 100644 index 0000000..81a4a63 --- /dev/null +++ b/core/res/res/drawable-xxhdpi/btn_radio_to_on_qntm_014.png diff --git a/core/res/res/drawable-xxhdpi/btn_radio_to_on_qntm_015.png b/core/res/res/drawable-xxhdpi/btn_radio_to_on_qntm_015.png Binary files differnew file mode 100644 index 0000000..db1d93a --- /dev/null +++ b/core/res/res/drawable-xxhdpi/btn_radio_to_on_qntm_015.png diff --git a/core/res/res/drawable-xxhdpi/btn_switch_to_off_qntm_000.png b/core/res/res/drawable-xxhdpi/btn_switch_to_off_qntm_000.png Binary files differnew file mode 100644 index 0000000..198ac07 --- /dev/null +++ b/core/res/res/drawable-xxhdpi/btn_switch_to_off_qntm_000.png diff --git a/core/res/res/drawable-xxhdpi/btn_switch_to_off_qntm_001.png b/core/res/res/drawable-xxhdpi/btn_switch_to_off_qntm_001.png Binary files differnew file mode 100644 index 0000000..eff3dd0 --- /dev/null +++ b/core/res/res/drawable-xxhdpi/btn_switch_to_off_qntm_001.png diff --git a/core/res/res/drawable-xxhdpi/btn_switch_to_off_qntm_002.png b/core/res/res/drawable-xxhdpi/btn_switch_to_off_qntm_002.png Binary files differnew file mode 100644 index 0000000..000a23a --- /dev/null +++ b/core/res/res/drawable-xxhdpi/btn_switch_to_off_qntm_002.png diff --git a/core/res/res/drawable-xxhdpi/btn_switch_to_off_qntm_003.png b/core/res/res/drawable-xxhdpi/btn_switch_to_off_qntm_003.png Binary files differnew file mode 100644 index 0000000..394d661 --- /dev/null +++ b/core/res/res/drawable-xxhdpi/btn_switch_to_off_qntm_003.png diff --git a/core/res/res/drawable-xxhdpi/btn_switch_to_off_qntm_004.png b/core/res/res/drawable-xxhdpi/btn_switch_to_off_qntm_004.png Binary files differnew file mode 100644 index 0000000..4e7311d --- /dev/null +++ b/core/res/res/drawable-xxhdpi/btn_switch_to_off_qntm_004.png diff --git a/core/res/res/drawable-xxhdpi/btn_switch_to_off_qntm_005.png b/core/res/res/drawable-xxhdpi/btn_switch_to_off_qntm_005.png Binary files differnew file mode 100644 index 0000000..d9dcf91 --- /dev/null +++ b/core/res/res/drawable-xxhdpi/btn_switch_to_off_qntm_005.png diff --git a/core/res/res/drawable-xxhdpi/btn_switch_to_off_qntm_006.png b/core/res/res/drawable-xxhdpi/btn_switch_to_off_qntm_006.png Binary files differnew file mode 100644 index 0000000..674142e --- /dev/null +++ b/core/res/res/drawable-xxhdpi/btn_switch_to_off_qntm_006.png diff --git a/core/res/res/drawable-xxhdpi/btn_switch_to_off_qntm_007.png b/core/res/res/drawable-xxhdpi/btn_switch_to_off_qntm_007.png Binary files differnew file mode 100644 index 0000000..674142e --- /dev/null +++ b/core/res/res/drawable-xxhdpi/btn_switch_to_off_qntm_007.png diff --git a/core/res/res/drawable-xxhdpi/btn_switch_to_off_qntm_008.png b/core/res/res/drawable-xxhdpi/btn_switch_to_off_qntm_008.png Binary files differnew file mode 100644 index 0000000..9d4026a --- /dev/null +++ b/core/res/res/drawable-xxhdpi/btn_switch_to_off_qntm_008.png diff --git a/core/res/res/drawable-xxhdpi/btn_switch_to_off_qntm_009.png b/core/res/res/drawable-xxhdpi/btn_switch_to_off_qntm_009.png Binary files differnew file mode 100644 index 0000000..bb4b426 --- /dev/null +++ b/core/res/res/drawable-xxhdpi/btn_switch_to_off_qntm_009.png diff --git a/core/res/res/drawable-xxhdpi/btn_switch_to_off_qntm_010.png b/core/res/res/drawable-xxhdpi/btn_switch_to_off_qntm_010.png Binary files differnew file mode 100644 index 0000000..a37076d --- /dev/null +++ b/core/res/res/drawable-xxhdpi/btn_switch_to_off_qntm_010.png diff --git a/core/res/res/drawable-xxhdpi/btn_switch_to_off_qntm_011.png b/core/res/res/drawable-xxhdpi/btn_switch_to_off_qntm_011.png Binary files differnew file mode 100644 index 0000000..a37076d --- /dev/null +++ b/core/res/res/drawable-xxhdpi/btn_switch_to_off_qntm_011.png diff --git a/core/res/res/drawable-xxhdpi/btn_switch_to_off_qntm_012.png b/core/res/res/drawable-xxhdpi/btn_switch_to_off_qntm_012.png Binary files differnew file mode 100644 index 0000000..a37076d --- /dev/null +++ b/core/res/res/drawable-xxhdpi/btn_switch_to_off_qntm_012.png diff --git a/core/res/res/drawable-xxhdpi/btn_switch_to_off_qntm_013.png b/core/res/res/drawable-xxhdpi/btn_switch_to_off_qntm_013.png Binary files differnew file mode 100644 index 0000000..a37076d --- /dev/null +++ b/core/res/res/drawable-xxhdpi/btn_switch_to_off_qntm_013.png diff --git a/core/res/res/drawable-xxhdpi/btn_switch_to_off_qntm_014.png b/core/res/res/drawable-xxhdpi/btn_switch_to_off_qntm_014.png Binary files differnew file mode 100644 index 0000000..a37076d --- /dev/null +++ b/core/res/res/drawable-xxhdpi/btn_switch_to_off_qntm_014.png diff --git a/core/res/res/drawable-xxhdpi/btn_switch_to_on_qntm_000.png b/core/res/res/drawable-xxhdpi/btn_switch_to_on_qntm_000.png Binary files differnew file mode 100644 index 0000000..22e9951 --- /dev/null +++ b/core/res/res/drawable-xxhdpi/btn_switch_to_on_qntm_000.png diff --git a/core/res/res/drawable-xxhdpi/btn_switch_to_on_qntm_001.png b/core/res/res/drawable-xxhdpi/btn_switch_to_on_qntm_001.png Binary files differnew file mode 100644 index 0000000..14e6b39 --- /dev/null +++ b/core/res/res/drawable-xxhdpi/btn_switch_to_on_qntm_001.png diff --git a/core/res/res/drawable-xxhdpi/btn_switch_to_on_qntm_002.png b/core/res/res/drawable-xxhdpi/btn_switch_to_on_qntm_002.png Binary files differnew file mode 100644 index 0000000..86b2c01 --- /dev/null +++ b/core/res/res/drawable-xxhdpi/btn_switch_to_on_qntm_002.png diff --git a/core/res/res/drawable-xxhdpi/btn_switch_to_on_qntm_003.png b/core/res/res/drawable-xxhdpi/btn_switch_to_on_qntm_003.png Binary files differnew file mode 100644 index 0000000..1c565df --- /dev/null +++ b/core/res/res/drawable-xxhdpi/btn_switch_to_on_qntm_003.png diff --git a/core/res/res/drawable-xxhdpi/btn_switch_to_on_qntm_004.png b/core/res/res/drawable-xxhdpi/btn_switch_to_on_qntm_004.png Binary files differnew file mode 100644 index 0000000..b825449 --- /dev/null +++ b/core/res/res/drawable-xxhdpi/btn_switch_to_on_qntm_004.png diff --git a/core/res/res/drawable-xxhdpi/btn_switch_to_on_qntm_005.png b/core/res/res/drawable-xxhdpi/btn_switch_to_on_qntm_005.png Binary files differnew file mode 100644 index 0000000..170c234 --- /dev/null +++ b/core/res/res/drawable-xxhdpi/btn_switch_to_on_qntm_005.png diff --git a/core/res/res/drawable-xxhdpi/btn_switch_to_on_qntm_006.png b/core/res/res/drawable-xxhdpi/btn_switch_to_on_qntm_006.png Binary files differnew file mode 100644 index 0000000..5477007 --- /dev/null +++ b/core/res/res/drawable-xxhdpi/btn_switch_to_on_qntm_006.png diff --git a/core/res/res/drawable-xxhdpi/btn_switch_to_on_qntm_007.png b/core/res/res/drawable-xxhdpi/btn_switch_to_on_qntm_007.png Binary files differnew file mode 100644 index 0000000..eff3dd0 --- /dev/null +++ b/core/res/res/drawable-xxhdpi/btn_switch_to_on_qntm_007.png diff --git a/core/res/res/drawable-xxhdpi/btn_switch_to_on_qntm_008.png b/core/res/res/drawable-xxhdpi/btn_switch_to_on_qntm_008.png Binary files differnew file mode 100644 index 0000000..e3fd96a --- /dev/null +++ b/core/res/res/drawable-xxhdpi/btn_switch_to_on_qntm_008.png diff --git a/core/res/res/drawable-xxhdpi/btn_switch_to_on_qntm_009.png b/core/res/res/drawable-xxhdpi/btn_switch_to_on_qntm_009.png Binary files differnew file mode 100644 index 0000000..198ac07 --- /dev/null +++ b/core/res/res/drawable-xxhdpi/btn_switch_to_on_qntm_009.png diff --git a/core/res/res/drawable-xxhdpi/btn_switch_to_on_qntm_010.png b/core/res/res/drawable-xxhdpi/btn_switch_to_on_qntm_010.png Binary files differnew file mode 100644 index 0000000..198ac07 --- /dev/null +++ b/core/res/res/drawable-xxhdpi/btn_switch_to_on_qntm_010.png diff --git a/core/res/res/drawable-xxhdpi/btn_switch_to_on_qntm_011.png b/core/res/res/drawable-xxhdpi/btn_switch_to_on_qntm_011.png Binary files differnew file mode 100644 index 0000000..198ac07 --- /dev/null +++ b/core/res/res/drawable-xxhdpi/btn_switch_to_on_qntm_011.png diff --git a/core/res/res/drawable-xxhdpi/btn_switch_to_on_qntm_012.png b/core/res/res/drawable-xxhdpi/btn_switch_to_on_qntm_012.png Binary files differnew file mode 100644 index 0000000..198ac07 --- /dev/null +++ b/core/res/res/drawable-xxhdpi/btn_switch_to_on_qntm_012.png diff --git a/core/res/res/drawable-xxhdpi/btn_switch_to_on_qntm_013.png b/core/res/res/drawable-xxhdpi/btn_switch_to_on_qntm_013.png Binary files differnew file mode 100644 index 0000000..198ac07 --- /dev/null +++ b/core/res/res/drawable-xxhdpi/btn_switch_to_on_qntm_013.png diff --git a/core/res/res/drawable-xxhdpi/btn_switch_to_on_qntm_014.png b/core/res/res/drawable-xxhdpi/btn_switch_to_on_qntm_014.png Binary files differnew file mode 100644 index 0000000..198ac07 --- /dev/null +++ b/core/res/res/drawable-xxhdpi/btn_switch_to_on_qntm_014.png diff --git a/core/res/res/drawable-xxhdpi/btn_toggle_indicator_qntm_alpha.9.png b/core/res/res/drawable-xxhdpi/btn_toggle_indicator_qntm_alpha.9.png Binary files differnew file mode 100644 index 0000000..0d6a39a --- /dev/null +++ b/core/res/res/drawable-xxhdpi/btn_toggle_indicator_qntm_alpha.9.png diff --git a/core/res/res/drawable-xxhdpi/btn_toggle_qntm_alpha.9.png b/core/res/res/drawable-xxhdpi/btn_toggle_qntm_alpha.9.png Binary files differnew file mode 100644 index 0000000..f235aed --- /dev/null +++ b/core/res/res/drawable-xxhdpi/btn_toggle_qntm_alpha.9.png diff --git a/core/res/res/drawable-xxhdpi/scrubber_control_from_pressed_qntm_000.png b/core/res/res/drawable-xxhdpi/scrubber_control_from_pressed_qntm_000.png Binary files differnew file mode 100644 index 0000000..46aa533 --- /dev/null +++ b/core/res/res/drawable-xxhdpi/scrubber_control_from_pressed_qntm_000.png diff --git a/core/res/res/drawable-xxhdpi/scrubber_control_from_pressed_qntm_001.png b/core/res/res/drawable-xxhdpi/scrubber_control_from_pressed_qntm_001.png Binary files differnew file mode 100644 index 0000000..a749469 --- /dev/null +++ b/core/res/res/drawable-xxhdpi/scrubber_control_from_pressed_qntm_001.png diff --git a/core/res/res/drawable-xxhdpi/scrubber_control_from_pressed_qntm_002.png b/core/res/res/drawable-xxhdpi/scrubber_control_from_pressed_qntm_002.png Binary files differnew file mode 100644 index 0000000..ef43f00 --- /dev/null +++ b/core/res/res/drawable-xxhdpi/scrubber_control_from_pressed_qntm_002.png diff --git a/core/res/res/drawable-xxhdpi/scrubber_control_from_pressed_qntm_003.png b/core/res/res/drawable-xxhdpi/scrubber_control_from_pressed_qntm_003.png Binary files differnew file mode 100644 index 0000000..eebddc3 --- /dev/null +++ b/core/res/res/drawable-xxhdpi/scrubber_control_from_pressed_qntm_003.png diff --git a/core/res/res/drawable-xxhdpi/scrubber_control_from_pressed_qntm_004.png b/core/res/res/drawable-xxhdpi/scrubber_control_from_pressed_qntm_004.png Binary files differnew file mode 100644 index 0000000..44b654d --- /dev/null +++ b/core/res/res/drawable-xxhdpi/scrubber_control_from_pressed_qntm_004.png diff --git a/core/res/res/drawable-xxhdpi/scrubber_control_from_pressed_qntm_005.png b/core/res/res/drawable-xxhdpi/scrubber_control_from_pressed_qntm_005.png Binary files differnew file mode 100644 index 0000000..6e768c1 --- /dev/null +++ b/core/res/res/drawable-xxhdpi/scrubber_control_from_pressed_qntm_005.png diff --git a/core/res/res/drawable-xxhdpi/scrubber_control_to_pressed_qntm_000.png b/core/res/res/drawable-xxhdpi/scrubber_control_to_pressed_qntm_000.png Binary files differnew file mode 100644 index 0000000..2ac6dae --- /dev/null +++ b/core/res/res/drawable-xxhdpi/scrubber_control_to_pressed_qntm_000.png diff --git a/core/res/res/drawable-xxhdpi/scrubber_control_to_pressed_qntm_001.png b/core/res/res/drawable-xxhdpi/scrubber_control_to_pressed_qntm_001.png Binary files differnew file mode 100644 index 0000000..91c49ce --- /dev/null +++ b/core/res/res/drawable-xxhdpi/scrubber_control_to_pressed_qntm_001.png diff --git a/core/res/res/drawable-xxhdpi/scrubber_control_to_pressed_qntm_002.png b/core/res/res/drawable-xxhdpi/scrubber_control_to_pressed_qntm_002.png Binary files differnew file mode 100644 index 0000000..4b4bd1f --- /dev/null +++ b/core/res/res/drawable-xxhdpi/scrubber_control_to_pressed_qntm_002.png diff --git a/core/res/res/drawable-xxhdpi/scrubber_control_to_pressed_qntm_003.png b/core/res/res/drawable-xxhdpi/scrubber_control_to_pressed_qntm_003.png Binary files differnew file mode 100644 index 0000000..637e596 --- /dev/null +++ b/core/res/res/drawable-xxhdpi/scrubber_control_to_pressed_qntm_003.png diff --git a/core/res/res/drawable-xxhdpi/scrubber_control_to_pressed_qntm_004.png b/core/res/res/drawable-xxhdpi/scrubber_control_to_pressed_qntm_004.png Binary files differnew file mode 100644 index 0000000..42d4d2a --- /dev/null +++ b/core/res/res/drawable-xxhdpi/scrubber_control_to_pressed_qntm_004.png diff --git a/core/res/res/drawable-xxhdpi/scrubber_control_to_pressed_qntm_005.png b/core/res/res/drawable-xxhdpi/scrubber_control_to_pressed_qntm_005.png Binary files differnew file mode 100644 index 0000000..995d1b2 --- /dev/null +++ b/core/res/res/drawable-xxhdpi/scrubber_control_to_pressed_qntm_005.png diff --git a/core/res/res/drawable-xxhdpi/switch_off_qntm_alpha.9.png b/core/res/res/drawable-xxhdpi/switch_off_qntm_alpha.9.png Binary files differdeleted file mode 100644 index 8d79a13..0000000 --- a/core/res/res/drawable-xxhdpi/switch_off_qntm_alpha.9.png +++ /dev/null diff --git a/core/res/res/drawable-xxhdpi/switch_on_qntm_alpha.9.png b/core/res/res/drawable-xxhdpi/switch_on_qntm_alpha.9.png Binary files differdeleted file mode 100644 index e0e4ef9..0000000 --- a/core/res/res/drawable-xxhdpi/switch_on_qntm_alpha.9.png +++ /dev/null diff --git a/core/res/res/drawable-xxhdpi/switch_track_qntm_alpha.9.png b/core/res/res/drawable-xxhdpi/switch_track_qntm_alpha.9.png Binary files differindex 74a259b..a8067cb 100644 --- a/core/res/res/drawable-xxhdpi/switch_track_qntm_alpha.9.png +++ b/core/res/res/drawable-xxhdpi/switch_track_qntm_alpha.9.png diff --git a/core/res/res/drawable-xxhdpi/text_select_handle_left_qntm_alpha.png b/core/res/res/drawable-xxhdpi/text_select_handle_left_qntm_alpha.png Binary files differindex 93469a2..75085ce 100644 --- a/core/res/res/drawable-xxhdpi/text_select_handle_left_qntm_alpha.png +++ b/core/res/res/drawable-xxhdpi/text_select_handle_left_qntm_alpha.png diff --git a/core/res/res/drawable-xxhdpi/text_select_handle_right_qntm_alpha.png b/core/res/res/drawable-xxhdpi/text_select_handle_right_qntm_alpha.png Binary files differindex b3493e7..e2eb5be 100644 --- a/core/res/res/drawable-xxhdpi/text_select_handle_right_qntm_alpha.png +++ b/core/res/res/drawable-xxhdpi/text_select_handle_right_qntm_alpha.png diff --git a/core/res/res/drawable-xxxhdpi/btn_check_to_off_qntm_000.png b/core/res/res/drawable-xxxhdpi/btn_check_to_off_qntm_000.png Binary files differnew file mode 100644 index 0000000..f0ff1a7 --- /dev/null +++ b/core/res/res/drawable-xxxhdpi/btn_check_to_off_qntm_000.png diff --git a/core/res/res/drawable-xxxhdpi/btn_check_to_off_qntm_001.png b/core/res/res/drawable-xxxhdpi/btn_check_to_off_qntm_001.png Binary files differnew file mode 100644 index 0000000..b382df3 --- /dev/null +++ b/core/res/res/drawable-xxxhdpi/btn_check_to_off_qntm_001.png diff --git a/core/res/res/drawable-xxxhdpi/btn_check_to_off_qntm_002.png b/core/res/res/drawable-xxxhdpi/btn_check_to_off_qntm_002.png Binary files differnew file mode 100644 index 0000000..8cb4ce2 --- /dev/null +++ b/core/res/res/drawable-xxxhdpi/btn_check_to_off_qntm_002.png diff --git a/core/res/res/drawable-xxxhdpi/btn_check_to_off_qntm_003.png b/core/res/res/drawable-xxxhdpi/btn_check_to_off_qntm_003.png Binary files differnew file mode 100644 index 0000000..4db2b01 --- /dev/null +++ b/core/res/res/drawable-xxxhdpi/btn_check_to_off_qntm_003.png diff --git a/core/res/res/drawable-xxxhdpi/btn_check_to_off_qntm_004.png b/core/res/res/drawable-xxxhdpi/btn_check_to_off_qntm_004.png Binary files differnew file mode 100644 index 0000000..8c4709b --- /dev/null +++ b/core/res/res/drawable-xxxhdpi/btn_check_to_off_qntm_004.png diff --git a/core/res/res/drawable-xxxhdpi/btn_check_to_off_qntm_005.png b/core/res/res/drawable-xxxhdpi/btn_check_to_off_qntm_005.png Binary files differnew file mode 100644 index 0000000..1ad960a --- /dev/null +++ b/core/res/res/drawable-xxxhdpi/btn_check_to_off_qntm_005.png diff --git a/core/res/res/drawable-xxxhdpi/btn_check_to_off_qntm_006.png b/core/res/res/drawable-xxxhdpi/btn_check_to_off_qntm_006.png Binary files differnew file mode 100644 index 0000000..e47cc20 --- /dev/null +++ b/core/res/res/drawable-xxxhdpi/btn_check_to_off_qntm_006.png diff --git a/core/res/res/drawable-xxxhdpi/btn_check_to_off_qntm_007.png b/core/res/res/drawable-xxxhdpi/btn_check_to_off_qntm_007.png Binary files differnew file mode 100644 index 0000000..c4d0d51 --- /dev/null +++ b/core/res/res/drawable-xxxhdpi/btn_check_to_off_qntm_007.png diff --git a/core/res/res/drawable-xxxhdpi/btn_check_to_off_qntm_008.png b/core/res/res/drawable-xxxhdpi/btn_check_to_off_qntm_008.png Binary files differnew file mode 100644 index 0000000..915d56a --- /dev/null +++ b/core/res/res/drawable-xxxhdpi/btn_check_to_off_qntm_008.png diff --git a/core/res/res/drawable-xxxhdpi/btn_check_to_off_qntm_009.png b/core/res/res/drawable-xxxhdpi/btn_check_to_off_qntm_009.png Binary files differnew file mode 100644 index 0000000..85795cb --- /dev/null +++ b/core/res/res/drawable-xxxhdpi/btn_check_to_off_qntm_009.png diff --git a/core/res/res/drawable-xxxhdpi/btn_check_to_off_qntm_010.png b/core/res/res/drawable-xxxhdpi/btn_check_to_off_qntm_010.png Binary files differnew file mode 100644 index 0000000..157fd91 --- /dev/null +++ b/core/res/res/drawable-xxxhdpi/btn_check_to_off_qntm_010.png diff --git a/core/res/res/drawable-xxxhdpi/btn_check_to_off_qntm_011.png b/core/res/res/drawable-xxxhdpi/btn_check_to_off_qntm_011.png Binary files differnew file mode 100644 index 0000000..9d446de --- /dev/null +++ b/core/res/res/drawable-xxxhdpi/btn_check_to_off_qntm_011.png diff --git a/core/res/res/drawable-xxxhdpi/btn_check_to_off_qntm_012.png b/core/res/res/drawable-xxxhdpi/btn_check_to_off_qntm_012.png Binary files differnew file mode 100644 index 0000000..dfac1f0 --- /dev/null +++ b/core/res/res/drawable-xxxhdpi/btn_check_to_off_qntm_012.png diff --git a/core/res/res/drawable-xxxhdpi/btn_check_to_off_qntm_013.png b/core/res/res/drawable-xxxhdpi/btn_check_to_off_qntm_013.png Binary files differnew file mode 100644 index 0000000..aed6c08 --- /dev/null +++ b/core/res/res/drawable-xxxhdpi/btn_check_to_off_qntm_013.png diff --git a/core/res/res/drawable-xxxhdpi/btn_check_to_off_qntm_014.png b/core/res/res/drawable-xxxhdpi/btn_check_to_off_qntm_014.png Binary files differnew file mode 100644 index 0000000..1b8bd6b --- /dev/null +++ b/core/res/res/drawable-xxxhdpi/btn_check_to_off_qntm_014.png diff --git a/core/res/res/drawable-xxxhdpi/btn_check_to_off_qntm_015.png b/core/res/res/drawable-xxxhdpi/btn_check_to_off_qntm_015.png Binary files differnew file mode 100644 index 0000000..5dd0e5b --- /dev/null +++ b/core/res/res/drawable-xxxhdpi/btn_check_to_off_qntm_015.png diff --git a/core/res/res/drawable-xxxhdpi/btn_check_to_on_qntm_000.png b/core/res/res/drawable-xxxhdpi/btn_check_to_on_qntm_000.png Binary files differnew file mode 100644 index 0000000..5dd0e5b --- /dev/null +++ b/core/res/res/drawable-xxxhdpi/btn_check_to_on_qntm_000.png diff --git a/core/res/res/drawable-xxxhdpi/btn_check_to_on_qntm_001.png b/core/res/res/drawable-xxxhdpi/btn_check_to_on_qntm_001.png Binary files differnew file mode 100644 index 0000000..1a31ad9 --- /dev/null +++ b/core/res/res/drawable-xxxhdpi/btn_check_to_on_qntm_001.png diff --git a/core/res/res/drawable-xxxhdpi/btn_check_to_on_qntm_002.png b/core/res/res/drawable-xxxhdpi/btn_check_to_on_qntm_002.png Binary files differnew file mode 100644 index 0000000..63c7f12 --- /dev/null +++ b/core/res/res/drawable-xxxhdpi/btn_check_to_on_qntm_002.png diff --git a/core/res/res/drawable-xxxhdpi/btn_check_to_on_qntm_003.png b/core/res/res/drawable-xxxhdpi/btn_check_to_on_qntm_003.png Binary files differnew file mode 100644 index 0000000..847dd08 --- /dev/null +++ b/core/res/res/drawable-xxxhdpi/btn_check_to_on_qntm_003.png diff --git a/core/res/res/drawable-xxxhdpi/btn_check_to_on_qntm_004.png b/core/res/res/drawable-xxxhdpi/btn_check_to_on_qntm_004.png Binary files differnew file mode 100644 index 0000000..b93f3cc --- /dev/null +++ b/core/res/res/drawable-xxxhdpi/btn_check_to_on_qntm_004.png diff --git a/core/res/res/drawable-xxxhdpi/btn_check_to_on_qntm_005.png b/core/res/res/drawable-xxxhdpi/btn_check_to_on_qntm_005.png Binary files differnew file mode 100644 index 0000000..1e3dea7 --- /dev/null +++ b/core/res/res/drawable-xxxhdpi/btn_check_to_on_qntm_005.png diff --git a/core/res/res/drawable-xxxhdpi/btn_check_to_on_qntm_006.png b/core/res/res/drawable-xxxhdpi/btn_check_to_on_qntm_006.png Binary files differnew file mode 100644 index 0000000..5a85238 --- /dev/null +++ b/core/res/res/drawable-xxxhdpi/btn_check_to_on_qntm_006.png diff --git a/core/res/res/drawable-xxxhdpi/btn_check_to_on_qntm_007.png b/core/res/res/drawable-xxxhdpi/btn_check_to_on_qntm_007.png Binary files differnew file mode 100644 index 0000000..35960ca --- /dev/null +++ b/core/res/res/drawable-xxxhdpi/btn_check_to_on_qntm_007.png diff --git a/core/res/res/drawable-xxxhdpi/btn_check_to_on_qntm_008.png b/core/res/res/drawable-xxxhdpi/btn_check_to_on_qntm_008.png Binary files differnew file mode 100644 index 0000000..6db5555 --- /dev/null +++ b/core/res/res/drawable-xxxhdpi/btn_check_to_on_qntm_008.png diff --git a/core/res/res/drawable-xxxhdpi/btn_check_to_on_qntm_009.png b/core/res/res/drawable-xxxhdpi/btn_check_to_on_qntm_009.png Binary files differnew file mode 100644 index 0000000..a9c5851 --- /dev/null +++ b/core/res/res/drawable-xxxhdpi/btn_check_to_on_qntm_009.png diff --git a/core/res/res/drawable-xxxhdpi/btn_check_to_on_qntm_010.png b/core/res/res/drawable-xxxhdpi/btn_check_to_on_qntm_010.png Binary files differnew file mode 100644 index 0000000..38465bd --- /dev/null +++ b/core/res/res/drawable-xxxhdpi/btn_check_to_on_qntm_010.png diff --git a/core/res/res/drawable-xxxhdpi/btn_check_to_on_qntm_011.png b/core/res/res/drawable-xxxhdpi/btn_check_to_on_qntm_011.png Binary files differnew file mode 100644 index 0000000..15942dc --- /dev/null +++ b/core/res/res/drawable-xxxhdpi/btn_check_to_on_qntm_011.png diff --git a/core/res/res/drawable-xxxhdpi/btn_check_to_on_qntm_012.png b/core/res/res/drawable-xxxhdpi/btn_check_to_on_qntm_012.png Binary files differnew file mode 100644 index 0000000..67d0d64 --- /dev/null +++ b/core/res/res/drawable-xxxhdpi/btn_check_to_on_qntm_012.png diff --git a/core/res/res/drawable-xxxhdpi/btn_check_to_on_qntm_013.png b/core/res/res/drawable-xxxhdpi/btn_check_to_on_qntm_013.png Binary files differnew file mode 100644 index 0000000..69b5c1b --- /dev/null +++ b/core/res/res/drawable-xxxhdpi/btn_check_to_on_qntm_013.png diff --git a/core/res/res/drawable-xxxhdpi/btn_check_to_on_qntm_014.png b/core/res/res/drawable-xxxhdpi/btn_check_to_on_qntm_014.png Binary files differnew file mode 100644 index 0000000..0e5d331 --- /dev/null +++ b/core/res/res/drawable-xxxhdpi/btn_check_to_on_qntm_014.png diff --git a/core/res/res/drawable-xxxhdpi/btn_check_to_on_qntm_015.png b/core/res/res/drawable-xxxhdpi/btn_check_to_on_qntm_015.png Binary files differnew file mode 100644 index 0000000..f0ff1a7 --- /dev/null +++ b/core/res/res/drawable-xxxhdpi/btn_check_to_on_qntm_015.png diff --git a/core/res/res/drawable-xxxhdpi/btn_qntm_alpha.9.png b/core/res/res/drawable-xxxhdpi/btn_qntm_alpha.9.png Binary files differnew file mode 100644 index 0000000..01eeefe --- /dev/null +++ b/core/res/res/drawable-xxxhdpi/btn_qntm_alpha.9.png diff --git a/core/res/res/drawable-xxxhdpi/btn_radio_to_off_qntm_000.png b/core/res/res/drawable-xxxhdpi/btn_radio_to_off_qntm_000.png Binary files differnew file mode 100644 index 0000000..44028af --- /dev/null +++ b/core/res/res/drawable-xxxhdpi/btn_radio_to_off_qntm_000.png diff --git a/core/res/res/drawable-xxxhdpi/btn_radio_to_off_qntm_001.png b/core/res/res/drawable-xxxhdpi/btn_radio_to_off_qntm_001.png Binary files differnew file mode 100644 index 0000000..ec13a86 --- /dev/null +++ b/core/res/res/drawable-xxxhdpi/btn_radio_to_off_qntm_001.png diff --git a/core/res/res/drawable-xxxhdpi/btn_radio_to_off_qntm_002.png b/core/res/res/drawable-xxxhdpi/btn_radio_to_off_qntm_002.png Binary files differnew file mode 100644 index 0000000..43754eb --- /dev/null +++ b/core/res/res/drawable-xxxhdpi/btn_radio_to_off_qntm_002.png diff --git a/core/res/res/drawable-xxxhdpi/btn_radio_to_off_qntm_003.png b/core/res/res/drawable-xxxhdpi/btn_radio_to_off_qntm_003.png Binary files differnew file mode 100644 index 0000000..39d1d64 --- /dev/null +++ b/core/res/res/drawable-xxxhdpi/btn_radio_to_off_qntm_003.png diff --git a/core/res/res/drawable-xxxhdpi/btn_radio_to_off_qntm_004.png b/core/res/res/drawable-xxxhdpi/btn_radio_to_off_qntm_004.png Binary files differnew file mode 100644 index 0000000..f36f883 --- /dev/null +++ b/core/res/res/drawable-xxxhdpi/btn_radio_to_off_qntm_004.png diff --git a/core/res/res/drawable-xxxhdpi/btn_radio_to_off_qntm_005.png b/core/res/res/drawable-xxxhdpi/btn_radio_to_off_qntm_005.png Binary files differnew file mode 100644 index 0000000..7a4cc5c --- /dev/null +++ b/core/res/res/drawable-xxxhdpi/btn_radio_to_off_qntm_005.png diff --git a/core/res/res/drawable-xxxhdpi/btn_radio_to_off_qntm_006.png b/core/res/res/drawable-xxxhdpi/btn_radio_to_off_qntm_006.png Binary files differnew file mode 100644 index 0000000..80a21ec --- /dev/null +++ b/core/res/res/drawable-xxxhdpi/btn_radio_to_off_qntm_006.png diff --git a/core/res/res/drawable-xxxhdpi/btn_radio_to_off_qntm_007.png b/core/res/res/drawable-xxxhdpi/btn_radio_to_off_qntm_007.png Binary files differnew file mode 100644 index 0000000..2141104 --- /dev/null +++ b/core/res/res/drawable-xxxhdpi/btn_radio_to_off_qntm_007.png diff --git a/core/res/res/drawable-xxxhdpi/btn_radio_to_off_qntm_008.png b/core/res/res/drawable-xxxhdpi/btn_radio_to_off_qntm_008.png Binary files differnew file mode 100644 index 0000000..203bd51 --- /dev/null +++ b/core/res/res/drawable-xxxhdpi/btn_radio_to_off_qntm_008.png diff --git a/core/res/res/drawable-xxxhdpi/btn_radio_to_off_qntm_009.png b/core/res/res/drawable-xxxhdpi/btn_radio_to_off_qntm_009.png Binary files differnew file mode 100644 index 0000000..5df6fc5 --- /dev/null +++ b/core/res/res/drawable-xxxhdpi/btn_radio_to_off_qntm_009.png diff --git a/core/res/res/drawable-xxxhdpi/btn_radio_to_off_qntm_010.png b/core/res/res/drawable-xxxhdpi/btn_radio_to_off_qntm_010.png Binary files differnew file mode 100644 index 0000000..6d0fced --- /dev/null +++ b/core/res/res/drawable-xxxhdpi/btn_radio_to_off_qntm_010.png diff --git a/core/res/res/drawable-xxxhdpi/btn_radio_to_off_qntm_011.png b/core/res/res/drawable-xxxhdpi/btn_radio_to_off_qntm_011.png Binary files differnew file mode 100644 index 0000000..8c0c372 --- /dev/null +++ b/core/res/res/drawable-xxxhdpi/btn_radio_to_off_qntm_011.png diff --git a/core/res/res/drawable-xxxhdpi/btn_radio_to_off_qntm_012.png b/core/res/res/drawable-xxxhdpi/btn_radio_to_off_qntm_012.png Binary files differnew file mode 100644 index 0000000..4fa6f53 --- /dev/null +++ b/core/res/res/drawable-xxxhdpi/btn_radio_to_off_qntm_012.png diff --git a/core/res/res/drawable-xxxhdpi/btn_radio_to_off_qntm_013.png b/core/res/res/drawable-xxxhdpi/btn_radio_to_off_qntm_013.png Binary files differnew file mode 100644 index 0000000..d3dbf7d --- /dev/null +++ b/core/res/res/drawable-xxxhdpi/btn_radio_to_off_qntm_013.png diff --git a/core/res/res/drawable-xxxhdpi/btn_radio_to_off_qntm_014.png b/core/res/res/drawable-xxxhdpi/btn_radio_to_off_qntm_014.png Binary files differnew file mode 100644 index 0000000..4ccf8de --- /dev/null +++ b/core/res/res/drawable-xxxhdpi/btn_radio_to_off_qntm_014.png diff --git a/core/res/res/drawable-xxxhdpi/btn_radio_to_off_qntm_015.png b/core/res/res/drawable-xxxhdpi/btn_radio_to_off_qntm_015.png Binary files differnew file mode 100644 index 0000000..adef871 --- /dev/null +++ b/core/res/res/drawable-xxxhdpi/btn_radio_to_off_qntm_015.png diff --git a/core/res/res/drawable-xxxhdpi/btn_radio_to_on_qntm_000.png b/core/res/res/drawable-xxxhdpi/btn_radio_to_on_qntm_000.png Binary files differnew file mode 100644 index 0000000..adef871 --- /dev/null +++ b/core/res/res/drawable-xxxhdpi/btn_radio_to_on_qntm_000.png diff --git a/core/res/res/drawable-xxxhdpi/btn_radio_to_on_qntm_001.png b/core/res/res/drawable-xxxhdpi/btn_radio_to_on_qntm_001.png Binary files differnew file mode 100644 index 0000000..9fc3556 --- /dev/null +++ b/core/res/res/drawable-xxxhdpi/btn_radio_to_on_qntm_001.png diff --git a/core/res/res/drawable-xxxhdpi/btn_radio_to_on_qntm_002.png b/core/res/res/drawable-xxxhdpi/btn_radio_to_on_qntm_002.png Binary files differnew file mode 100644 index 0000000..7f00609 --- /dev/null +++ b/core/res/res/drawable-xxxhdpi/btn_radio_to_on_qntm_002.png diff --git a/core/res/res/drawable-xxxhdpi/btn_radio_to_on_qntm_003.png b/core/res/res/drawable-xxxhdpi/btn_radio_to_on_qntm_003.png Binary files differnew file mode 100644 index 0000000..e4aa58d --- /dev/null +++ b/core/res/res/drawable-xxxhdpi/btn_radio_to_on_qntm_003.png diff --git a/core/res/res/drawable-xxxhdpi/btn_radio_to_on_qntm_004.png b/core/res/res/drawable-xxxhdpi/btn_radio_to_on_qntm_004.png Binary files differnew file mode 100644 index 0000000..fe4e4b7 --- /dev/null +++ b/core/res/res/drawable-xxxhdpi/btn_radio_to_on_qntm_004.png diff --git a/core/res/res/drawable-xxxhdpi/btn_radio_to_on_qntm_005.png b/core/res/res/drawable-xxxhdpi/btn_radio_to_on_qntm_005.png Binary files differnew file mode 100644 index 0000000..86666ca --- /dev/null +++ b/core/res/res/drawable-xxxhdpi/btn_radio_to_on_qntm_005.png diff --git a/core/res/res/drawable-xxxhdpi/btn_radio_to_on_qntm_006.png b/core/res/res/drawable-xxxhdpi/btn_radio_to_on_qntm_006.png Binary files differnew file mode 100644 index 0000000..608faaf --- /dev/null +++ b/core/res/res/drawable-xxxhdpi/btn_radio_to_on_qntm_006.png diff --git a/core/res/res/drawable-xxxhdpi/btn_radio_to_on_qntm_007.png b/core/res/res/drawable-xxxhdpi/btn_radio_to_on_qntm_007.png Binary files differnew file mode 100644 index 0000000..ec95422 --- /dev/null +++ b/core/res/res/drawable-xxxhdpi/btn_radio_to_on_qntm_007.png diff --git a/core/res/res/drawable-xxxhdpi/btn_radio_to_on_qntm_008.png b/core/res/res/drawable-xxxhdpi/btn_radio_to_on_qntm_008.png Binary files differnew file mode 100644 index 0000000..76e2754 --- /dev/null +++ b/core/res/res/drawable-xxxhdpi/btn_radio_to_on_qntm_008.png diff --git a/core/res/res/drawable-xxxhdpi/btn_radio_to_on_qntm_009.png b/core/res/res/drawable-xxxhdpi/btn_radio_to_on_qntm_009.png Binary files differnew file mode 100644 index 0000000..3853eac --- /dev/null +++ b/core/res/res/drawable-xxxhdpi/btn_radio_to_on_qntm_009.png diff --git a/core/res/res/drawable-xxxhdpi/btn_radio_to_on_qntm_010.png b/core/res/res/drawable-xxxhdpi/btn_radio_to_on_qntm_010.png Binary files differnew file mode 100644 index 0000000..621aff1 --- /dev/null +++ b/core/res/res/drawable-xxxhdpi/btn_radio_to_on_qntm_010.png diff --git a/core/res/res/drawable-xxxhdpi/btn_radio_to_on_qntm_011.png b/core/res/res/drawable-xxxhdpi/btn_radio_to_on_qntm_011.png Binary files differnew file mode 100644 index 0000000..d24be2a --- /dev/null +++ b/core/res/res/drawable-xxxhdpi/btn_radio_to_on_qntm_011.png diff --git a/core/res/res/drawable-xxxhdpi/btn_radio_to_on_qntm_012.png b/core/res/res/drawable-xxxhdpi/btn_radio_to_on_qntm_012.png Binary files differnew file mode 100644 index 0000000..df33892 --- /dev/null +++ b/core/res/res/drawable-xxxhdpi/btn_radio_to_on_qntm_012.png diff --git a/core/res/res/drawable-xxxhdpi/btn_radio_to_on_qntm_013.png b/core/res/res/drawable-xxxhdpi/btn_radio_to_on_qntm_013.png Binary files differnew file mode 100644 index 0000000..ff4b818 --- /dev/null +++ b/core/res/res/drawable-xxxhdpi/btn_radio_to_on_qntm_013.png diff --git a/core/res/res/drawable-xxxhdpi/btn_radio_to_on_qntm_014.png b/core/res/res/drawable-xxxhdpi/btn_radio_to_on_qntm_014.png Binary files differnew file mode 100644 index 0000000..d9793ae --- /dev/null +++ b/core/res/res/drawable-xxxhdpi/btn_radio_to_on_qntm_014.png diff --git a/core/res/res/drawable-xxxhdpi/btn_radio_to_on_qntm_015.png b/core/res/res/drawable-xxxhdpi/btn_radio_to_on_qntm_015.png Binary files differnew file mode 100644 index 0000000..44028af --- /dev/null +++ b/core/res/res/drawable-xxxhdpi/btn_radio_to_on_qntm_015.png diff --git a/core/res/res/drawable-xxxhdpi/btn_switch_to_off_qntm_000.png b/core/res/res/drawable-xxxhdpi/btn_switch_to_off_qntm_000.png Binary files differnew file mode 100644 index 0000000..8b202c6 --- /dev/null +++ b/core/res/res/drawable-xxxhdpi/btn_switch_to_off_qntm_000.png diff --git a/core/res/res/drawable-xxxhdpi/btn_switch_to_off_qntm_001.png b/core/res/res/drawable-xxxhdpi/btn_switch_to_off_qntm_001.png Binary files differnew file mode 100644 index 0000000..3b497f3 --- /dev/null +++ b/core/res/res/drawable-xxxhdpi/btn_switch_to_off_qntm_001.png diff --git a/core/res/res/drawable-xxxhdpi/btn_switch_to_off_qntm_002.png b/core/res/res/drawable-xxxhdpi/btn_switch_to_off_qntm_002.png Binary files differnew file mode 100644 index 0000000..532b6de --- /dev/null +++ b/core/res/res/drawable-xxxhdpi/btn_switch_to_off_qntm_002.png diff --git a/core/res/res/drawable-xxxhdpi/btn_switch_to_off_qntm_003.png b/core/res/res/drawable-xxxhdpi/btn_switch_to_off_qntm_003.png Binary files differnew file mode 100644 index 0000000..403b2fe --- /dev/null +++ b/core/res/res/drawable-xxxhdpi/btn_switch_to_off_qntm_003.png diff --git a/core/res/res/drawable-xxxhdpi/btn_switch_to_off_qntm_004.png b/core/res/res/drawable-xxxhdpi/btn_switch_to_off_qntm_004.png Binary files differnew file mode 100644 index 0000000..8c5086c --- /dev/null +++ b/core/res/res/drawable-xxxhdpi/btn_switch_to_off_qntm_004.png diff --git a/core/res/res/drawable-xxxhdpi/btn_switch_to_off_qntm_005.png b/core/res/res/drawable-xxxhdpi/btn_switch_to_off_qntm_005.png Binary files differnew file mode 100644 index 0000000..d4870f8 --- /dev/null +++ b/core/res/res/drawable-xxxhdpi/btn_switch_to_off_qntm_005.png diff --git a/core/res/res/drawable-xxxhdpi/btn_switch_to_off_qntm_006.png b/core/res/res/drawable-xxxhdpi/btn_switch_to_off_qntm_006.png Binary files differnew file mode 100644 index 0000000..c05adf5 --- /dev/null +++ b/core/res/res/drawable-xxxhdpi/btn_switch_to_off_qntm_006.png diff --git a/core/res/res/drawable-xxxhdpi/btn_switch_to_off_qntm_007.png b/core/res/res/drawable-xxxhdpi/btn_switch_to_off_qntm_007.png Binary files differnew file mode 100644 index 0000000..99b2056 --- /dev/null +++ b/core/res/res/drawable-xxxhdpi/btn_switch_to_off_qntm_007.png diff --git a/core/res/res/drawable-xxxhdpi/btn_switch_to_off_qntm_008.png b/core/res/res/drawable-xxxhdpi/btn_switch_to_off_qntm_008.png Binary files differnew file mode 100644 index 0000000..d839358 --- /dev/null +++ b/core/res/res/drawable-xxxhdpi/btn_switch_to_off_qntm_008.png diff --git a/core/res/res/drawable-xxxhdpi/btn_switch_to_off_qntm_009.png b/core/res/res/drawable-xxxhdpi/btn_switch_to_off_qntm_009.png Binary files differnew file mode 100644 index 0000000..913f94d --- /dev/null +++ b/core/res/res/drawable-xxxhdpi/btn_switch_to_off_qntm_009.png diff --git a/core/res/res/drawable-xxxhdpi/btn_switch_to_off_qntm_010.png b/core/res/res/drawable-xxxhdpi/btn_switch_to_off_qntm_010.png Binary files differnew file mode 100644 index 0000000..7f325b3 --- /dev/null +++ b/core/res/res/drawable-xxxhdpi/btn_switch_to_off_qntm_010.png diff --git a/core/res/res/drawable-xxxhdpi/btn_switch_to_off_qntm_011.png b/core/res/res/drawable-xxxhdpi/btn_switch_to_off_qntm_011.png Binary files differnew file mode 100644 index 0000000..149a9aa --- /dev/null +++ b/core/res/res/drawable-xxxhdpi/btn_switch_to_off_qntm_011.png diff --git a/core/res/res/drawable-xxxhdpi/btn_switch_to_off_qntm_012.png b/core/res/res/drawable-xxxhdpi/btn_switch_to_off_qntm_012.png Binary files differnew file mode 100644 index 0000000..95c219e --- /dev/null +++ b/core/res/res/drawable-xxxhdpi/btn_switch_to_off_qntm_012.png diff --git a/core/res/res/drawable-xxxhdpi/btn_switch_to_off_qntm_013.png b/core/res/res/drawable-xxxhdpi/btn_switch_to_off_qntm_013.png Binary files differnew file mode 100644 index 0000000..462a128 --- /dev/null +++ b/core/res/res/drawable-xxxhdpi/btn_switch_to_off_qntm_013.png diff --git a/core/res/res/drawable-xxxhdpi/btn_switch_to_off_qntm_014.png b/core/res/res/drawable-xxxhdpi/btn_switch_to_off_qntm_014.png Binary files differnew file mode 100644 index 0000000..5911d16 --- /dev/null +++ b/core/res/res/drawable-xxxhdpi/btn_switch_to_off_qntm_014.png diff --git a/core/res/res/drawable-xxxhdpi/btn_switch_to_on_qntm_000.png b/core/res/res/drawable-xxxhdpi/btn_switch_to_on_qntm_000.png Binary files differnew file mode 100644 index 0000000..e0c6d85 --- /dev/null +++ b/core/res/res/drawable-xxxhdpi/btn_switch_to_on_qntm_000.png diff --git a/core/res/res/drawable-xxxhdpi/btn_switch_to_on_qntm_001.png b/core/res/res/drawable-xxxhdpi/btn_switch_to_on_qntm_001.png Binary files differnew file mode 100644 index 0000000..5679943 --- /dev/null +++ b/core/res/res/drawable-xxxhdpi/btn_switch_to_on_qntm_001.png diff --git a/core/res/res/drawable-xxxhdpi/btn_switch_to_on_qntm_002.png b/core/res/res/drawable-xxxhdpi/btn_switch_to_on_qntm_002.png Binary files differnew file mode 100644 index 0000000..54b636d --- /dev/null +++ b/core/res/res/drawable-xxxhdpi/btn_switch_to_on_qntm_002.png diff --git a/core/res/res/drawable-xxxhdpi/btn_switch_to_on_qntm_003.png b/core/res/res/drawable-xxxhdpi/btn_switch_to_on_qntm_003.png Binary files differnew file mode 100644 index 0000000..bf9fac0 --- /dev/null +++ b/core/res/res/drawable-xxxhdpi/btn_switch_to_on_qntm_003.png diff --git a/core/res/res/drawable-xxxhdpi/btn_switch_to_on_qntm_004.png b/core/res/res/drawable-xxxhdpi/btn_switch_to_on_qntm_004.png Binary files differnew file mode 100644 index 0000000..25d5319 --- /dev/null +++ b/core/res/res/drawable-xxxhdpi/btn_switch_to_on_qntm_004.png diff --git a/core/res/res/drawable-xxxhdpi/btn_switch_to_on_qntm_005.png b/core/res/res/drawable-xxxhdpi/btn_switch_to_on_qntm_005.png Binary files differnew file mode 100644 index 0000000..d2df595 --- /dev/null +++ b/core/res/res/drawable-xxxhdpi/btn_switch_to_on_qntm_005.png diff --git a/core/res/res/drawable-xxxhdpi/btn_switch_to_on_qntm_006.png b/core/res/res/drawable-xxxhdpi/btn_switch_to_on_qntm_006.png Binary files differnew file mode 100644 index 0000000..7700bde --- /dev/null +++ b/core/res/res/drawable-xxxhdpi/btn_switch_to_on_qntm_006.png diff --git a/core/res/res/drawable-xxxhdpi/btn_switch_to_on_qntm_007.png b/core/res/res/drawable-xxxhdpi/btn_switch_to_on_qntm_007.png Binary files differnew file mode 100644 index 0000000..883f98b --- /dev/null +++ b/core/res/res/drawable-xxxhdpi/btn_switch_to_on_qntm_007.png diff --git a/core/res/res/drawable-xxxhdpi/btn_switch_to_on_qntm_008.png b/core/res/res/drawable-xxxhdpi/btn_switch_to_on_qntm_008.png Binary files differnew file mode 100644 index 0000000..b3b2108 --- /dev/null +++ b/core/res/res/drawable-xxxhdpi/btn_switch_to_on_qntm_008.png diff --git a/core/res/res/drawable-xxxhdpi/btn_switch_to_on_qntm_009.png b/core/res/res/drawable-xxxhdpi/btn_switch_to_on_qntm_009.png Binary files differnew file mode 100644 index 0000000..3aad596 --- /dev/null +++ b/core/res/res/drawable-xxxhdpi/btn_switch_to_on_qntm_009.png diff --git a/core/res/res/drawable-xxxhdpi/btn_switch_to_on_qntm_010.png b/core/res/res/drawable-xxxhdpi/btn_switch_to_on_qntm_010.png Binary files differnew file mode 100644 index 0000000..2017e17 --- /dev/null +++ b/core/res/res/drawable-xxxhdpi/btn_switch_to_on_qntm_010.png diff --git a/core/res/res/drawable-xxxhdpi/btn_switch_to_on_qntm_011.png b/core/res/res/drawable-xxxhdpi/btn_switch_to_on_qntm_011.png Binary files differnew file mode 100644 index 0000000..1fc2700 --- /dev/null +++ b/core/res/res/drawable-xxxhdpi/btn_switch_to_on_qntm_011.png diff --git a/core/res/res/drawable-xxxhdpi/btn_switch_to_on_qntm_012.png b/core/res/res/drawable-xxxhdpi/btn_switch_to_on_qntm_012.png Binary files differnew file mode 100644 index 0000000..bb8b0f2 --- /dev/null +++ b/core/res/res/drawable-xxxhdpi/btn_switch_to_on_qntm_012.png diff --git a/core/res/res/drawable-xxxhdpi/btn_switch_to_on_qntm_013.png b/core/res/res/drawable-xxxhdpi/btn_switch_to_on_qntm_013.png Binary files differnew file mode 100644 index 0000000..66ab8f6 --- /dev/null +++ b/core/res/res/drawable-xxxhdpi/btn_switch_to_on_qntm_013.png diff --git a/core/res/res/drawable-xxxhdpi/btn_switch_to_on_qntm_014.png b/core/res/res/drawable-xxxhdpi/btn_switch_to_on_qntm_014.png Binary files differnew file mode 100644 index 0000000..e3424db --- /dev/null +++ b/core/res/res/drawable-xxxhdpi/btn_switch_to_on_qntm_014.png diff --git a/core/res/res/drawable-xxxhdpi/btn_toggle_indicator_qntm_alpha.9.png b/core/res/res/drawable-xxxhdpi/btn_toggle_indicator_qntm_alpha.9.png Binary files differnew file mode 100755 index 0000000..c06740b --- /dev/null +++ b/core/res/res/drawable-xxxhdpi/btn_toggle_indicator_qntm_alpha.9.png diff --git a/core/res/res/drawable-xxxhdpi/btn_toggle_qntm_alpha.9.png b/core/res/res/drawable-xxxhdpi/btn_toggle_qntm_alpha.9.png Binary files differnew file mode 100755 index 0000000..7556167 --- /dev/null +++ b/core/res/res/drawable-xxxhdpi/btn_toggle_qntm_alpha.9.png diff --git a/core/res/res/drawable-xxxhdpi/scrubber_control_from_pressed_qntm_000.png b/core/res/res/drawable-xxxhdpi/scrubber_control_from_pressed_qntm_000.png Binary files differnew file mode 100644 index 0000000..0c8f746 --- /dev/null +++ b/core/res/res/drawable-xxxhdpi/scrubber_control_from_pressed_qntm_000.png diff --git a/core/res/res/drawable-xxxhdpi/scrubber_control_from_pressed_qntm_001.png b/core/res/res/drawable-xxxhdpi/scrubber_control_from_pressed_qntm_001.png Binary files differnew file mode 100644 index 0000000..5db9deb --- /dev/null +++ b/core/res/res/drawable-xxxhdpi/scrubber_control_from_pressed_qntm_001.png diff --git a/core/res/res/drawable-xxxhdpi/scrubber_control_from_pressed_qntm_002.png b/core/res/res/drawable-xxxhdpi/scrubber_control_from_pressed_qntm_002.png Binary files differnew file mode 100644 index 0000000..3aca6d3 --- /dev/null +++ b/core/res/res/drawable-xxxhdpi/scrubber_control_from_pressed_qntm_002.png diff --git a/core/res/res/drawable-xxxhdpi/scrubber_control_from_pressed_qntm_003.png b/core/res/res/drawable-xxxhdpi/scrubber_control_from_pressed_qntm_003.png Binary files differnew file mode 100644 index 0000000..746c74f --- /dev/null +++ b/core/res/res/drawable-xxxhdpi/scrubber_control_from_pressed_qntm_003.png diff --git a/core/res/res/drawable-xxxhdpi/scrubber_control_from_pressed_qntm_004.png b/core/res/res/drawable-xxxhdpi/scrubber_control_from_pressed_qntm_004.png Binary files differnew file mode 100644 index 0000000..454a5b2 --- /dev/null +++ b/core/res/res/drawable-xxxhdpi/scrubber_control_from_pressed_qntm_004.png diff --git a/core/res/res/drawable-xxxhdpi/scrubber_control_from_pressed_qntm_005.png b/core/res/res/drawable-xxxhdpi/scrubber_control_from_pressed_qntm_005.png Binary files differnew file mode 100644 index 0000000..80ad8cc --- /dev/null +++ b/core/res/res/drawable-xxxhdpi/scrubber_control_from_pressed_qntm_005.png diff --git a/core/res/res/drawable-xxxhdpi/scrubber_control_to_pressed_qntm_000.png b/core/res/res/drawable-xxxhdpi/scrubber_control_to_pressed_qntm_000.png Binary files differnew file mode 100644 index 0000000..cfd0db4 --- /dev/null +++ b/core/res/res/drawable-xxxhdpi/scrubber_control_to_pressed_qntm_000.png diff --git a/core/res/res/drawable-xxxhdpi/scrubber_control_to_pressed_qntm_001.png b/core/res/res/drawable-xxxhdpi/scrubber_control_to_pressed_qntm_001.png Binary files differnew file mode 100644 index 0000000..845092f --- /dev/null +++ b/core/res/res/drawable-xxxhdpi/scrubber_control_to_pressed_qntm_001.png diff --git a/core/res/res/drawable-xxxhdpi/scrubber_control_to_pressed_qntm_002.png b/core/res/res/drawable-xxxhdpi/scrubber_control_to_pressed_qntm_002.png Binary files differnew file mode 100644 index 0000000..0042db4 --- /dev/null +++ b/core/res/res/drawable-xxxhdpi/scrubber_control_to_pressed_qntm_002.png diff --git a/core/res/res/drawable-xxxhdpi/scrubber_control_to_pressed_qntm_003.png b/core/res/res/drawable-xxxhdpi/scrubber_control_to_pressed_qntm_003.png Binary files differnew file mode 100644 index 0000000..77b2901 --- /dev/null +++ b/core/res/res/drawable-xxxhdpi/scrubber_control_to_pressed_qntm_003.png diff --git a/core/res/res/drawable-xxxhdpi/scrubber_control_to_pressed_qntm_004.png b/core/res/res/drawable-xxxhdpi/scrubber_control_to_pressed_qntm_004.png Binary files differnew file mode 100644 index 0000000..fb3c238 --- /dev/null +++ b/core/res/res/drawable-xxxhdpi/scrubber_control_to_pressed_qntm_004.png diff --git a/core/res/res/drawable-xxxhdpi/scrubber_control_to_pressed_qntm_005.png b/core/res/res/drawable-xxxhdpi/scrubber_control_to_pressed_qntm_005.png Binary files differnew file mode 100644 index 0000000..0d28c45 --- /dev/null +++ b/core/res/res/drawable-xxxhdpi/scrubber_control_to_pressed_qntm_005.png diff --git a/core/res/res/drawable-xxxhdpi/switch_track_qntm_alpha.9.png b/core/res/res/drawable-xxxhdpi/switch_track_qntm_alpha.9.png Binary files differnew file mode 100644 index 0000000..fb07f2a --- /dev/null +++ b/core/res/res/drawable-xxxhdpi/switch_track_qntm_alpha.9.png diff --git a/core/res/res/drawable/btn_borderless_quantum.xml b/core/res/res/drawable/btn_borderless_quantum.xml index a8def44..2cd7ed6 100644 --- a/core/res/res/drawable/btn_borderless_quantum.xml +++ b/core/res/res/drawable/btn_borderless_quantum.xml @@ -16,21 +16,6 @@ <ripple xmlns:android="http://schemas.android.com/apk/res/android" android:tint="?attr/colorControlHighlight"> - <item android:id="@id/mask"> - <inset - android:insetLeft="4dp" - android:insetTop="4dp" - android:insetBottom="4dp" - android:insetRight="4dp"> - <shape android:shape="rectangle"> - <solid android:color="@color/white" /> - <corners android:radius="2dp" /> - <padding - android:left="4dp" - android:top="4dp" - android:bottom="4dp" - android:right="4dp" /> - </shape> - </inset> - </item> + <item android:id="@id/mask" + android:drawable="@drawable/btn_qntm_alpha" /> </ripple> diff --git a/core/res/res/drawable/btn_check_quantum.xml b/core/res/res/drawable/btn_check_quantum.xml deleted file mode 100644 index 6ceba60..0000000 --- a/core/res/res/drawable/btn_check_quantum.xml +++ /dev/null @@ -1,34 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<!-- Copyright (C) 2014 The Android Open Source Project - - Licensed under the Apache License, Version 2.0 (the "License"); - you may not use this file except in compliance with the License. - You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - - Unless required by applicable law or agreed to in writing, software - distributed under the License is distributed on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - See the License for the specific language governing permissions and - limitations under the License. ---> - -<selector xmlns:android="http://schemas.android.com/apk/res/android"> - <item android:state_checked="true" android:state_pressed="true"> - <bitmap android:src="@drawable/btn_check_on_qntm_alpha" - android:tint="?attr/colorControlActivated" /> - </item> - <item android:state_checked="true"> - <bitmap android:src="@drawable/btn_check_on_qntm_alpha" - android:tint="?attr/colorControlActivated" /> - </item> - <item android:state_pressed="true"> - <bitmap android:src="@drawable/btn_check_off_qntm_alpha" - android:tint="?attr/colorControlActivated" /> - </item> - <item> - <bitmap android:src="@drawable/btn_check_off_qntm_alpha" - android:tint="?attr/colorControlNormal" /> - </item> -</selector> diff --git a/core/res/res/drawable/btn_check_quantum_anim.xml b/core/res/res/drawable/btn_check_quantum_anim.xml index 96715a4..b16875e 100644 --- a/core/res/res/drawable/btn_check_quantum_anim.xml +++ b/core/res/res/drawable/btn_check_quantum_anim.xml @@ -16,88 +16,118 @@ <animated-selector xmlns:android="http://schemas.android.com/apk/res/android"> <item android:state_enabled="false" android:state_checked="true"> - <bitmap android:src="@drawable/btn_check_anim_00015_qntm_alpha" - android:tint="?attr/colorControlActivated" - android:alpha="?attr/disabledAlpha" /> + <bitmap android:src="@drawable/btn_check_to_on_qntm_015" android:tint="?attr/colorControlActivated" android:alpha="?attr/disabledAlpha" /> </item> <item android:state_enabled="false"> - <bitmap android:src="@drawable/btn_check_anim_00000_qntm_alpha" - android:tint="?attr/colorControlNormal" - android:alpha="?attr/disabledAlpha" /> + <bitmap android:src="@drawable/btn_check_to_on_qntm_000" android:tint="?attr/colorControlNormal" android:alpha="?attr/disabledAlpha" /> </item> <item android:state_checked="true" android:id="@+id/on"> - <bitmap android:src="@drawable/btn_check_anim_00015_qntm_alpha" - android:tint="?attr/colorControlActivated" /> + <bitmap android:src="@drawable/btn_check_to_on_qntm_015" android:tint="?attr/colorControlActivated" /> </item> <item android:id="@+id/off"> - <bitmap android:src="@drawable/btn_check_anim_00000_qntm_alpha" - android:tint="?attr/colorControlNormal" /> + <bitmap android:src="@drawable/btn_check_to_on_qntm_000" android:tint="?attr/colorControlNormal" /> </item> - <transition android:fromId="@+id/off" android:toId="@+id/on" android:reversible="true"> + <transition android:fromId="@+id/off" android:toId="@+id/on"> <animation-list> - <item android:duration="33"> - <bitmap android:src="@drawable/btn_check_anim_00000_qntm_alpha" - android:tint="?attr/colorControlActivated" /> + <item android:duration="15"> + <bitmap android:src="@drawable/btn_check_to_on_qntm_000" android:tint="?attr/colorControlActivated" /> </item> - <item android:duration="33"> - <bitmap android:src="@drawable/btn_check_anim_00001_qntm_alpha" - android:tint="?attr/colorControlActivated" /> + <item android:duration="15"> + <bitmap android:src="@drawable/btn_check_to_on_qntm_001" android:tint="?attr/colorControlActivated" /> </item> - <item android:duration="33"> - <bitmap android:src="@drawable/btn_check_anim_00002_qntm_alpha" - android:tint="?attr/colorControlActivated" /> + <item android:duration="15"> + <bitmap android:src="@drawable/btn_check_to_on_qntm_002" android:tint="?attr/colorControlActivated" /> </item> - <item android:duration="33"> - <bitmap android:src="@drawable/btn_check_anim_00003_qntm_alpha" - android:tint="?attr/colorControlActivated" /> + <item android:duration="15"> + <bitmap android:src="@drawable/btn_check_to_on_qntm_003" android:tint="?attr/colorControlActivated" /> </item> - <item android:duration="33"> - <bitmap android:src="@drawable/btn_check_anim_00004_qntm_alpha" - android:tint="?attr/colorControlActivated" /> + <item android:duration="15"> + <bitmap android:src="@drawable/btn_check_to_on_qntm_004" android:tint="?attr/colorControlActivated" /> </item> - <item android:duration="33"> - <bitmap android:src="@drawable/btn_check_anim_00005_qntm_alpha" - android:tint="?attr/colorControlActivated" /> + <item android:duration="15"> + <bitmap android:src="@drawable/btn_check_to_on_qntm_005" android:tint="?attr/colorControlActivated" /> </item> - <item android:duration="33"> - <bitmap android:src="@drawable/btn_check_anim_00006_qntm_alpha" - android:tint="?attr/colorControlActivated" /> + <item android:duration="15"> + <bitmap android:src="@drawable/btn_check_to_on_qntm_006" android:tint="?attr/colorControlActivated" /> </item> - <item android:duration="33"> - <bitmap android:src="@drawable/btn_check_anim_00007_qntm_alpha" - android:tint="?attr/colorControlActivated" /> + <item android:duration="15"> + <bitmap android:src="@drawable/btn_check_to_on_qntm_007" android:tint="?attr/colorControlActivated" /> </item> - <item android:duration="33"> - <bitmap android:src="@drawable/btn_check_anim_00008_qntm_alpha" - android:tint="?attr/colorControlActivated" /> + <item android:duration="15"> + <bitmap android:src="@drawable/btn_check_to_on_qntm_008" android:tint="?attr/colorControlActivated" /> </item> - <item android:duration="33"> - <bitmap android:src="@drawable/btn_check_anim_00009_qntm_alpha" - android:tint="?attr/colorControlActivated" /> + <item android:duration="15"> + <bitmap android:src="@drawable/btn_check_to_on_qntm_009" android:tint="?attr/colorControlActivated" /> </item> - <item android:duration="33"> - <bitmap android:src="@drawable/btn_check_anim_00010_qntm_alpha" - android:tint="?attr/colorControlActivated" /> + <item android:duration="15"> + <bitmap android:src="@drawable/btn_check_to_on_qntm_010" android:tint="?attr/colorControlActivated" /> </item> - <item android:duration="33"> - <bitmap android:src="@drawable/btn_check_anim_00011_qntm_alpha" - android:tint="?attr/colorControlActivated" /> + <item android:duration="15"> + <bitmap android:src="@drawable/btn_check_to_on_qntm_011" android:tint="?attr/colorControlActivated" /> </item> - <item android:duration="33"> - <bitmap android:src="@drawable/btn_check_anim_00012_qntm_alpha" - android:tint="?attr/colorControlActivated" /> + <item android:duration="15"> + <bitmap android:src="@drawable/btn_check_to_on_qntm_012" android:tint="?attr/colorControlActivated" /> </item> - <item android:duration="33"> - <bitmap android:src="@drawable/btn_check_anim_00013_qntm_alpha" - android:tint="?attr/colorControlActivated" /> + <item android:duration="15"> + <bitmap android:src="@drawable/btn_check_to_on_qntm_013" android:tint="?attr/colorControlActivated" /> </item> - <item android:duration="33"> - <bitmap android:src="@drawable/btn_check_anim_00014_qntm_alpha" - android:tint="?attr/colorControlActivated" /> + <item android:duration="15"> + <bitmap android:src="@drawable/btn_check_to_on_qntm_014" android:tint="?attr/colorControlActivated" /> </item> - <item android:duration="33"> - <bitmap android:src="@drawable/btn_check_anim_00015_qntm_alpha" - android:tint="?attr/colorControlActivated" /> + <item android:duration="15"> + <bitmap android:src="@drawable/btn_check_to_on_qntm_015" android:tint="?attr/colorControlActivated" /> + </item> + </animation-list> + </transition> + <transition android:fromId="@+id/on" android:toId="@+id/off"> + <animation-list> + <item android:duration="15"> + <bitmap android:src="@drawable/btn_check_to_off_qntm_000" android:tint="?attr/colorControlActivated" /> + </item> + <item android:duration="15"> + <bitmap android:src="@drawable/btn_check_to_off_qntm_001" android:tint="?attr/colorControlActivated" /> + </item> + <item android:duration="15"> + <bitmap android:src="@drawable/btn_check_to_off_qntm_002" android:tint="?attr/colorControlActivated" /> + </item> + <item android:duration="15"> + <bitmap android:src="@drawable/btn_check_to_off_qntm_003" android:tint="?attr/colorControlActivated" /> + </item> + <item android:duration="15"> + <bitmap android:src="@drawable/btn_check_to_off_qntm_004" android:tint="?attr/colorControlActivated" /> + </item> + <item android:duration="15"> + <bitmap android:src="@drawable/btn_check_to_off_qntm_005" android:tint="?attr/colorControlActivated" /> + </item> + <item android:duration="15"> + <bitmap android:src="@drawable/btn_check_to_off_qntm_006" android:tint="?attr/colorControlActivated" /> + </item> + <item android:duration="15"> + <bitmap android:src="@drawable/btn_check_to_off_qntm_007" android:tint="?attr/colorControlActivated" /> + </item> + <item android:duration="15"> + <bitmap android:src="@drawable/btn_check_to_off_qntm_008" android:tint="?attr/colorControlActivated" /> + </item> + <item android:duration="15"> + <bitmap android:src="@drawable/btn_check_to_off_qntm_009" android:tint="?attr/colorControlActivated" /> + </item> + <item android:duration="15"> + <bitmap android:src="@drawable/btn_check_to_off_qntm_010" android:tint="?attr/colorControlActivated" /> + </item> + <item android:duration="15"> + <bitmap android:src="@drawable/btn_check_to_off_qntm_011" android:tint="?attr/colorControlActivated" /> + </item> + <item android:duration="15"> + <bitmap android:src="@drawable/btn_check_to_off_qntm_012" android:tint="?attr/colorControlActivated" /> + </item> + <item android:duration="15"> + <bitmap android:src="@drawable/btn_check_to_off_qntm_013" android:tint="?attr/colorControlActivated" /> + </item> + <item android:duration="15"> + <bitmap android:src="@drawable/btn_check_to_off_qntm_014" android:tint="?attr/colorControlActivated" /> + </item> + <item android:duration="15"> + <bitmap android:src="@drawable/btn_check_to_off_qntm_015" android:tint="?attr/colorControlActivated" /> </item> </animation-list> </transition> diff --git a/core/res/res/drawable/btn_default_quantum.xml b/core/res/res/drawable/btn_default_quantum.xml index 63473a4..61193fe 100644 --- a/core/res/res/drawable/btn_default_quantum.xml +++ b/core/res/res/drawable/btn_default_quantum.xml @@ -17,20 +17,7 @@ <ripple xmlns:android="http://schemas.android.com/apk/res/android" android:tint="?attr/colorControlHighlight"> <item> - <inset - android:insetLeft="4dp" - android:insetTop="4dp" - android:insetBottom="4dp" - android:insetRight="4dp"> - <shape android:shape="rectangle"> - <solid android:color="?attr/colorButtonNormal" /> - <corners android:radius="2dp" /> - <padding - android:left="4dp" - android:top="4dp" - android:bottom="4dp" - android:right="4dp" /> - </shape> - </inset> + <nine-patch android:src="@drawable/btn_qntm_alpha" + android:tint="?attr/colorButtonNormal" /> </item> </ripple> diff --git a/core/res/res/drawable/btn_radio_quantum.xml b/core/res/res/drawable/btn_radio_quantum.xml deleted file mode 100644 index 0f9ebce..0000000 --- a/core/res/res/drawable/btn_radio_quantum.xml +++ /dev/null @@ -1,36 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<!-- Copyright (C) 2014 The Android Open Source Project - - Licensed under the Apache License, Version 2.0 (the "License"); - you may not use this file except in compliance with the License. - You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - - Unless required by applicable law or agreed to in writing, software - distributed under the License is distributed on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - See the License for the specific language governing permissions and - limitations under the License. ---> - -<selector xmlns:android="http://schemas.android.com/apk/res/android"> - <item android:state_enabled="false" android:state_checked="true"> - <bitmap android:src="@drawable/btn_radio_on_qntm_alpha" - android:tint="?attr/colorControlNormal" - android:alpha="?attr/disabledAlpha" /> - </item> - <item android:state_enabled="false"> - <bitmap android:src="@drawable/btn_radio_off_qntm_alpha" - android:tint="?attr/colorControlNormal" - android:alpha="?attr/disabledAlpha" /> - </item> - <item android:state_checked="true"> - <bitmap android:src="@drawable/btn_radio_on_qntm_alpha" - android:tint="?attr/colorControlActivated" /> - </item> - <item> - <bitmap android:src="@drawable/btn_radio_off_qntm_alpha" - android:tint="?attr/colorControlNormal" /> - </item> -</selector> diff --git a/core/res/res/drawable/btn_radio_quantum_anim.xml b/core/res/res/drawable/btn_radio_quantum_anim.xml index 5068b7a..cd9b518 100644 --- a/core/res/res/drawable/btn_radio_quantum_anim.xml +++ b/core/res/res/drawable/btn_radio_quantum_anim.xml @@ -16,88 +16,118 @@ <animated-selector xmlns:android="http://schemas.android.com/apk/res/android"> <item android:state_enabled="false" android:state_checked="true"> - <bitmap android:src="@drawable/btn_radio_anim_00015_qntm_alpha" - android:tint="?attr/colorControlActivated" - android:alpha="?attr/disabledAlpha" /> + <bitmap android:src="@drawable/btn_radio_to_on_qntm_015" android:tint="?attr/colorControlActivated" android:alpha="?attr/disabledAlpha" /> </item> <item android:state_enabled="false"> - <bitmap android:src="@drawable/btn_radio_anim_00000_qntm_alpha" - android:tint="?attr/colorControlNormal" - android:alpha="?attr/disabledAlpha" /> + <bitmap android:src="@drawable/btn_radio_to_on_qntm_000" android:tint="?attr/colorControlNormal" android:alpha="?attr/disabledAlpha" /> </item> <item android:state_checked="true" android:id="@+id/on"> - <bitmap android:src="@drawable/btn_radio_anim_00015_qntm_alpha" - android:tint="?attr/colorControlActivated" /> + <bitmap android:src="@drawable/btn_radio_to_on_qntm_015" android:tint="?attr/colorControlActivated" /> </item> <item android:id="@+id/off"> - <bitmap android:src="@drawable/btn_radio_anim_00000_qntm_alpha" - android:tint="?attr/colorControlNormal" /> + <bitmap android:src="@drawable/btn_radio_to_on_qntm_000" android:tint="?attr/colorControlNormal" /> </item> - <transition android:fromId="@+id/off" android:toId="@+id/on" android:reversible="true"> + <transition android:fromId="@+id/off" android:toId="@+id/on"> <animation-list> - <item android:duration="33"> - <bitmap android:src="@drawable/btn_radio_anim_00000_qntm_alpha" - android:tint="?attr/colorControlActivated" /> + <item android:duration="15"> + <bitmap android:src="@drawable/btn_radio_to_on_qntm_000" android:tint="?attr/colorControlActivated" /> </item> - <item android:duration="33"> - <bitmap android:src="@drawable/btn_radio_anim_00001_qntm_alpha" - android:tint="?attr/colorControlActivated" /> + <item android:duration="15"> + <bitmap android:src="@drawable/btn_radio_to_on_qntm_001" android:tint="?attr/colorControlActivated" /> </item> - <item android:duration="33"> - <bitmap android:src="@drawable/btn_radio_anim_00002_qntm_alpha" - android:tint="?attr/colorControlActivated" /> + <item android:duration="15"> + <bitmap android:src="@drawable/btn_radio_to_on_qntm_002" android:tint="?attr/colorControlActivated" /> </item> - <item android:duration="33"> - <bitmap android:src="@drawable/btn_radio_anim_00003_qntm_alpha" - android:tint="?attr/colorControlActivated" /> + <item android:duration="15"> + <bitmap android:src="@drawable/btn_radio_to_on_qntm_003" android:tint="?attr/colorControlActivated" /> </item> - <item android:duration="33"> - <bitmap android:src="@drawable/btn_radio_anim_00004_qntm_alpha" - android:tint="?attr/colorControlActivated" /> + <item android:duration="15"> + <bitmap android:src="@drawable/btn_radio_to_on_qntm_004" android:tint="?attr/colorControlActivated" /> </item> - <item android:duration="33"> - <bitmap android:src="@drawable/btn_radio_anim_00005_qntm_alpha" - android:tint="?attr/colorControlActivated" /> + <item android:duration="15"> + <bitmap android:src="@drawable/btn_radio_to_on_qntm_005" android:tint="?attr/colorControlActivated" /> </item> - <item android:duration="33"> - <bitmap android:src="@drawable/btn_radio_anim_00006_qntm_alpha" - android:tint="?attr/colorControlActivated" /> + <item android:duration="15"> + <bitmap android:src="@drawable/btn_radio_to_on_qntm_006" android:tint="?attr/colorControlActivated" /> </item> - <item android:duration="33"> - <bitmap android:src="@drawable/btn_radio_anim_00007_qntm_alpha" - android:tint="?attr/colorControlActivated" /> + <item android:duration="15"> + <bitmap android:src="@drawable/btn_radio_to_on_qntm_007" android:tint="?attr/colorControlActivated" /> </item> - <item android:duration="33"> - <bitmap android:src="@drawable/btn_radio_anim_00008_qntm_alpha" - android:tint="?attr/colorControlActivated" /> + <item android:duration="15"> + <bitmap android:src="@drawable/btn_radio_to_on_qntm_008" android:tint="?attr/colorControlActivated" /> </item> - <item android:duration="33"> - <bitmap android:src="@drawable/btn_radio_anim_00009_qntm_alpha" - android:tint="?attr/colorControlActivated" /> + <item android:duration="15"> + <bitmap android:src="@drawable/btn_radio_to_on_qntm_009" android:tint="?attr/colorControlActivated" /> </item> - <item android:duration="33"> - <bitmap android:src="@drawable/btn_radio_anim_00010_qntm_alpha" - android:tint="?attr/colorControlActivated" /> + <item android:duration="15"> + <bitmap android:src="@drawable/btn_radio_to_on_qntm_010" android:tint="?attr/colorControlActivated" /> </item> - <item android:duration="33"> - <bitmap android:src="@drawable/btn_radio_anim_00011_qntm_alpha" - android:tint="?attr/colorControlActivated" /> + <item android:duration="15"> + <bitmap android:src="@drawable/btn_radio_to_on_qntm_011" android:tint="?attr/colorControlActivated" /> </item> - <item android:duration="33"> - <bitmap android:src="@drawable/btn_radio_anim_00012_qntm_alpha" - android:tint="?attr/colorControlActivated" /> + <item android:duration="15"> + <bitmap android:src="@drawable/btn_radio_to_on_qntm_012" android:tint="?attr/colorControlActivated" /> </item> - <item android:duration="33"> - <bitmap android:src="@drawable/btn_radio_anim_00013_qntm_alpha" - android:tint="?attr/colorControlActivated" /> + <item android:duration="15"> + <bitmap android:src="@drawable/btn_radio_to_on_qntm_013" android:tint="?attr/colorControlActivated" /> </item> - <item android:duration="33"> - <bitmap android:src="@drawable/btn_radio_anim_00014_qntm_alpha" - android:tint="?attr/colorControlActivated" /> + <item android:duration="15"> + <bitmap android:src="@drawable/btn_radio_to_on_qntm_014" android:tint="?attr/colorControlActivated" /> </item> - <item android:duration="33"> - <bitmap android:src="@drawable/btn_radio_anim_00015_qntm_alpha" - android:tint="?attr/colorControlActivated" /> + <item android:duration="15"> + <bitmap android:src="@drawable/btn_radio_to_on_qntm_015" android:tint="?attr/colorControlActivated" /> + </item> + </animation-list> + </transition> + <transition android:fromId="@+id/on" android:toId="@+id/off"> + <animation-list> + <item android:duration="15"> + <bitmap android:src="@drawable/btn_radio_to_off_qntm_000" android:tint="?attr/colorControlActivated" /> + </item> + <item android:duration="15"> + <bitmap android:src="@drawable/btn_radio_to_off_qntm_001" android:tint="?attr/colorControlActivated" /> + </item> + <item android:duration="15"> + <bitmap android:src="@drawable/btn_radio_to_off_qntm_002" android:tint="?attr/colorControlActivated" /> + </item> + <item android:duration="15"> + <bitmap android:src="@drawable/btn_radio_to_off_qntm_003" android:tint="?attr/colorControlActivated" /> + </item> + <item android:duration="15"> + <bitmap android:src="@drawable/btn_radio_to_off_qntm_004" android:tint="?attr/colorControlActivated" /> + </item> + <item android:duration="15"> + <bitmap android:src="@drawable/btn_radio_to_off_qntm_005" android:tint="?attr/colorControlActivated" /> + </item> + <item android:duration="15"> + <bitmap android:src="@drawable/btn_radio_to_off_qntm_006" android:tint="?attr/colorControlActivated" /> + </item> + <item android:duration="15"> + <bitmap android:src="@drawable/btn_radio_to_off_qntm_007" android:tint="?attr/colorControlActivated" /> + </item> + <item android:duration="15"> + <bitmap android:src="@drawable/btn_radio_to_off_qntm_008" android:tint="?attr/colorControlActivated" /> + </item> + <item android:duration="15"> + <bitmap android:src="@drawable/btn_radio_to_off_qntm_009" android:tint="?attr/colorControlActivated" /> + </item> + <item android:duration="15"> + <bitmap android:src="@drawable/btn_radio_to_off_qntm_010" android:tint="?attr/colorControlActivated" /> + </item> + <item android:duration="15"> + <bitmap android:src="@drawable/btn_radio_to_off_qntm_011" android:tint="?attr/colorControlActivated" /> + </item> + <item android:duration="15"> + <bitmap android:src="@drawable/btn_radio_to_off_qntm_012" android:tint="?attr/colorControlActivated" /> + </item> + <item android:duration="15"> + <bitmap android:src="@drawable/btn_radio_to_off_qntm_013" android:tint="?attr/colorControlActivated" /> + </item> + <item android:duration="15"> + <bitmap android:src="@drawable/btn_radio_to_off_qntm_014" android:tint="?attr/colorControlActivated" /> + </item> + <item android:duration="15"> + <bitmap android:src="@drawable/btn_radio_to_off_qntm_015" android:tint="?attr/colorControlActivated" /> </item> </animation-list> </transition> diff --git a/core/res/res/drawable/btn_toggle_quantum.xml b/core/res/res/drawable/btn_toggle_quantum.xml new file mode 100644 index 0000000..e235598 --- /dev/null +++ b/core/res/res/drawable/btn_toggle_quantum.xml @@ -0,0 +1,44 @@ +<?xml version="1.0" encoding="utf-8"?> +<!-- Copyright (C) 2008 The Android Open Source Project + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. +--> + +<inset xmlns:android="http://schemas.android.com/apk/res/android" + android:insetLeft="4dp" + android:insetTop="4dp" + android:insetBottom="4dp" + android:insetRight="4dp"> + <layer-list android:paddingMode="stack"> + <item> + <ripple android:tint="?attr/colorControlHighlight"> + <item> + <nine-patch android:src="@drawable/btn_toggle_qntm_alpha" + android:tint="?attr/colorButtonNormal" /> + </item> + </ripple> + </item> + <item> + <selector xmlns:android="http://schemas.android.com/apk/res/android"> + <item android:state_checked="false"> + <nine-patch android:src="@drawable/btn_toggle_indicator_qntm_alpha" + android:tint="?attr/colorControlNormal" /> + </item> + <item android:state_checked="true"> + <nine-patch android:src="@drawable/btn_toggle_indicator_qntm_alpha" + android:tint="?attr/colorControlActivated" /> + </item> + </selector> + </item> + </layer-list> +</inset> diff --git a/core/res/res/drawable/scrubber_control_quantum_anim.xml b/core/res/res/drawable/scrubber_control_quantum_anim.xml new file mode 100644 index 0000000..87d3ae9 --- /dev/null +++ b/core/res/res/drawable/scrubber_control_quantum_anim.xml @@ -0,0 +1,74 @@ +<?xml version="1.0" encoding="utf-8"?> +<!-- Copyright (C) 2014 The Android Open Source Project + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. +--> + +<animated-selector xmlns:android="http://schemas.android.com/apk/res/android" android:constantSize="true"> + <item android:state_enabled="false" android:state_pressed="true"> + <bitmap android:src="@drawable/scrubber_control_off_qntm_alpha" android:gravity="center" android:tint="?attr/colorControlActivated" android:alpha="?attr/disabledAlpha" /> + </item> + <item android:state_enabled="false"> + <bitmap android:src="@drawable/scrubber_control_off_qntm_alpha" android:gravity="center" android:tint="?attr/colorControlNormal" android:alpha="?attr/disabledAlpha" /> + </item> + <item android:state_pressed="true" android:id="@+id/pressed"> + <bitmap android:src="@drawable/scrubber_control_to_pressed_qntm_005" android:gravity="center" android:tint="?attr/colorControlActivated" /> + </item> + <item android:id="@+id/not_pressed"> + <bitmap android:src="@drawable/scrubber_control_to_pressed_qntm_000" android:gravity="center" android:tint="?attr/colorControlActivated" /> + </item> + <transition android:fromId="@+id/not_pressed" android:toId="@+id/pressed"> + <animation-list> + <item android:duration="15"> + <bitmap android:src="@drawable/scrubber_control_to_pressed_qntm_000" android:gravity="center" android:tint="?attr/colorControlActivated" /> + </item> + <item android:duration="15"> + <bitmap android:src="@drawable/scrubber_control_to_pressed_qntm_001" android:gravity="center" android:tint="?attr/colorControlActivated" /> + </item> + <item android:duration="15"> + <bitmap android:src="@drawable/scrubber_control_to_pressed_qntm_002" android:gravity="center" android:tint="?attr/colorControlActivated" /> + </item> + <item android:duration="15"> + <bitmap android:src="@drawable/scrubber_control_to_pressed_qntm_003" android:gravity="center" android:tint="?attr/colorControlActivated" /> + </item> + <item android:duration="15"> + <bitmap android:src="@drawable/scrubber_control_to_pressed_qntm_004" android:gravity="center" android:tint="?attr/colorControlActivated" /> + </item> + <item android:duration="15"> + <bitmap android:src="@drawable/scrubber_control_to_pressed_qntm_005" android:gravity="center" android:tint="?attr/colorControlActivated" /> + </item> + </animation-list> + </transition> + <transition android:fromId="@+id/pressed" android:toId="@+id/not_pressed"> + <animation-list> + <item android:duration="15"> + <bitmap android:src="@drawable/scrubber_control_from_pressed_qntm_000" android:gravity="center" android:tint="?attr/colorControlActivated" /> + </item> + <item android:duration="15"> + <bitmap android:src="@drawable/scrubber_control_from_pressed_qntm_001" android:gravity="center" android:tint="?attr/colorControlActivated" /> + </item> + <item android:duration="15"> + <bitmap android:src="@drawable/scrubber_control_from_pressed_qntm_002" android:gravity="center" android:tint="?attr/colorControlActivated" /> + </item> + <item android:duration="15"> + <bitmap android:src="@drawable/scrubber_control_from_pressed_qntm_003" android:gravity="center" android:tint="?attr/colorControlActivated" /> + </item> + <item android:duration="15"> + <bitmap android:src="@drawable/scrubber_control_from_pressed_qntm_004" android:gravity="center" android:tint="?attr/colorControlActivated" /> + </item> + <item android:duration="15"> + <bitmap android:src="@drawable/scrubber_control_from_pressed_qntm_005" android:gravity="center" android:tint="?attr/colorControlActivated" /> + </item> + </animation-list> + </transition> +</animated-selector> diff --git a/core/res/res/drawable/switch_inner_quantum.xml b/core/res/res/drawable/switch_inner_quantum.xml deleted file mode 100644 index 856895e..0000000 --- a/core/res/res/drawable/switch_inner_quantum.xml +++ /dev/null @@ -1,36 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<!-- Copyright (C) 2014 The Android Open Source Project - - Licensed under the Apache License, Version 2.0 (the "License"); - you may not use this file except in compliance with the License. - You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - - Unless required by applicable law or agreed to in writing, software - distributed under the License is distributed on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - See the License for the specific language governing permissions and - limitations under the License. ---> - -<selector xmlns:android="http://schemas.android.com/apk/res/android"> - <item android:state_enabled="false" android:state_checked="true"> - <nine-patch android:src="@drawable/switch_on_qntm_alpha" - android:tint="?attr/colorControlNormal" - android:alpha="?attr/disabledAlpha" /> - </item> - <item android:state_enabled="false"> - <nine-patch android:src="@drawable/switch_off_qntm_alpha" - android:tint="?attr/colorControlNormal" - android:alpha="?attr/disabledAlpha" /> - </item> - <item android:state_checked="true"> - <nine-patch android:src="@drawable/switch_on_qntm_alpha" - android:tint="?attr/colorControlActivated" /> - </item> - <item> - <nine-patch android:src="@drawable/switch_off_qntm_alpha" - android:tint="?attr/colorControlNormal" /> - </item> -</selector> diff --git a/core/res/res/drawable/switch_thumb_quantum_anim.xml b/core/res/res/drawable/switch_thumb_quantum_anim.xml new file mode 100644 index 0000000..1984d47 --- /dev/null +++ b/core/res/res/drawable/switch_thumb_quantum_anim.xml @@ -0,0 +1,128 @@ +<?xml version="1.0" encoding="utf-8"?> +<!-- Copyright (C) 2014 The Android Open Source Project + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. +--> + +<animated-selector xmlns:android="http://schemas.android.com/apk/res/android" android:constantSize="true"> + <item android:state_enabled="false" android:state_checked="true"> + <bitmap android:src="@drawable/btn_switch_to_on_qntm_014" android:gravity="center" android:tint="?attr/colorControlActivated" android:alpha="?attr/disabledAlpha" /> + </item> + <item android:state_enabled="false"> + <bitmap android:src="@drawable/btn_switch_to_on_qntm_000" android:gravity="center" android:tint="?attr/colorControlNormal" android:alpha="?attr/disabledAlpha" /> + </item> + <item android:state_checked="true" android:id="@+id/on"> + <bitmap android:src="@drawable/btn_switch_to_on_qntm_014" android:gravity="center" android:tint="?attr/colorControlActivated" /> + </item> + <item android:id="@+id/off"> + <bitmap android:src="@drawable/btn_switch_to_on_qntm_000" android:gravity="center" android:tint="?attr/colorControlNormal" /> + </item> + <transition android:fromId="@+id/off" android:toId="@+id/on"> + <animation-list> + <item android:duration="15"> + <bitmap android:src="@drawable/btn_switch_to_on_qntm_000" android:gravity="center" android:tint="?attr/colorControlActivated" /> + </item> + <item android:duration="15"> + <bitmap android:src="@drawable/btn_switch_to_on_qntm_001" android:gravity="center" android:tint="?attr/colorControlActivated" /> + </item> + <item android:duration="15"> + <bitmap android:src="@drawable/btn_switch_to_on_qntm_002" android:gravity="center" android:tint="?attr/colorControlActivated" /> + </item> + <item android:duration="15"> + <bitmap android:src="@drawable/btn_switch_to_on_qntm_003" android:gravity="center" android:tint="?attr/colorControlActivated" /> + </item> + <item android:duration="15"> + <bitmap android:src="@drawable/btn_switch_to_on_qntm_004" android:gravity="center" android:tint="?attr/colorControlActivated" /> + </item> + <item android:duration="15"> + <bitmap android:src="@drawable/btn_switch_to_on_qntm_005" android:gravity="center" android:tint="?attr/colorControlActivated" /> + </item> + <item android:duration="15"> + <bitmap android:src="@drawable/btn_switch_to_on_qntm_006" android:gravity="center" android:tint="?attr/colorControlActivated" /> + </item> + <item android:duration="15"> + <bitmap android:src="@drawable/btn_switch_to_on_qntm_007" android:gravity="center" android:tint="?attr/colorControlActivated" /> + </item> + <item android:duration="15"> + <bitmap android:src="@drawable/btn_switch_to_on_qntm_008" android:gravity="center" android:tint="?attr/colorControlActivated" /> + </item> + <item android:duration="15"> + <bitmap android:src="@drawable/btn_switch_to_on_qntm_009" android:gravity="center" android:tint="?attr/colorControlActivated" /> + </item> + <item android:duration="15"> + <bitmap android:src="@drawable/btn_switch_to_on_qntm_010" android:gravity="center" android:tint="?attr/colorControlActivated" /> + </item> + <item android:duration="15"> + <bitmap android:src="@drawable/btn_switch_to_on_qntm_011" android:gravity="center" android:tint="?attr/colorControlActivated" /> + </item> + <item android:duration="15"> + <bitmap android:src="@drawable/btn_switch_to_on_qntm_012" android:gravity="center" android:tint="?attr/colorControlActivated" /> + </item> + <item android:duration="15"> + <bitmap android:src="@drawable/btn_switch_to_on_qntm_013" android:gravity="center" android:tint="?attr/colorControlActivated" /> + </item> + <item android:duration="15"> + <bitmap android:src="@drawable/btn_switch_to_on_qntm_014" android:gravity="center" android:tint="?attr/colorControlActivated" /> + </item> + </animation-list> + </transition> + <transition android:fromId="@+id/on" android:toId="@+id/off"> + <animation-list> + <item android:duration="15"> + <bitmap android:src="@drawable/btn_switch_to_off_qntm_000" android:gravity="center" android:tint="?attr/colorControlActivated" /> + </item> + <item android:duration="15"> + <bitmap android:src="@drawable/btn_switch_to_off_qntm_001" android:gravity="center" android:tint="?attr/colorControlActivated" /> + </item> + <item android:duration="15"> + <bitmap android:src="@drawable/btn_switch_to_off_qntm_002" android:gravity="center" android:tint="?attr/colorControlActivated" /> + </item> + <item android:duration="15"> + <bitmap android:src="@drawable/btn_switch_to_off_qntm_003" android:gravity="center" android:tint="?attr/colorControlActivated" /> + </item> + <item android:duration="15"> + <bitmap android:src="@drawable/btn_switch_to_off_qntm_004" android:gravity="center" android:tint="?attr/colorControlActivated" /> + </item> + <item android:duration="15"> + <bitmap android:src="@drawable/btn_switch_to_off_qntm_005" android:gravity="center" android:tint="?attr/colorControlActivated" /> + </item> + <item android:duration="15"> + <bitmap android:src="@drawable/btn_switch_to_off_qntm_006" android:gravity="center" android:tint="?attr/colorControlActivated" /> + </item> + <item android:duration="15"> + <bitmap android:src="@drawable/btn_switch_to_off_qntm_007" android:gravity="center" android:tint="?attr/colorControlActivated" /> + </item> + <item android:duration="15"> + <bitmap android:src="@drawable/btn_switch_to_off_qntm_008" android:gravity="center" android:tint="?attr/colorControlActivated" /> + </item> + <item android:duration="15"> + <bitmap android:src="@drawable/btn_switch_to_off_qntm_009" android:gravity="center" android:tint="?attr/colorControlActivated" /> + </item> + <item android:duration="15"> + <bitmap android:src="@drawable/btn_switch_to_off_qntm_010" android:gravity="center" android:tint="?attr/colorControlActivated" /> + </item> + <item android:duration="15"> + <bitmap android:src="@drawable/btn_switch_to_off_qntm_011" android:gravity="center" android:tint="?attr/colorControlActivated" /> + </item> + <item android:duration="15"> + <bitmap android:src="@drawable/btn_switch_to_off_qntm_012" android:gravity="center" android:tint="?attr/colorControlActivated" /> + </item> + <item android:duration="15"> + <bitmap android:src="@drawable/btn_switch_to_off_qntm_013" android:gravity="center" android:tint="?attr/colorControlActivated" /> + </item> + <item android:duration="15"> + <bitmap android:src="@drawable/btn_switch_to_off_qntm_014" android:gravity="center" android:tint="?attr/colorControlActivated" /> + </item> + </animation-list> + </transition> +</animated-selector> diff --git a/core/res/res/drawable/switch_track_quantum.xml b/core/res/res/drawable/switch_track_quantum.xml index 8c4e6b71..3651a0a 100644 --- a/core/res/res/drawable/switch_track_quantum.xml +++ b/core/res/res/drawable/switch_track_quantum.xml @@ -15,6 +15,16 @@ --> <selector xmlns:android="http://schemas.android.com/apk/res/android"> + <item android:state_enabled="false" android:state_checked="true"> + <nine-patch android:src="@drawable/switch_track_qntm_alpha" + android:tint="?attr/colorControlActivated" + android:alpha="?attr/disabledAlpha" /> + </item> + <item android:state_enabled="false"> + <nine-patch android:src="@drawable/switch_track_qntm_alpha" + android:tint="?attr/colorControlNormal" + android:alpha="?attr/disabledAlpha" /> + </item> <item android:state_checked="true"> <nine-patch android:src="@drawable/switch_track_qntm_alpha" android:tint="?attr/colorControlActivated" /> diff --git a/core/res/res/values/styles_quantum.xml b/core/res/res/values/styles_quantum.xml index e528278..4cd2244 100644 --- a/core/res/res/values/styles_quantum.xml +++ b/core/res/res/values/styles_quantum.xml @@ -390,7 +390,7 @@ please see styles_device_defaults.xml. </style> <style name="Widget.Quantum.Button.Toggle"> - <item name="background">@drawable/btn_toggle_holo_dark</item> + <item name="background">@drawable/btn_toggle_quantum</item> <item name="textOn">@string/capital_on</item> <item name="textOff">@string/capital_off</item> <item name="textAppearance">?attr/textAppearanceSmall</item> @@ -459,13 +459,13 @@ please see styles_device_defaults.xml. <style name="Widget.Quantum.CompoundButton.Switch"> <item name="track">@drawable/switch_track_quantum</item> - <item name="thumb">@drawable/switch_inner_quantum</item> + <item name="thumb">@drawable/switch_thumb_quantum_anim</item> <item name="splitTrack">true</item> <item name="switchTextAppearance">@style/TextAppearance.Quantum.Widget.Switch</item> <item name="textOn"></item> <item name="textOff"></item> - <item name="switchMinWidth">72dip</item> - <item name="switchPadding">16dip</item> + <item name="switchMinWidth">4dip</item> + <item name="switchPadding">4dip</item> <item name="background">?attr/selectableItemBackground</item> </style> @@ -579,7 +579,7 @@ please see styles_device_defaults.xml. <item name="indeterminateOnly">false</item> <item name="progressDrawable">@drawable/scrubber_progress_horizontal_quantum</item> <item name="indeterminateDrawable">@drawable/scrubber_progress_horizontal_quantum</item> - <item name="thumb">@drawable/scrubber_control_selector_quantum</item> + <item name="thumb">@drawable/scrubber_control_quantum_anim</item> <item name="splitTrack">true</item> <item name="focusable">true</item> <item name="paddingStart">16dip</item> @@ -784,15 +784,7 @@ please see styles_device_defaults.xml. <style name="Widget.Quantum.Light.Button.Borderless" parent="Widget.Quantum.Button.Borderless"/> <style name="Widget.Quantum.Light.Button.Borderless.Small" parent="Widget.Quantum.Button.Borderless.Small"/> <style name="Widget.Quantum.Light.Button.Inset" parent="Widget.Quantum.Button.Inset"/> - - <style name="Widget.Quantum.Light.Button.Toggle"> - <item name="background">@drawable/btn_toggle_holo_light</item> - <item name="textOn">@string/capital_on</item> - <item name="textOff">@string/capital_off</item> - <item name="textAppearance">?attr/textAppearanceSmall</item> - <item name="minHeight">48dip</item> - </style> - + <style name="Widget.Quantum.Light.Button.Toggle" parent="Widget.Quantum.Button.Toggle" /> <style name="Widget.Quantum.Light.ButtonBar" parent="Widget.Quantum.ButtonBar"/> <style name="Widget.Quantum.Light.ButtonBar.AlertDialog" parent="Widget.Quantum.ButtonBar.AlertDialog"/> diff --git a/data/fonts/Android.mk b/data/fonts/Android.mk index 452c575..c6bccfe 100644 --- a/data/fonts/Android.mk +++ b/data/fonts/Android.mk @@ -105,8 +105,11 @@ font_src_files := \ ifeq ($(MINIMAL_FONT_FOOTPRINT),true) +$(eval $(call create-font-symlink,Roboto-Black.ttf,Roboto-Bold.ttf)) $(eval $(call create-font-symlink,Roboto-Light.ttf,Roboto-Regular.ttf)) $(eval $(call create-font-symlink,Roboto-LightItalic.ttf,Roboto-Italic.ttf)) +$(eval $(call create-font-symlink,Roboto-Medium.ttf,Roboto-Regular.ttf)) +$(eval $(call create-font-symlink,Roboto-MediumItalic.ttf,Roboto-Italic.ttf)) $(eval $(call create-font-symlink,Roboto-Thin.ttf,Roboto-Regular.ttf)) $(eval $(call create-font-symlink,Roboto-ThinItalic.ttf,Roboto-Italic.ttf)) $(eval $(call create-font-symlink,RobotoCondensed-Regular.ttf,Roboto-Regular.ttf)) @@ -116,8 +119,11 @@ $(eval $(call create-font-symlink,RobotoCondensed-BoldItalic.ttf,Roboto-BoldItal else # !MINIMAL_FONT font_src_files += \ + Roboto-Black.ttf \ Roboto-Light.ttf \ Roboto-LightItalic.ttf \ + Roboto-Medium.ttf \ + Roboto-MediumItalic.ttf \ Roboto-Thin.ttf \ Roboto-ThinItalic.ttf \ RobotoCondensed-Regular.ttf \ diff --git a/data/fonts/Roboto-Black.ttf b/data/fonts/Roboto-Black.ttf Binary files differnew file mode 100644 index 0000000..2cdbe43 --- /dev/null +++ b/data/fonts/Roboto-Black.ttf diff --git a/data/fonts/Roboto-Bold.ttf b/data/fonts/Roboto-Bold.ttf Binary files differindex c5b9c67..15c9b4e 100644 --- a/data/fonts/Roboto-Bold.ttf +++ b/data/fonts/Roboto-Bold.ttf diff --git a/data/fonts/Roboto-BoldItalic.ttf b/data/fonts/Roboto-BoldItalic.ttf Binary files differindex 0320214..a0abf30 100644 --- a/data/fonts/Roboto-BoldItalic.ttf +++ b/data/fonts/Roboto-BoldItalic.ttf diff --git a/data/fonts/Roboto-Italic.ttf b/data/fonts/Roboto-Italic.ttf Binary files differindex 38ba570..67b5394 100644 --- a/data/fonts/Roboto-Italic.ttf +++ b/data/fonts/Roboto-Italic.ttf diff --git a/data/fonts/Roboto-Light.ttf b/data/fonts/Roboto-Light.ttf Binary files differindex 271606b..d9fb64a 100644 --- a/data/fonts/Roboto-Light.ttf +++ b/data/fonts/Roboto-Light.ttf diff --git a/data/fonts/Roboto-LightItalic.ttf b/data/fonts/Roboto-LightItalic.ttf Binary files differindex 17ef355..1fd1d31 100644 --- a/data/fonts/Roboto-LightItalic.ttf +++ b/data/fonts/Roboto-LightItalic.ttf diff --git a/data/fonts/Roboto-Medium.ttf b/data/fonts/Roboto-Medium.ttf Binary files differnew file mode 100644 index 0000000..c63c115 --- /dev/null +++ b/data/fonts/Roboto-Medium.ttf diff --git a/data/fonts/Roboto-MediumItalic.ttf b/data/fonts/Roboto-MediumItalic.ttf Binary files differnew file mode 100644 index 0000000..cd7c835 --- /dev/null +++ b/data/fonts/Roboto-MediumItalic.ttf diff --git a/data/fonts/Roboto-Regular.ttf b/data/fonts/Roboto-Regular.ttf Binary files differindex 7469063..9cb4a5a 100644 --- a/data/fonts/Roboto-Regular.ttf +++ b/data/fonts/Roboto-Regular.ttf diff --git a/data/fonts/Roboto-Thin.ttf b/data/fonts/Roboto-Thin.ttf Binary files differindex 74efe4d..f02f100 100644 --- a/data/fonts/Roboto-Thin.ttf +++ b/data/fonts/Roboto-Thin.ttf diff --git a/data/fonts/Roboto-ThinItalic.ttf b/data/fonts/Roboto-ThinItalic.ttf Binary files differindex f08ea51..12a2ce0 100644 --- a/data/fonts/Roboto-ThinItalic.ttf +++ b/data/fonts/Roboto-ThinItalic.ttf diff --git a/data/fonts/RobotoCondensed-Bold.ttf b/data/fonts/RobotoCondensed-Bold.ttf Binary files differindex 1252d00..1079af6 100644 --- a/data/fonts/RobotoCondensed-Bold.ttf +++ b/data/fonts/RobotoCondensed-Bold.ttf diff --git a/data/fonts/RobotoCondensed-BoldItalic.ttf b/data/fonts/RobotoCondensed-BoldItalic.ttf Binary files differindex e914a07..e7f13c2 100644 --- a/data/fonts/RobotoCondensed-BoldItalic.ttf +++ b/data/fonts/RobotoCondensed-BoldItalic.ttf diff --git a/data/fonts/RobotoCondensed-Italic.ttf b/data/fonts/RobotoCondensed-Italic.ttf Binary files differindex 8a570cf..7fa0448 100644 --- a/data/fonts/RobotoCondensed-Italic.ttf +++ b/data/fonts/RobotoCondensed-Italic.ttf diff --git a/data/fonts/RobotoCondensed-Light.ttf b/data/fonts/RobotoCondensed-Light.ttf Binary files differindex 41d212a..96b75dd 100644 --- a/data/fonts/RobotoCondensed-Light.ttf +++ b/data/fonts/RobotoCondensed-Light.ttf diff --git a/data/fonts/RobotoCondensed-LightItalic.ttf b/data/fonts/RobotoCondensed-LightItalic.ttf Binary files differindex dd54971..7a2c164 100755..100644 --- a/data/fonts/RobotoCondensed-LightItalic.ttf +++ b/data/fonts/RobotoCondensed-LightItalic.ttf diff --git a/data/fonts/RobotoCondensed-Regular.ttf b/data/fonts/RobotoCondensed-Regular.ttf Binary files differindex a16b9cb..734cc40 100644 --- a/data/fonts/RobotoCondensed-Regular.ttf +++ b/data/fonts/RobotoCondensed-Regular.ttf diff --git a/data/fonts/fonts.mk b/data/fonts/fonts.mk index 2312a04..e5573bb 100644 --- a/data/fonts/fonts.mk +++ b/data/fonts/fonts.mk @@ -24,8 +24,11 @@ PRODUCT_PACKAGES := \ Roboto-Bold.ttf \ Roboto-Italic.ttf \ Roboto-BoldItalic.ttf \ + Roboto-Black.ttf \ Roboto-Light.ttf \ Roboto-LightItalic.ttf \ + Roboto-Medium.ttf \ + Roboto-MediumItalic.ttf \ Roboto-Thin.ttf \ Roboto-ThinItalic.ttf \ RobotoCondensed-Regular.ttf \ diff --git a/data/fonts/system_fonts.xml b/data/fonts/system_fonts.xml index 97b7fd8..646b33b 100644 --- a/data/fonts/system_fonts.xml +++ b/data/fonts/system_fonts.xml @@ -68,6 +68,25 @@ <family> <nameset> + <name>sans-serif-medium</name> + </nameset> + <fileset> + <file>Roboto-Medium.ttf</file> + <file>Roboto-MediumItalic.ttf</file> + </fileset> + </family> + + <family> + <nameset> + <name>sans-serif-black</name> + </nameset> + <fileset> + <file>Roboto-Black.ttf</file> + </fileset> + </family> + + <family> + <nameset> <name>sans-serif-condensed-light</name> </nameset> <fileset> diff --git a/graphics/java/android/graphics/drawable/AnimatedStateListDrawable.java b/graphics/java/android/graphics/drawable/AnimatedStateListDrawable.java index 46e3401..42872e9 100644 --- a/graphics/java/android/graphics/drawable/AnimatedStateListDrawable.java +++ b/graphics/java/android/graphics/drawable/AnimatedStateListDrawable.java @@ -80,6 +80,22 @@ public class AnimatedStateListDrawable extends StateListDrawable { this(null, null); } + @Override + public boolean setVisible(boolean visible, boolean restart) { + final boolean changed = super.setVisible(visible, restart); + if (mAnim != null) { + if (visible) { + if (changed || restart) { + // TODO: Should this support restart? + mAnim.end(); + } + } else { + mAnim.end(); + } + } + return changed; + } + /** * Add a new drawable to the set of keyframes. * diff --git a/graphics/java/android/graphics/drawable/BitmapDrawable.java b/graphics/java/android/graphics/drawable/BitmapDrawable.java index f3fcf2c..c95ac82 100644 --- a/graphics/java/android/graphics/drawable/BitmapDrawable.java +++ b/graphics/java/android/graphics/drawable/BitmapDrawable.java @@ -25,6 +25,7 @@ import android.graphics.BitmapFactory; import android.graphics.BitmapShader; import android.graphics.Canvas; import android.graphics.ColorFilter; +import android.graphics.Insets; import android.graphics.Matrix; import android.graphics.Paint; import android.graphics.PixelFormat; @@ -92,6 +93,9 @@ public class BitmapDrawable extends Drawable { private int mBitmapWidth; private int mBitmapHeight; + /** Optical insets due to gravity. */ + private Insets mOpticalInsets = null; + // Mirroring matrix for using with Shaders private Matrix mMirrorMatrix; @@ -456,9 +460,9 @@ public class BitmapDrawable extends Drawable { @Override protected void onBoundsChange(Rect bounds) { - super.onBoundsChange(bounds); mApplyGravity = true; - Shader shader = mBitmapState.mPaint.getShader(); + + final Shader shader = mBitmapState.mPaint.getShader(); if (shader != null) { if (needMirroring()) { updateMirrorMatrix(bounds.right - bounds.left); @@ -517,9 +521,7 @@ public class BitmapDrawable extends Drawable { final boolean needMirroring = needMirroring(); if (shader == null) { if (mApplyGravity) { - final int layoutDirection = getLayoutDirection(); - Gravity.apply(state.mGravity, mBitmapWidth, mBitmapHeight, - getBounds(), mDstRect, layoutDirection); + applyGravity(); mApplyGravity = false; } @@ -564,6 +566,31 @@ public class BitmapDrawable extends Drawable { } } + /** + * @hide + */ + @Override + public Insets getOpticalInsets() { + if (mApplyGravity && mBitmapState.mPaint.getShader() == null) { + applyGravity(); + mApplyGravity = false; + } + return mOpticalInsets == null ? Insets.NONE : mOpticalInsets; + } + + private void applyGravity() { + final Rect bounds = getBounds(); + final int layoutDirection = getLayoutDirection(); + Gravity.apply(mBitmapState.mGravity, mBitmapWidth, mBitmapHeight, + bounds, mDstRect, layoutDirection); + + final int left = mDstRect.left - bounds.left; + final int top = mDstRect.top - bounds.top; + final int right = bounds.right - mDstRect.right; + final int bottom = bounds.bottom - mDstRect.bottom; + mOpticalInsets = Insets.of(left, top, right, bottom); + } + @Override public void setAlpha(int alpha) { final int oldAlpha = mBitmapState.mPaint.getAlpha(); diff --git a/graphics/java/android/graphics/drawable/DrawableContainer.java b/graphics/java/android/graphics/drawable/DrawableContainer.java index 04373d4..2aef39f 100644 --- a/graphics/java/android/graphics/drawable/DrawableContainer.java +++ b/graphics/java/android/graphics/drawable/DrawableContainer.java @@ -187,6 +187,9 @@ public class DrawableContainer extends Drawable implements Drawable.Callback { } if (mCurrDrawable != null) { mCurrDrawable.setBounds(bounds); + + // Must obtain optical insets after setting bounds. + mInsets = mCurrDrawable.getOpticalInsets(); } } @@ -385,7 +388,6 @@ public class DrawableContainer extends Drawable implements Drawable.Callback { mCurrDrawable = d; mCurIndex = idx; if (d != null) { - mInsets = d.getOpticalInsets(); d.mutate(); if (mDrawableContainerState.mEnterFadeDuration > 0) { mEnterAnimationEnd = now + mDrawableContainerState.mEnterFadeDuration; @@ -402,6 +404,9 @@ public class DrawableContainer extends Drawable implements Drawable.Callback { d.setBounds(getBounds()); d.setLayoutDirection(getLayoutDirection()); d.setAutoMirrored(mDrawableContainerState.mAutoMirrored); + + // Must obtain optical insets after setting bounds. + mInsets = d.getOpticalInsets(); } else { mInsets = Insets.NONE; } diff --git a/graphics/java/android/graphics/drawable/VectorDrawable.java b/graphics/java/android/graphics/drawable/VectorDrawable.java index e3ed75e..e2bd50d 100644 --- a/graphics/java/android/graphics/drawable/VectorDrawable.java +++ b/graphics/java/android/graphics/drawable/VectorDrawable.java @@ -159,7 +159,8 @@ public class VectorDrawable extends Drawable { @Override public void setColorFilter(ColorFilter colorFilter) { - // TODO: support color filter + mVectorState.mVPathRenderer.setColorFilter(colorFilter); + invalidateSelf(); } @Override @@ -365,14 +366,15 @@ public class VectorDrawable extends Drawable { private VPath[] mCurrentPaths; private Paint mStrokePaint; private Paint mFillPaint; + private ColorFilter mColorFilter; private PathMeasure mPathMeasure; private VGroup mCurrentGroup = new VGroup(); - float mBaseWidth = 1; - float mBaseHeight = 1; - float mViewportWidth; - float mViewportHeight; + float mBaseWidth = 0; + float mBaseHeight = 0; + float mViewportWidth = 0; + float mViewportHeight = 0; public VPathRenderer() { } @@ -413,6 +415,18 @@ public class VectorDrawable extends Drawable { } } + public void setColorFilter(ColorFilter colorFilter) { + mColorFilter = colorFilter; + + if (mFillPaint != null) { + mFillPaint.setColorFilter(colorFilter); + } + + if (mStrokePaint != null) { + mStrokePaint.setColorFilter(colorFilter); + } + } + public void draw(Canvas canvas, int w, int h) { if (mCurrentPaths == null) { Log.e(LOGTAG,"mCurrentPaths == null"); @@ -470,6 +484,7 @@ public class VectorDrawable extends Drawable { if (vPath.mFillColor != 0) { if (mFillPaint == null) { mFillPaint = new Paint(); + mFillPaint.setColorFilter(mColorFilter); mFillPaint.setStyle(Paint.Style.FILL); mFillPaint.setAntiAlias(true); } @@ -481,6 +496,7 @@ public class VectorDrawable extends Drawable { if (vPath.mStrokeColor != 0) { if (mStrokePaint == null) { mStrokePaint = new Paint(); + mStrokePaint.setColorFilter(mColorFilter); mStrokePaint.setStyle(Paint.Style.STROKE); mStrokePaint.setAntiAlias(true); } @@ -516,24 +532,34 @@ public class VectorDrawable extends Drawable { private void parseViewport(Resources r, AttributeSet attrs) throws XmlPullParserException { final TypedArray a = r.obtainAttributes(attrs, R.styleable.VectorDrawableViewport); - mViewportWidth = a.getFloat(R.styleable.VectorDrawableViewport_viewportWidth, 0); - mViewportHeight = a.getFloat(R.styleable.VectorDrawableViewport_viewportHeight, 0); - if (mViewportWidth == 0 || mViewportHeight == 0) { - throw new XmlPullParserException(a.getPositionDescription()+ - "<viewport> tag requires viewportWidth & viewportHeight to be set"); + mViewportWidth = a.getFloat(R.styleable.VectorDrawableViewport_viewportWidth, mViewportWidth); + mViewportHeight = a.getFloat(R.styleable.VectorDrawableViewport_viewportHeight, mViewportHeight); + + if (mViewportWidth <= 0) { + throw new XmlPullParserException(a.getPositionDescription() + + "<viewport> tag requires viewportWidth > 0"); + } else if (mViewportHeight <= 0) { + throw new XmlPullParserException(a.getPositionDescription() + + "<viewport> tag requires viewportHeight > 0"); } + a.recycle(); } private void parseSize(Resources r, AttributeSet attrs) throws XmlPullParserException { final TypedArray a = r.obtainAttributes(attrs, R.styleable.VectorDrawableSize); - mBaseWidth = a.getDimension(R.styleable.VectorDrawableSize_width, 0); - mBaseHeight = a.getDimension(R.styleable.VectorDrawableSize_height, 0); - if (mBaseWidth == 0 || mBaseHeight == 0) { - throw new XmlPullParserException(a.getPositionDescription()+ - "<size> tag requires width & height to be set"); + mBaseWidth = a.getDimension(R.styleable.VectorDrawableSize_width, mBaseWidth); + mBaseHeight = a.getDimension(R.styleable.VectorDrawableSize_height, mBaseHeight); + + if (mBaseWidth <= 0) { + throw new XmlPullParserException(a.getPositionDescription() + + "<size> tag requires width > 0"); + } else if (mBaseHeight <= 0) { + throw new XmlPullParserException(a.getPositionDescription() + + "<size> tag requires height > 0"); } + a.recycle(); } diff --git a/libs/hwui/TreeInfo.h b/libs/hwui/TreeInfo.h index d4a23b8..8355f83 100644 --- a/libs/hwui/TreeInfo.h +++ b/libs/hwui/TreeInfo.h @@ -52,6 +52,7 @@ struct TreeInfo { : hasFunctors(false) , hasAnimations(false) , requiresUiRedraw(false) + , canDrawThisFrame(true) {} bool hasFunctors; // This is only updated if evaluateAnimations is true @@ -60,6 +61,13 @@ struct TreeInfo { // animate itself, such as if hasFunctors is true // This is only set if hasAnimations is true bool requiresUiRedraw; + // This is set to true if draw() can be called this frame + // false means that we must delay until the next vsync pulse as frame + // production is outrunning consumption + // NOTE that if this is false CanvasContext will set either requiresUiRedraw + // *OR* will post itself for the next vsync automatically, use this + // only to avoid calling draw() + bool canDrawThisFrame; } out; // TODO: Damage calculations diff --git a/libs/hwui/renderthread/CanvasContext.cpp b/libs/hwui/renderthread/CanvasContext.cpp index 839ef91..b6b3428 100644 --- a/libs/hwui/renderthread/CanvasContext.cpp +++ b/libs/hwui/renderthread/CanvasContext.cpp @@ -360,7 +360,9 @@ void CanvasContext::destroyCanvasAndSurface() { setSurface(NULL); } -void CanvasContext::setSurface(EGLNativeWindowType window) { +void CanvasContext::setSurface(ANativeWindow* window) { + mNativeWindow = window; + if (mEglSurface != EGL_NO_SURFACE) { mGlobalContext->destroySurface(mEglSurface); mEglSurface = EGL_NO_SURFACE; @@ -393,7 +395,7 @@ void CanvasContext::requireSurface() { makeCurrent(); } -bool CanvasContext::initialize(EGLNativeWindowType window) { +bool CanvasContext::initialize(ANativeWindow* window) { if (mCanvas) return false; setSurface(window); mCanvas = new OpenGLRenderer(); @@ -401,11 +403,11 @@ bool CanvasContext::initialize(EGLNativeWindowType window) { return true; } -void CanvasContext::updateSurface(EGLNativeWindowType window) { +void CanvasContext::updateSurface(ANativeWindow* window) { setSurface(window); } -void CanvasContext::pauseSurface(EGLNativeWindowType window) { +void CanvasContext::pauseSurface(ANativeWindow* window) { // TODO: For now we just need a fence, in the future suspend any animations // and such to prevent from trying to render into this surface } @@ -456,7 +458,15 @@ void CanvasContext::prepareTree(TreeInfo& info) { info.frameTimeMs = mRenderThread.timeLord().frameTimeMs(); mRootRenderNode->prepareTree(info); - if (info.out.hasAnimations) { + int runningBehind = 0; + // TODO: This query is moderately expensive, investigate adding some sort + // of fast-path based off when we last called eglSwapBuffers() as well as + // last vsync time. Or something. + mNativeWindow->query(mNativeWindow.get(), + NATIVE_WINDOW_CONSUMER_RUNNING_BEHIND, &runningBehind); + info.out.canDrawThisFrame = !runningBehind; + + if (info.out.hasAnimations || !info.out.canDrawThisFrame) { if (info.out.hasFunctors) { info.out.requiresUiRedraw = true; } else if (!info.out.requiresUiRedraw) { @@ -467,6 +477,11 @@ void CanvasContext::prepareTree(TreeInfo& info) { } } +void CanvasContext::notifyFramePending() { + ATRACE_CALL(); + mRenderThread.pushBackFrameCallback(this); +} + void CanvasContext::draw(Rect* dirty) { LOG_ALWAYS_FATAL_IF(!mCanvas || mEglSurface == EGL_NO_SURFACE, "drawDisplayList called on a context with no canvas or surface!"); @@ -515,7 +530,9 @@ void CanvasContext::doFrame() { info.prepareTextures = false; prepareTree(info); - draw(NULL); + if (info.out.canDrawThisFrame) { + draw(NULL); + } } void CanvasContext::invokeFunctor(Functor* functor) { diff --git a/libs/hwui/renderthread/CanvasContext.h b/libs/hwui/renderthread/CanvasContext.h index 4232f27..a54b33e 100644 --- a/libs/hwui/renderthread/CanvasContext.h +++ b/libs/hwui/renderthread/CanvasContext.h @@ -48,9 +48,9 @@ public: CanvasContext(bool translucent, RenderNode* rootRenderNode); virtual ~CanvasContext(); - bool initialize(EGLNativeWindowType window); - void updateSurface(EGLNativeWindowType window); - void pauseSurface(EGLNativeWindowType window); + bool initialize(ANativeWindow* window); + void updateSurface(ANativeWindow* window); + void pauseSurface(ANativeWindow* window); void setup(int width, int height, const Vector3& lightCenter, float lightRadius); void setOpaque(bool opaque); void makeCurrent(); @@ -73,11 +73,15 @@ public: ANDROID_API static void setTextureAtlas(const sp<GraphicBuffer>& buffer, int64_t* map, size_t mapSize); + void notifyFramePending(); + private: + friend class RegisterFrameCallbackTask; + void processLayerUpdates(const Vector<DeferredLayerUpdater*>* layerUpdaters, TreeInfo& info); void prepareTree(TreeInfo& info); - void setSurface(EGLNativeWindowType window); + void setSurface(ANativeWindow* window); void swapBuffers(); void requireSurface(); @@ -85,6 +89,7 @@ private: GlobalContext* mGlobalContext; RenderThread& mRenderThread; + sp<ANativeWindow> mNativeWindow; EGLSurface mEglSurface; bool mDirtyRegionsEnabled; diff --git a/libs/hwui/renderthread/DrawFrameTask.cpp b/libs/hwui/renderthread/DrawFrameTask.cpp index 3b8786c..ee3e059 100644 --- a/libs/hwui/renderthread/DrawFrameTask.cpp +++ b/libs/hwui/renderthread/DrawFrameTask.cpp @@ -87,7 +87,13 @@ void DrawFrameTask::postAndWait() { void DrawFrameTask::run() { ATRACE_NAME("DrawFrame"); - bool canUnblockUiThread = syncFrameState(); + bool canUnblockUiThread; + bool canDrawThisFrame; + { + TreeInfo info; + canUnblockUiThread = syncFrameState(info); + canDrawThisFrame = info.out.canDrawThisFrame; + } // Grab a copy of everything we need Rect dirty(mDirty); @@ -98,7 +104,9 @@ void DrawFrameTask::run() { unblockUiThread(); } - context->draw(&dirty); + if (CC_LIKELY(canDrawThisFrame)) { + context->draw(&dirty); + } if (!canUnblockUiThread) { unblockUiThread(); @@ -111,12 +119,11 @@ static void initTreeInfo(TreeInfo& info) { info.evaluateAnimations = true; } -bool DrawFrameTask::syncFrameState() { +bool DrawFrameTask::syncFrameState(TreeInfo& info) { ATRACE_CALL(); mRenderThread->timeLord().vsyncReceived(mFrameTimeNanos); mContext->makeCurrent(); Caches::getInstance().textureCache.resetMarkInUse(); - TreeInfo info; initTreeInfo(info); mContext->prepareDraw(&mLayers, info); if (info.out.hasAnimations) { diff --git a/libs/hwui/renderthread/DrawFrameTask.h b/libs/hwui/renderthread/DrawFrameTask.h index b9307e1..acbc02a 100644 --- a/libs/hwui/renderthread/DrawFrameTask.h +++ b/libs/hwui/renderthread/DrawFrameTask.h @@ -24,6 +24,7 @@ #include "RenderTask.h" #include "../Rect.h" +#include "../TreeInfo.h" namespace android { namespace uirenderer { @@ -65,7 +66,7 @@ public: private: void postAndWait(); - bool syncFrameState(); + bool syncFrameState(TreeInfo& info); void unblockUiThread(); Mutex mLock; diff --git a/libs/hwui/renderthread/RenderProxy.cpp b/libs/hwui/renderthread/RenderProxy.cpp index ef8e45b..2e103d8 100644 --- a/libs/hwui/renderthread/RenderProxy.cpp +++ b/libs/hwui/renderthread/RenderProxy.cpp @@ -112,7 +112,7 @@ bool RenderProxy::loadSystemProperties() { return (bool) postAndWait(task); } -CREATE_BRIDGE2(initialize, CanvasContext* context, EGLNativeWindowType window) { +CREATE_BRIDGE2(initialize, CanvasContext* context, ANativeWindow* window) { return (void*) args->context->initialize(args->window); } @@ -123,7 +123,7 @@ bool RenderProxy::initialize(const sp<ANativeWindow>& window) { return (bool) postAndWait(task); } -CREATE_BRIDGE2(updateSurface, CanvasContext* context, EGLNativeWindowType window) { +CREATE_BRIDGE2(updateSurface, CanvasContext* context, ANativeWindow* window) { args->context->updateSurface(args->window); return NULL; } @@ -135,7 +135,7 @@ void RenderProxy::updateSurface(const sp<ANativeWindow>& window) { postAndWait(task); } -CREATE_BRIDGE2(pauseSurface, CanvasContext* context, EGLNativeWindowType window) { +CREATE_BRIDGE2(pauseSurface, CanvasContext* context, ANativeWindow* window) { args->context->pauseSurface(args->window); return NULL; } @@ -292,6 +292,17 @@ void RenderProxy::fence() { postAndWait(task); } +CREATE_BRIDGE1(notifyFramePending, CanvasContext* context) { + args->context->notifyFramePending(); + return NULL; +} + +void RenderProxy::notifyFramePending() { + SETUP_TASK(notifyFramePending); + args->context = mContext; + mRenderThread.queueAtFront(task); +} + void RenderProxy::post(RenderTask* task) { mRenderThread.queue(task); } diff --git a/libs/hwui/renderthread/RenderProxy.h b/libs/hwui/renderthread/RenderProxy.h index 4d3499e..8aeb264 100644 --- a/libs/hwui/renderthread/RenderProxy.h +++ b/libs/hwui/renderthread/RenderProxy.h @@ -82,6 +82,7 @@ public: ANDROID_API void destroyLayer(DeferredLayerUpdater* layer); ANDROID_API void fence(); + ANDROID_API void notifyFramePending(); private: RenderThread& mRenderThread; diff --git a/libs/hwui/renderthread/RenderThread.cpp b/libs/hwui/renderthread/RenderThread.cpp index 35a3eab..4a4e254 100644 --- a/libs/hwui/renderthread/RenderThread.cpp +++ b/libs/hwui/renderthread/RenderThread.cpp @@ -37,7 +37,7 @@ namespace renderthread { static const size_t EVENT_BUFFER_SIZE = 100; // Slight delay to give the UI time to push us a new frame before we replay -static const int DISPATCH_FRAME_CALLBACKS_DELAY = 0; +static const int DISPATCH_FRAME_CALLBACKS_DELAY = 4; TaskQueue::TaskQueue() : mHead(0), mTail(0) {} @@ -91,6 +91,15 @@ void TaskQueue::queue(RenderTask* task) { } } +void TaskQueue::queueAtFront(RenderTask* task) { + if (mTail) { + task->mNext = mHead; + mHead = task; + } else { + mTail = mHead = task; + } +} + void TaskQueue::remove(RenderTask* task) { // TaskQueue is strict here to enforce that users are keeping track of // their RenderTasks due to how their memory is managed @@ -188,20 +197,22 @@ static nsecs_t latestVsyncEvent(DisplayEventReceiver* receiver) { return latest; } -void RenderThread::drainDisplayEventQueue() { +void RenderThread::drainDisplayEventQueue(bool skipCallbacks) { + ATRACE_CALL(); nsecs_t vsyncEvent = latestVsyncEvent(mDisplayEventReceiver); if (vsyncEvent > 0) { mVsyncRequested = false; mTimeLord.vsyncReceived(vsyncEvent); - if (!mFrameCallbackTaskPending) { + if (!skipCallbacks && !mFrameCallbackTaskPending) { + ATRACE_NAME("queue mFrameCallbackTask"); mFrameCallbackTaskPending = true; - //queueDelayed(mFrameCallbackTask, DISPATCH_FRAME_CALLBACKS_DELAY); - queue(mFrameCallbackTask); + queueDelayed(mFrameCallbackTask, DISPATCH_FRAME_CALLBACKS_DELAY); } } } void RenderThread::dispatchFrameCallbacks() { + ATRACE_CALL(); mFrameCallbackTaskPending = false; std::set<IFrameCallback*> callbacks; @@ -212,6 +223,15 @@ void RenderThread::dispatchFrameCallbacks() { } } +void RenderThread::requestVsync() { + if (!mVsyncRequested) { + mVsyncRequested = true; + status_t status = mDisplayEventReceiver->requestNextVsync(); + LOG_ALWAYS_FATAL_IF(status != NO_ERROR, + "requestNextVsync failed with status: %d", status); + } +} + bool RenderThread::threadLoop() { initializeDisplayEventReceiver(); @@ -236,6 +256,14 @@ bool RenderThread::threadLoop() { timeoutMillis = 0; } } + + if (mPendingRegistrationFrameCallbacks.size() && !mFrameCallbackTaskPending) { + drainDisplayEventQueue(true); + mFrameCallbacks.insert( + mPendingRegistrationFrameCallbacks.begin(), mPendingRegistrationFrameCallbacks.end()); + mPendingRegistrationFrameCallbacks.clear(); + requestVsync(); + } } return false; @@ -250,6 +278,12 @@ void RenderThread::queue(RenderTask* task) { } } +void RenderThread::queueAtFront(RenderTask* task) { + AutoMutex _lock(mLock); + mQueue.queueAtFront(task); + mLooper->wake(); +} + void RenderThread::queueDelayed(RenderTask* task, int delayMs) { nsecs_t now = systemTime(SYSTEM_TIME_MONOTONIC); task->mRunAt = now + milliseconds_to_nanoseconds(delayMs); @@ -262,17 +296,18 @@ void RenderThread::remove(RenderTask* task) { } void RenderThread::postFrameCallback(IFrameCallback* callback) { - mFrameCallbacks.insert(callback); - if (!mVsyncRequested) { - mVsyncRequested = true; - status_t status = mDisplayEventReceiver->requestNextVsync(); - LOG_ALWAYS_FATAL_IF(status != NO_ERROR, - "requestNextVsync failed with status: %d", status); - } + mPendingRegistrationFrameCallbacks.insert(callback); } void RenderThread::removeFrameCallback(IFrameCallback* callback) { mFrameCallbacks.erase(callback); + mPendingRegistrationFrameCallbacks.erase(callback); +} + +void RenderThread::pushBackFrameCallback(IFrameCallback* callback) { + if (mFrameCallbacks.erase(callback)) { + mPendingRegistrationFrameCallbacks.insert(callback); + } } RenderTask* RenderThread::nextTask(nsecs_t* nextWakeup) { @@ -281,11 +316,13 @@ RenderTask* RenderThread::nextTask(nsecs_t* nextWakeup) { if (!next) { mNextWakeup = LLONG_MAX; } else { + mNextWakeup = next->mRunAt; // Most tasks won't be delayed, so avoid unnecessary systemTime() calls if (next->mRunAt <= 0 || next->mRunAt <= systemTime(SYSTEM_TIME_MONOTONIC)) { next = mQueue.next(); + } else { + next = 0; } - mNextWakeup = next->mRunAt; } if (nextWakeup) { *nextWakeup = mNextWakeup; diff --git a/libs/hwui/renderthread/RenderThread.h b/libs/hwui/renderthread/RenderThread.h index 215d294..4412584 100644 --- a/libs/hwui/renderthread/RenderThread.h +++ b/libs/hwui/renderthread/RenderThread.h @@ -44,6 +44,7 @@ public: RenderTask* next(); void queue(RenderTask* task); + void queueAtFront(RenderTask* task); RenderTask* peek(); void remove(RenderTask* task); @@ -66,12 +67,16 @@ public: // RenderThread takes complete ownership of tasks that are queued // and will delete them after they are run ANDROID_API void queue(RenderTask* task); + ANDROID_API void queueAtFront(RenderTask* task); void queueDelayed(RenderTask* task, int delayMs); void remove(RenderTask* task); // Mimics android.view.Choreographer void postFrameCallback(IFrameCallback* callback); void removeFrameCallback(IFrameCallback* callback); + // If the callback is currently registered, it will be pushed back until + // the next vsync. If it is not currently registered this does nothing. + void pushBackFrameCallback(IFrameCallback* callback); TimeLord& timeLord() { return mTimeLord; } @@ -87,8 +92,9 @@ private: void initializeDisplayEventReceiver(); static int displayEventReceiverCallback(int fd, int events, void* data); - void drainDisplayEventQueue(); + void drainDisplayEventQueue(bool skipCallbacks = false); void dispatchFrameCallbacks(); + void requestVsync(); // Returns the next task to be run. If this returns NULL nextWakeup is set // to the time to requery for the nextTask to run. mNextWakeup is also @@ -104,6 +110,11 @@ private: DisplayEventReceiver* mDisplayEventReceiver; bool mVsyncRequested; std::set<IFrameCallback*> mFrameCallbacks; + // We defer the actual registration of these callbacks until + // both mQueue *and* mDisplayEventReceiver have been drained off all + // immediate events. This makes sure that we catch the next vsync, not + // the previous one + std::set<IFrameCallback*> mPendingRegistrationFrameCallbacks; bool mFrameCallbackTaskPending; DispatchFrameCallbacks* mFrameCallbackTask; diff --git a/media/tests/MediaFrameworkTest/src/com/android/mediaframeworktest/unit/CameraMetadataTest.java b/media/tests/MediaFrameworkTest/src/com/android/mediaframeworktest/unit/CameraMetadataTest.java index a77b647..a3caba2 100644 --- a/media/tests/MediaFrameworkTest/src/com/android/mediaframeworktest/unit/CameraMetadataTest.java +++ b/media/tests/MediaFrameworkTest/src/com/android/mediaframeworktest/unit/CameraMetadataTest.java @@ -17,6 +17,7 @@ package com.android.mediaframeworktest.unit; import android.test.suitebuilder.annotation.SmallTest; +import android.util.Log; import android.util.Range; import android.util.Rational; import android.util.SizeF; @@ -26,6 +27,8 @@ import android.graphics.PointF; import android.graphics.Rect; import android.graphics.SurfaceTexture; import android.hardware.camera2.CameraCharacteristics; +import android.hardware.camera2.CameraMetadata; +import android.hardware.camera2.CaptureRequest; import android.hardware.camera2.CaptureResult; import android.util.Size; import android.hardware.camera2.impl.CameraMetadataNative; @@ -46,6 +49,7 @@ import static com.android.mediaframeworktest.unit.ByteArrayHelpers.*; import java.lang.reflect.Array; import java.nio.ByteBuffer; import java.nio.ByteOrder; +import java.util.List; /** * <pre> @@ -56,6 +60,10 @@ import java.nio.ByteOrder; */ public class CameraMetadataTest extends junit.framework.TestCase { + private static final boolean VERBOSE = false; + private static final String TAG = "CameraMetadataTest"; + + CameraMetadataNative mMetadata; // Sections @@ -940,7 +948,7 @@ public class CameraMetadataTest extends junit.framework.TestCase { }; int availableFormatTag = CameraMetadataNative.getTag("android.scaler.availableFormats"); - Key<int[]> formatKey = CameraCharacteristics.SCALER_AVAILABLE_FORMATS; + Key<int[]> formatKey = CameraCharacteristics.SCALER_AVAILABLE_FORMATS.getNativeKey(); validateArrayMetadataReadWriteOverride(formatKey, availableFormats, expectedIntValues, availableFormatTag); @@ -1046,7 +1054,7 @@ public class CameraMetadataTest extends junit.framework.TestCase { 0x20, 320, 240, INPUT, // RAW16 }; Key<StreamConfiguration[]> configKey = - CameraCharacteristics.SCALER_AVAILABLE_STREAM_CONFIGURATIONS; + CameraCharacteristics.SCALER_AVAILABLE_STREAM_CONFIGURATIONS.getNativeKey(); mMetadata.writeValues(configKey.getTag(), toByteArray(rawAvailableStreamConfigs)); @@ -1074,7 +1082,7 @@ public class CameraMetadataTest extends junit.framework.TestCase { 0x21, 1920, 1080, 33333338 // BLOB }; Key<StreamConfigurationDuration[]> durationKey = - CameraCharacteristics.SCALER_AVAILABLE_MIN_FRAME_DURATIONS; + CameraCharacteristics.SCALER_AVAILABLE_MIN_FRAME_DURATIONS.getNativeKey(); mMetadata.writeValues(durationKey.getTag(), toByteArray(rawAvailableMinDurations)); @@ -1100,7 +1108,7 @@ public class CameraMetadataTest extends junit.framework.TestCase { 0x21, 1920, 1080, 33333338 // BLOB }; Key<StreamConfigurationDuration[]> stallDurationKey = - CameraCharacteristics.SCALER_AVAILABLE_STALL_DURATIONS; + CameraCharacteristics.SCALER_AVAILABLE_STALL_DURATIONS.getNativeKey(); mMetadata.writeValues(stallDurationKey.getTag(), toByteArray(rawAvailableStallDurations)); @@ -1158,6 +1166,31 @@ public class CameraMetadataTest extends junit.framework.TestCase { } } + @SmallTest + public void testCaptureResult() { + mMetadata.set(CaptureRequest.CONTROL_AE_MODE, + CameraMetadata.CONTROL_AE_MODE_ON_AUTO_FLASH); + + if (VERBOSE) mMetadata.dumpToLog(); + + CaptureResult captureResult = new CaptureResult(mMetadata, /*sequenceId*/0); + + List<CaptureResult.Key<?>> allKeys = captureResult.getKeys(); + if (VERBOSE) Log.v(TAG, "testCaptureResult: key list size " + allKeys); + for (CaptureResult.Key<?> key : captureResult.getKeys()) { + if (VERBOSE) { + Log.v(TAG, + "testCaptureResult: key " + key + " value" + captureResult.get(key)); + } + } + + assertTrue(allKeys.size() >= 1); // FIXME: android.statistics.faces counts as a key + assertTrue(allKeys.contains(CaptureResult.CONTROL_AE_MODE)); + + assertEquals(CameraMetadata.CONTROL_AE_MODE_ON_AUTO_FLASH, + (int)captureResult.get(CaptureResult.CONTROL_AE_MODE)); + } + private static void checkStreamConfigurationMapByFormatSize(StreamConfigurationMap configMap, int format, int width, int height, boolean output) { diff --git a/packages/SystemUI/AndroidManifest.xml b/packages/SystemUI/AndroidManifest.xml index 6b62c25..e9cb197 100644 --- a/packages/SystemUI/AndroidManifest.xml +++ b/packages/SystemUI/AndroidManifest.xml @@ -52,6 +52,8 @@ <uses-permission android:name="android.permission.ACCESS_WIFI_STATE" /> <uses-permission android:name="android.permission.CHANGE_WIFI_STATE" /> <uses-permission android:name="android.permission.MANAGE_NETWORK_POLICY" /> + <uses-permission android:name="android.permission.CONNECTIVITY_INTERNAL" /> + <!-- Physical hardware --> <uses-permission android:name="android.permission.MANAGE_USB" /> diff --git a/packages/SystemUI/res/values/dimens.xml b/packages/SystemUI/res/values/dimens.xml index c209434..e9dcea2 100644 --- a/packages/SystemUI/res/values/dimens.xml +++ b/packages/SystemUI/res/values/dimens.xml @@ -246,7 +246,7 @@ <dimen name="notification_side_padding">8dp</dimen> <!-- Z distance between notifications if they are in the stack --> - <dimen name="z_distance_between_notifications">2dp</dimen> + <dimen name="z_distance_between_notifications">1dp</dimen> <!-- The padding between the individual notification cards when dimmed. --> <dimen name="notification_padding_dimmed">0dp</dimen> diff --git a/packages/SystemUI/src/com/android/systemui/qs/tiles/AirplaneModeTile.java b/packages/SystemUI/src/com/android/systemui/qs/tiles/AirplaneModeTile.java index c0f9bf2..191bac9 100644 --- a/packages/SystemUI/src/com/android/systemui/qs/tiles/AirplaneModeTile.java +++ b/packages/SystemUI/src/com/android/systemui/qs/tiles/AirplaneModeTile.java @@ -20,6 +20,7 @@ import android.content.BroadcastReceiver; import android.content.Context; import android.content.Intent; import android.content.IntentFilter; +import android.net.ConnectivityManager; import android.provider.Settings.Global; import com.android.systemui.R; @@ -52,10 +53,9 @@ public class AirplaneModeTile extends QSTile<QSTile.BooleanState> { } private void setEnabled(boolean enabled) { - mSetting.setValue(enabled ? 1 : 0); - final Intent intent = new Intent(Intent.ACTION_AIRPLANE_MODE_CHANGED); - intent.putExtra("state", enabled); - mContext.sendBroadcast(intent); + final ConnectivityManager mgr = + (ConnectivityManager) mContext.getSystemService(Context.CONNECTIVITY_SERVICE); + mgr.setAirplaneMode(enabled); } @Override diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/stack/StackStateAnimator.java b/packages/SystemUI/src/com/android/systemui/statusbar/stack/StackStateAnimator.java index 045a99d..f019e6c 100644 --- a/packages/SystemUI/src/com/android/systemui/statusbar/stack/StackStateAnimator.java +++ b/packages/SystemUI/src/com/android/systemui/statusbar/stack/StackStateAnimator.java @@ -315,14 +315,13 @@ public class StackStateAnimator { child.getAlpha(), newEndValue); animator.setInterpolator(mFastOutSlowInInterpolator); // Handle layer type - final int currentLayerType = child.getLayerType(); child.setLayerType(View.LAYER_TYPE_HARDWARE, null); animator.addListener(new AnimatorListenerAdapter() { public boolean mWasCancelled; @Override public void onAnimationEnd(Animator animation) { - child.setLayerType(currentLayerType, null); + child.setLayerType(View.LAYER_TYPE_NONE, null); if (newEndValue == 0 && !mWasCancelled) { child.setVisibility(View.INVISIBLE); } diff --git a/services/core/java/com/android/server/pm/PackageManagerService.java b/services/core/java/com/android/server/pm/PackageManagerService.java index 0fa0b14..b06b090 100755 --- a/services/core/java/com/android/server/pm/PackageManagerService.java +++ b/services/core/java/com/android/server/pm/PackageManagerService.java @@ -6140,7 +6140,12 @@ public class PackageManagerService extends IPackageManager.Stub { } final String nativeLibraryPath = (new File(libDir, apkName)).getPath(); pkg.applicationInfo.nativeLibraryDir = nativeLibraryPath; - pkgSetting.nativeLibraryPathString = nativeLibraryPath; + // pkgSetting might be null during rescan following uninstall of updates + // to a bundled app, so accommodate that possibility. The settings in + // that case will be established later from the parsed package. + if (pkgSetting != null) { + pkgSetting.nativeLibraryPathString = nativeLibraryPath; + } } // Deduces the required ABI of an upgraded system app. |