diff options
Diffstat (limited to 'apps/SdkController/src/com/android/tools/sdkcontroller/utils/ApiHelper.java')
-rwxr-xr-x | apps/SdkController/src/com/android/tools/sdkcontroller/utils/ApiHelper.java | 57 |
1 files changed, 57 insertions, 0 deletions
diff --git a/apps/SdkController/src/com/android/tools/sdkcontroller/utils/ApiHelper.java b/apps/SdkController/src/com/android/tools/sdkcontroller/utils/ApiHelper.java new file mode 100755 index 000000000..66bce49f3 --- /dev/null +++ b/apps/SdkController/src/com/android/tools/sdkcontroller/utils/ApiHelper.java @@ -0,0 +1,57 @@ +/* + * Copyright (C) 2012 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. + */ + +package com.android.tools.sdkcontroller.utils; + +import android.annotation.TargetApi; +import android.os.Build; +import android.view.View; + +/** + * Helper to deal with methods only available at certain API levels. + * Users should get use {@link ApiHelper#get()} to retrieve a singleton + * and then call the methods they desire. If the method is not available + * on the current API level, a stub or a nop will be used instead. + */ +@TargetApi(7) +public class ApiHelper { + + private static ApiHelper sApiHelper = null; + + /** Creates a new ApiHelper adapted to the current runtime API level. */ + public static ApiHelper get() { + if (sApiHelper == null) { + if (Build.VERSION.SDK_INT >= 11) { + sApiHelper = new ApiHelper_11(); + } else { + sApiHelper = new ApiHelper(); + } + } + + return sApiHelper; + } + + protected ApiHelper() { + } + + /** + * Applies {@link View#setSystemUiVisibility(int)}, available only starting with API 11. + * Does nothing for API < 11. + */ + public void View_setSystemUiVisibility(View view, int visibility) { + // nop + } +} |