diff options
Diffstat (limited to 'tests/auto/android/src/org/qtproject/qt5/android/QtActivity.java')
-rw-r--r-- | tests/auto/android/src/org/qtproject/qt5/android/QtActivity.java | 330 |
1 files changed, 0 insertions, 330 deletions
diff --git a/tests/auto/android/src/org/qtproject/qt5/android/QtActivity.java b/tests/auto/android/src/org/qtproject/qt5/android/QtActivity.java deleted file mode 100644 index ed190fdc1b..0000000000 --- a/tests/auto/android/src/org/qtproject/qt5/android/QtActivity.java +++ /dev/null @@ -1,330 +0,0 @@ -/* - Copyright (c) 2012, BogDan Vatra <bogdan@kde.org> - Contact: http://www.qt-project.org/legal - - Redistribution and use in source and binary forms, with or without - modification, are permitted provided that the following conditions - are met: - - 1. Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. - 2. Redistributions in binary form must reproduce the above copyright - notice, this list of conditions and the following disclaimer in the - documentation and/or other materials provided with the distribution. - - THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR - IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES - OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. - IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, - INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT - NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, - DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY - THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT - (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF - THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -*/ - -package org.qtproject.qt5.android; - -import java.io.File; -import java.util.ArrayList; -import java.util.Iterator; - -import org.qtproject.qt5.android.tests.R; - -import android.app.Activity; -import android.content.Context; -import android.content.res.Configuration; -import android.graphics.Rect; -import android.os.Bundle; -import android.text.method.MetaKeyKeyListener; -import android.util.DisplayMetrics; -import android.util.Log; -import android.view.KeyCharacterMap; -import android.view.KeyEvent; -import android.view.Menu; -import android.view.MenuItem; -import android.view.Window; -import android.view.WindowManager; -import android.view.inputmethod.InputMethodManager; - -public class QtActivity extends Activity { - private int m_id =- 1; - private boolean softwareKeyboardIsVisible = false; - private long m_metaState; - private int m_lastChar = 0; - private boolean m_fullScreen = false; - private boolean m_started = false; - private QtSurface m_surface = null; - private boolean m_usesGL = false; - private void loadQtLibs(String[] libs, String environment, String params, String mainLib, String nativeLibDir) throws Exception - { - QtNative.loadQtLibraries(libs); - // start application - - final String envPaths = "NECESSITAS_API_LEVEL=2\tHOME=" + getDir("files", MODE_WORLD_WRITEABLE | MODE_WORLD_READABLE).getAbsolutePath() + - "\tTMPDIR=" + getDir("files", MODE_WORLD_WRITEABLE | MODE_WORLD_READABLE).getAbsolutePath() + - "\tCACHE_PATH=" + getDir("files", MODE_WORLD_WRITEABLE | MODE_WORLD_READABLE).getAbsolutePath(); - if (environment != null && environment.length() > 0) - environment = envPaths + "\t" + environment; - else - environment = envPaths; - - try { - Thread.sleep(5000); - } catch (InterruptedException e) { - // TODO Auto-generated catch block - e.printStackTrace(); - } - QtNative.startApplication(params, environment, mainLib, nativeLibDir); - m_surface.applicationStarted(m_usesGL); - m_started = true; - } - - private boolean m_quitApp = true; - private Process m_debuggerProcess = null; // debugger process - - private void startApp(final boolean firstStart) - { - try { - String qtLibs[] = getResources().getStringArray(R.array.qt_libs); - ArrayList<String> libraryList = new ArrayList<String>(); - for (int i = 0; i < qtLibs.length; i++) - libraryList.add("/data/local/tmp/qt/lib/lib" + qtLibs[i] + ".so"); - - String mainLib = null; - String nativeLibDir = null; - if (getIntent().getExtras() != null) { - if (getIntent().getExtras().containsKey("extra_libs")) { - String extra_libs = getIntent().getExtras().getString("extra_libs"); - for (String lib : extra_libs.split(":")) - libraryList.add(lib); - } - if (getIntent().getExtras().containsKey("lib_name")) { - mainLib = getIntent().getExtras().getString("lib_name"); - libraryList.add(mainLib); - int slash = mainLib.lastIndexOf("/"); - if (slash >= 0) { - nativeLibDir = mainLib.substring(0, slash+1); - mainLib = mainLib.substring(slash+1+3, mainLib.length()-3); //remove lib and .so - } else { - nativeLibDir = ""; - } - } - - if (getIntent().getExtras().containsKey("needsOpenGl")) - m_usesGL = getIntent().getExtras().getBoolean("needsOpenGl"); - } else { - try { - Thread.sleep(5000); - } catch (InterruptedException e) { - // TODO Auto-generated catch block - e.printStackTrace(); - } - finish(); - System.exit(0); - } - String[] libs = new String[libraryList.size()]; - libs = libraryList.toArray(libs); - loadQtLibs(libs - ,"QT_QPA_EGLFS_HIDECURSOR=1\tQML2_IMPORT_PATH=/data/local/tmp/qt/qml\tQML_IMPORT_PATH=/data/local/tmp/qt/imports\tQT_PLUGIN_PATH=/data/local/tmp/qt/plugins" - , "-xml\t-silent\t-o\toutput.xml", mainLib, nativeLibDir); - } catch (Exception e) { - Log.e(QtNative.QtTAG, "Can't create main activity", e); - } - } - - @Override - public void onCreate(Bundle savedInstanceState) - { - super.onCreate(savedInstanceState); - getDir("files", MODE_WORLD_WRITEABLE | MODE_WORLD_READABLE); - requestWindowFeature(Window.FEATURE_NO_TITLE); - m_quitApp = true; - QtNative.setMainActivity(this); - if (null == getLastNonConfigurationInstance()) { - DisplayMetrics metrics = new DisplayMetrics(); - getWindowManager().getDefaultDisplay().getMetrics(metrics); - QtNative.setApplicationDisplayMetrics(metrics.widthPixels, metrics.heightPixels, - metrics.widthPixels, metrics.heightPixels, - metrics.xdpi, metrics.ydpi); - } - m_surface = new QtSurface(this, m_id); - setContentView(m_surface); - if (null == getLastNonConfigurationInstance()) - startApp(true); - } - - public QtSurface getQtSurface() - { - return m_surface; - } - - @Override - public Object onRetainNonConfigurationInstance() - { - super.onRetainNonConfigurationInstance(); - m_quitApp = false; - return true; - } - - @Override - protected void onDestroy() - { - QtNative.setMainActivity(null); - super.onDestroy(); - if (m_quitApp) { - Log.i(QtNative.QtTAG, "onDestroy"); - if (m_debuggerProcess != null) - m_debuggerProcess.destroy(); - System.exit(0);// FIXME remove it or find a better way - } - QtNative.setMainActivity(null); - } - - @Override - protected void onResume() - { - // fire all lostActions - synchronized (QtNative.m_mainActivityMutex) { - Iterator<Runnable> itr = QtNative.getLostActions().iterator(); - while (itr.hasNext()) - runOnUiThread(itr.next()); - if (m_started) { - QtNative.clearLostActions(); - QtNative.updateWindow(); - } - } - super.onResume(); - } - - public void redrawWindow(int left, int top, int right, int bottom) - { - m_surface.drawBitmap(new Rect(left, top, right, bottom)); - } - - public void setFullScreen(boolean enterFullScreen) - { - if (m_fullScreen == enterFullScreen) - return; - if (m_fullScreen = enterFullScreen) - getWindow().addFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN); - else - getWindow().clearFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN); - } - - @Override - protected void onSaveInstanceState(Bundle outState) - { - super.onSaveInstanceState(outState); - outState.putBoolean("FullScreen", m_fullScreen); - outState.putBoolean("Started", m_started); - } - - @Override - protected void onRestoreInstanceState(Bundle savedInstanceState) - { - super.onRestoreInstanceState(savedInstanceState); - setFullScreen(savedInstanceState.getBoolean("FullScreen")); - m_started = savedInstanceState.getBoolean("Started"); - if (m_started) - m_surface.applicationStarted(true); - } - - public void showSoftwareKeyboard() - { - softwareKeyboardIsVisible = true; - InputMethodManager imm = (InputMethodManager)getSystemService(Context.INPUT_METHOD_SERVICE); - imm.toggleSoftInput(InputMethodManager.SHOW_FORCED, InputMethodManager.HIDE_IMPLICIT_ONLY); - } - - public void resetSoftwareKeyboard() - { - } - - public void hideSoftwareKeyboard() - { - if (softwareKeyboardIsVisible) { - InputMethodManager imm = (InputMethodManager)getSystemService(Context.INPUT_METHOD_SERVICE); - imm.toggleSoftInput(0, 0); - } - softwareKeyboardIsVisible = false; - } - - @Override - public boolean dispatchKeyEvent(KeyEvent event) - { - if (m_started && event.getAction() == KeyEvent.ACTION_MULTIPLE && - event.getCharacters() != null && - event.getCharacters().length() == 1 && - event.getKeyCode() == 0) { - Log.i(QtNative.QtTAG, "dispatchKeyEvent at MULTIPLE with one character: " + event.getCharacters()); - QtNative.keyDown(0, event.getCharacters().charAt(0), event.getMetaState()); - QtNative.keyUp(0, event.getCharacters().charAt(0), event.getMetaState()); - } - - return super.dispatchKeyEvent(event); - } - - @Override - public boolean onKeyDown(int keyCode, KeyEvent event) - { - if (!m_started) - return false; - m_metaState = MetaKeyKeyListener.handleKeyDown(m_metaState, keyCode, event); - int c = event.getUnicodeChar(MetaKeyKeyListener.getMetaState(m_metaState)); - int lc = c; - m_metaState = MetaKeyKeyListener.adjustMetaAfterKeypress(m_metaState); - - if ((c & KeyCharacterMap.COMBINING_ACCENT) != 0) { - c = c & KeyCharacterMap.COMBINING_ACCENT_MASK; - int composed = KeyEvent.getDeadChar(m_lastChar, c); - c = composed; - } - m_lastChar = lc; - if (keyCode != KeyEvent.KEYCODE_BACK) - QtNative.keyDown(keyCode, c, event.getMetaState()); - return true; - } - - @Override - public boolean onKeyUp(int keyCode, KeyEvent event) - { - if (!m_started) - return false; - m_metaState = MetaKeyKeyListener.handleKeyUp(m_metaState, keyCode, event); - QtNative.keyUp(keyCode, event.getUnicodeChar(), event.getMetaState()); - return true; - } - - public void onConfigurationChanged(Configuration newConfig) { - super.onConfigurationChanged(newConfig); - } - -/* public boolean onCreateOptionsMenu(Menu menu) - { - QtNative.createOptionsMenu(menu); - try { - return onPrepareOptionsMenu(menu); - } catch (Exception e) { - e.printStackTrace(); - return false; - } - } - - public boolean onPrepareOptionsMenu(Menu menu) - { - QtNative.prepareOptionsMenu(menu); - try { - return (Boolean) onPrepareOptionsMenu(menu); - } catch (Exception e) { - e.printStackTrace(); - return false; - } - } - - public boolean onOptionsItemSelected(MenuItem item) - { - return QtNative.optionsItemSelected(item.getGroupId(), item.getItemId()); - }*/ -} |