From 6ffafcde03e73c4c3ee3a98d7a7c810ccccceefb Mon Sep 17 00:00:00 2001 From: Raphael Date: Fri, 23 Mar 2012 17:24:22 -0700 Subject: SdkController: fullscreen for multi-touch activity. Change-Id: I2ce4006cfc30d2de956d246f1d5059d4032fc32c --- .../SdkControllerApp/res/values-v11/styles_v11.xml | 2 +- .../SdkControllerApp/res/values/styles.xml | 2 +- .../activities/MultiTouchActivity.java | 4 ++ .../tools/sdkcontroller/utils/ApiHelper.java | 57 ++++++++++++++++++++++ .../tools/sdkcontroller/utils/ApiHelper_11.java | 36 ++++++++++++++ 5 files changed, 99 insertions(+), 2 deletions(-) create mode 100755 apps/SdkController/SdkControllerApp/src/com/android/tools/sdkcontroller/utils/ApiHelper.java create mode 100755 apps/SdkController/SdkControllerApp/src/com/android/tools/sdkcontroller/utils/ApiHelper_11.java (limited to 'apps') diff --git a/apps/SdkController/SdkControllerApp/res/values-v11/styles_v11.xml b/apps/SdkController/SdkControllerApp/res/values-v11/styles_v11.xml index 29c35ca..6f58f57 100755 --- a/apps/SdkController/SdkControllerApp/res/values-v11/styles_v11.xml +++ b/apps/SdkController/SdkControllerApp/res/values-v11/styles_v11.xml @@ -19,7 +19,7 @@ - diff --git a/apps/SdkController/SdkControllerApp/res/values/styles.xml b/apps/SdkController/SdkControllerApp/res/values/styles.xml index da51b55..376a577 100755 --- a/apps/SdkController/SdkControllerApp/res/values/styles.xml +++ b/apps/SdkController/SdkControllerApp/res/values/styles.xml @@ -19,7 +19,7 @@ - diff --git a/apps/SdkController/SdkControllerApp/src/com/android/tools/sdkcontroller/activities/MultiTouchActivity.java b/apps/SdkController/SdkControllerApp/src/com/android/tools/sdkcontroller/activities/MultiTouchActivity.java index cc2c2ea..f22f12f 100755 --- a/apps/SdkController/SdkControllerApp/src/com/android/tools/sdkcontroller/activities/MultiTouchActivity.java +++ b/apps/SdkController/SdkControllerApp/src/com/android/tools/sdkcontroller/activities/MultiTouchActivity.java @@ -34,6 +34,7 @@ import com.android.tools.sdkcontroller.handlers.BaseHandler.HandlerType; import com.android.tools.sdkcontroller.handlers.MultiTouchHandler; import com.android.tools.sdkcontroller.service.ControllerService.ControllerBinder; import com.android.tools.sdkcontroller.service.ControllerService.ControllerListener; +import com.android.tools.sdkcontroller.utils.ApiHelper; import com.android.tools.sdkcontroller.views.MultiTouchView; /** @@ -77,6 +78,9 @@ public class MultiTouchActivity extends BaseBindingActivity mTextError = (TextView) findViewById(R.id.textError); mTextStatus = (TextView) findViewById(R.id.textStatus); updateStatus("Waiting for connection"); + + ApiHelper ah = ApiHelper.get(); + ah.View_setSystemUiVisibility(mImageView, View.SYSTEM_UI_FLAG_LOW_PROFILE); } @Override diff --git a/apps/SdkController/SdkControllerApp/src/com/android/tools/sdkcontroller/utils/ApiHelper.java b/apps/SdkController/SdkControllerApp/src/com/android/tools/sdkcontroller/utils/ApiHelper.java new file mode 100755 index 0000000..956885b --- /dev/null +++ b/apps/SdkController/SdkControllerApp/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 + } +} diff --git a/apps/SdkController/SdkControllerApp/src/com/android/tools/sdkcontroller/utils/ApiHelper_11.java b/apps/SdkController/SdkControllerApp/src/com/android/tools/sdkcontroller/utils/ApiHelper_11.java new file mode 100755 index 0000000..fcbde6f --- /dev/null +++ b/apps/SdkController/SdkControllerApp/src/com/android/tools/sdkcontroller/utils/ApiHelper_11.java @@ -0,0 +1,36 @@ +/* + * 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.view.View; + +/** + * API 11: support View_setSystemUiVisibility + */ +@TargetApi(11) +class ApiHelper_11 extends ApiHelper { + + /** + * Applies {@link View#setSystemUiVisibility(int)}, available only starting with API 11. + * Does nothing for API < 11. + */ + @Override + public void View_setSystemUiVisibility(View view, int visibility) { + view.setSystemUiVisibility(visibility); + } +} -- cgit v1.1