Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit a232a68d authored by Deepanshu Gupta's avatar Deepanshu Gupta
Browse files

resolved conflicts for merge of 5476cfee to jb-mr1-dev

Change-Id: I5197271e6fdd36fed9ca9f9b7221d9a99141a4b4
parents 9c48ab82 5476cfee
Loading
Loading
Loading
Loading
+106 −0
Original line number Diff line number Diff line
/*
 * Copyright (C) 2011 The Android Open Source Project
 * 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.
@@ -17,32 +17,90 @@
package android.os;

import com.android.layoutlib.bridge.Bridge;
import com.android.layoutlib.bridge.impl.DelegateManager;
import com.android.tools.layoutlib.annotations.LayoutlibDelegate;

import java.util.Map;

/**
 * Delegate implementing the native methods of android.os.Build
 * Delegate implementing the native methods of android.os.SystemProperties.
 *
 * Through the layoutlib_create tool, the original native methods of Build have been replaced
 * by calls to methods of the same name in this delegate class.
 * Through the layoutlib_create tool, the original native methods of SystemProperties have been
 * replaced by calls to methods of the same name in this delegate class.
 *
 * Because it's a stateless class to start with, there's no need to keep a {@link DelegateManager}
 * Because it's a stateless class to start with, there's no need to keep a {@code DelegateManager}
 * around to map int to instance of the delegate.
 *
 */
public class Build_Delegate {
public class SystemProperties_Delegate {

    @LayoutlibDelegate
    /*package*/ static String getString(String property) {
    /*package*/ static String native_get(String key) {
        return native_get(key, null);
    }

    @LayoutlibDelegate
    /*package*/ static String native_get(String key, String def) {
        Map<String, String> properties = Bridge.getPlatformProperties();
        String value = properties.get(property);
        String value = properties.get(key);
        if (value != null) {
            return value;
        }

        return Build.UNKNOWN;
        return def;
    }

    @LayoutlibDelegate
    /*package*/ static int native_get_int(String key, int def) {
        Map<String, String> properties = Bridge.getPlatformProperties();
        String value = properties.get(key);
        if (value != null) {
            return Integer.decode(value);
        }

        return def;
    }

    @LayoutlibDelegate
    /*package*/ static long native_get_long(String key, long def) {
        Map<String, String> properties = Bridge.getPlatformProperties();
        String value = properties.get(key);
        if (value != null) {
            return Long.decode(value);
        }

        return def;
    }

    /**
     * Values 'n', 'no', '0', 'false' or 'off' are considered false.
     * Values 'y', 'yes', '1', 'true' or 'on' are considered true.
     */
    @LayoutlibDelegate
    /*package*/ static boolean native_get_boolean(String key, boolean def) {
        Map<String, String> properties = Bridge.getPlatformProperties();
        String value = properties.get(key);

        if ("n".equals(value) || "no".equals(value) || "0".equals(value) || "false".equals(value)
                || "off".equals(value)) {
            return false;
        }
        //noinspection SimplifiableIfStatement
        if ("y".equals(value) || "yes".equals(value) || "1".equals(value) || "true".equals(value)
                || "on".equals(value)) {
            return true;
        }

        return def;
    }

    @LayoutlibDelegate
    /*package*/ static void native_set(String key, String def) {
        Map<String, String> properties = Bridge.getPlatformProperties();
        properties.put(key, def);
    }

    @LayoutlibDelegate
    /*package*/ static void native_add_change_callback() {
        // pass.
    }
}
+1 −1
Original line number Diff line number Diff line
@@ -132,7 +132,6 @@ public final class CreateInfo implements ICreateInfo {
        "android.graphics.BitmapFactory#finishDecode",
        "android.os.Handler#sendMessageAtTime",
        "android.os.HandlerThread#run",
        "android.os.Build#getString",
        "android.view.Choreographer#getRefreshRate",
        "android.view.Display#updateDisplayInfoLocked",
        "android.view.Display#getWindowManager",
@@ -191,6 +190,7 @@ public final class CreateInfo implements ICreateInfo {
        "android.graphics.Typeface",
        "android.graphics.Xfermode",
        "android.os.SystemClock",
        "android.os.SystemProperties",
        "android.text.AndroidBidi",
        "android.text.format.Time",
        "android.util.FloatMath",