blob: 7b9ac44af6c4eb99c891e9cffcb4dd8cc0705f83 [file] [log] [blame]
/*
* 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.motorola.studio.android.nativeos;
import org.eclipse.swt.graphics.Point;
import org.eclipse.swt.widgets.Composite;
import com.motorola.studio.android.adt.SdkUtils;
import com.motorola.studio.android.common.log.StudioLogger;
public class NativeUIUtils
{
private static INativeUI instance;
private NativeUIUtils()
{
}
public static INativeUI getInstance()
{
if (instance == null)
{
instance = (INativeUI) getClass("com.motorola.studio.android.nativeos.NativeUI");
}
return instance;
}
public static Object getClass(String nameClass)
{
try
{
return (Class.forName(nameClass)).newInstance();
}
catch (Exception ex)
{
StudioLogger.error(NativeUIUtils.class,
"Error resolving OS dependent class for native windows feature", ex);
return null;
}
}
public static String getDefaultCommandLine()
{
return getInstance().getDefaultCommandLine();
}
public static String getDefaultUseVnc()
{
return getInstance().getDefaultUseVnc();
}
public static long getWindowHandle(String avdName, int instancePort)
{
String windowName = SdkUtils.getEmulatorWindowName(avdName, instancePort);
return getInstance().getWindowHandle(windowName);
}
public static long getWindowProperties(long windowHandle)
{
return getInstance().getWindowProperties(windowHandle);
}
public static Point getWindowSize(long originalParentHandle, long windowHandle)
{
return getInstance().getWindowSize(originalParentHandle, windowHandle);
}
public static void hideWindow(long windowHandle)
{
getInstance().hideWindow(windowHandle);
}
public static boolean isWindowEnabled(long windowHandle)
{
return getInstance().isWindowEnabled(windowHandle);
}
public static void restoreWindow(long windowHandle)
{
getInstance().restoreWindow(windowHandle);
}
public static void sendNextLayoutCommand(long originalParent, long windowHandle)
{
getInstance().sendNextLayoutCommand(originalParent, windowHandle);
}
public static void setWindowFocus(long windowHandle)
{
getInstance().setWindowFocus(windowHandle);
}
public static long embedWindow(long windowHandle, Composite composite)
{
return getInstance().embedWindow(windowHandle, composite);
}
public static void unembedWindow(long windowHandle, long originalParent)
{
getInstance().unembedWindow(windowHandle, originalParent);
}
public static void setWindowProperties(long windowHandle, long originalProperties)
{
getInstance().setWindowProperties(windowHandle, originalProperties);
}
public static void setWindowStyle(long windowHandle)
{
getInstance().setWindowStyle(windowHandle);
}
public static void showWindow(long windowHandle)
{
getInstance().showWindow(windowHandle);
}
}