14b52ec49fee79b0488d6a9eaaa4ea5d74ce90905Xavier Ducrohet/*
24b52ec49fee79b0488d6a9eaaa4ea5d74ce90905Xavier Ducrohet * Copyright (C) 2011 The Android Open Source Project
34b52ec49fee79b0488d6a9eaaa4ea5d74ce90905Xavier Ducrohet *
44b52ec49fee79b0488d6a9eaaa4ea5d74ce90905Xavier Ducrohet * Licensed under the Apache License, Version 2.0 (the "License");
54b52ec49fee79b0488d6a9eaaa4ea5d74ce90905Xavier Ducrohet * you may not use this file except in compliance with the License.
64b52ec49fee79b0488d6a9eaaa4ea5d74ce90905Xavier Ducrohet * You may obtain a copy of the License at
74b52ec49fee79b0488d6a9eaaa4ea5d74ce90905Xavier Ducrohet *
84b52ec49fee79b0488d6a9eaaa4ea5d74ce90905Xavier Ducrohet *      http://www.apache.org/licenses/LICENSE-2.0
94b52ec49fee79b0488d6a9eaaa4ea5d74ce90905Xavier Ducrohet *
104b52ec49fee79b0488d6a9eaaa4ea5d74ce90905Xavier Ducrohet * Unless required by applicable law or agreed to in writing, software
114b52ec49fee79b0488d6a9eaaa4ea5d74ce90905Xavier Ducrohet * distributed under the License is distributed on an "AS IS" BASIS,
124b52ec49fee79b0488d6a9eaaa4ea5d74ce90905Xavier Ducrohet * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
134b52ec49fee79b0488d6a9eaaa4ea5d74ce90905Xavier Ducrohet * See the License for the specific language governing permissions and
144b52ec49fee79b0488d6a9eaaa4ea5d74ce90905Xavier Ducrohet * limitations under the License.
154b52ec49fee79b0488d6a9eaaa4ea5d74ce90905Xavier Ducrohet */
164b52ec49fee79b0488d6a9eaaa4ea5d74ce90905Xavier Ducrohet
174b52ec49fee79b0488d6a9eaaa4ea5d74ce90905Xavier Ducrohetpackage android.os;
184b52ec49fee79b0488d6a9eaaa4ea5d74ce90905Xavier Ducrohet
194b52ec49fee79b0488d6a9eaaa4ea5d74ce90905Xavier Ducrohetimport com.android.layoutlib.bridge.Bridge;
204b52ec49fee79b0488d6a9eaaa4ea5d74ce90905Xavier Ducrohetimport com.android.layoutlib.bridge.impl.DelegateManager;
214b52ec49fee79b0488d6a9eaaa4ea5d74ce90905Xavier Ducrohetimport com.android.tools.layoutlib.annotations.LayoutlibDelegate;
224b52ec49fee79b0488d6a9eaaa4ea5d74ce90905Xavier Ducrohet
234b52ec49fee79b0488d6a9eaaa4ea5d74ce90905Xavier Ducrohetimport java.util.Map;
244b52ec49fee79b0488d6a9eaaa4ea5d74ce90905Xavier Ducrohet
254b52ec49fee79b0488d6a9eaaa4ea5d74ce90905Xavier Ducrohet/**
264b52ec49fee79b0488d6a9eaaa4ea5d74ce90905Xavier Ducrohet * Delegate implementing the native methods of android.os.Build
274b52ec49fee79b0488d6a9eaaa4ea5d74ce90905Xavier Ducrohet *
284b52ec49fee79b0488d6a9eaaa4ea5d74ce90905Xavier Ducrohet * Through the layoutlib_create tool, the original native methods of Build have been replaced
294b52ec49fee79b0488d6a9eaaa4ea5d74ce90905Xavier Ducrohet * by calls to methods of the same name in this delegate class.
304b52ec49fee79b0488d6a9eaaa4ea5d74ce90905Xavier Ducrohet *
314b52ec49fee79b0488d6a9eaaa4ea5d74ce90905Xavier Ducrohet * Because it's a stateless class to start with, there's no need to keep a {@link DelegateManager}
324b52ec49fee79b0488d6a9eaaa4ea5d74ce90905Xavier Ducrohet * around to map int to instance of the delegate.
334b52ec49fee79b0488d6a9eaaa4ea5d74ce90905Xavier Ducrohet *
344b52ec49fee79b0488d6a9eaaa4ea5d74ce90905Xavier Ducrohet */
354b52ec49fee79b0488d6a9eaaa4ea5d74ce90905Xavier Ducrohetpublic class Build_Delegate {
364b52ec49fee79b0488d6a9eaaa4ea5d74ce90905Xavier Ducrohet
374b52ec49fee79b0488d6a9eaaa4ea5d74ce90905Xavier Ducrohet    @LayoutlibDelegate
384b52ec49fee79b0488d6a9eaaa4ea5d74ce90905Xavier Ducrohet    /*package*/ static String getString(String property) {
394b52ec49fee79b0488d6a9eaaa4ea5d74ce90905Xavier Ducrohet        Map<String, String> properties = Bridge.getPlatformProperties();
404b52ec49fee79b0488d6a9eaaa4ea5d74ce90905Xavier Ducrohet        String value = properties.get(property);
414b52ec49fee79b0488d6a9eaaa4ea5d74ce90905Xavier Ducrohet        if (value != null) {
424b52ec49fee79b0488d6a9eaaa4ea5d74ce90905Xavier Ducrohet            return value;
434b52ec49fee79b0488d6a9eaaa4ea5d74ce90905Xavier Ducrohet        }
444b52ec49fee79b0488d6a9eaaa4ea5d74ce90905Xavier Ducrohet
454b52ec49fee79b0488d6a9eaaa4ea5d74ce90905Xavier Ducrohet        return Build.UNKNOWN;
464b52ec49fee79b0488d6a9eaaa4ea5d74ce90905Xavier Ducrohet    }
474b52ec49fee79b0488d6a9eaaa4ea5d74ce90905Xavier Ducrohet
484b52ec49fee79b0488d6a9eaaa4ea5d74ce90905Xavier Ducrohet}
49