javauis/coreui_qt/javasrc/com/nokia/mj/impl/coreuiqt/CoreUiImpl.java
author hgs
Fri, 17 Sep 2010 16:44:34 +0300
changeset 72 1f0034e370aa
child 80 d6dafc5d983f
permissions -rw-r--r--
v2.2.15_1
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
72
1f0034e370aa v2.2.15_1
hgs
parents:
diff changeset
     1
/*
1f0034e370aa v2.2.15_1
hgs
parents:
diff changeset
     2
* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
1f0034e370aa v2.2.15_1
hgs
parents:
diff changeset
     3
* All rights reserved.
1f0034e370aa v2.2.15_1
hgs
parents:
diff changeset
     4
* This component and the accompanying materials are made available
1f0034e370aa v2.2.15_1
hgs
parents:
diff changeset
     5
* under the terms of "Eclipse Public License v1.0"
1f0034e370aa v2.2.15_1
hgs
parents:
diff changeset
     6
* which accompanies this distribution, and is available
1f0034e370aa v2.2.15_1
hgs
parents:
diff changeset
     7
* at the URL "http://www.eclipse.org/legal/epl-v10.html".
1f0034e370aa v2.2.15_1
hgs
parents:
diff changeset
     8
*
1f0034e370aa v2.2.15_1
hgs
parents:
diff changeset
     9
* Initial Contributors:
1f0034e370aa v2.2.15_1
hgs
parents:
diff changeset
    10
* Nokia Corporation - initial contribution.
1f0034e370aa v2.2.15_1
hgs
parents:
diff changeset
    11
*
1f0034e370aa v2.2.15_1
hgs
parents:
diff changeset
    12
* Contributors:
1f0034e370aa v2.2.15_1
hgs
parents:
diff changeset
    13
*
1f0034e370aa v2.2.15_1
hgs
parents:
diff changeset
    14
* Description: Java side Core UI accessor.
1f0034e370aa v2.2.15_1
hgs
parents:
diff changeset
    15
*
1f0034e370aa v2.2.15_1
hgs
parents:
diff changeset
    16
*/
1f0034e370aa v2.2.15_1
hgs
parents:
diff changeset
    17
package com.nokia.mj.impl.coreuiqt;
1f0034e370aa v2.2.15_1
hgs
parents:
diff changeset
    18
1f0034e370aa v2.2.15_1
hgs
parents:
diff changeset
    19
import com.nokia.mj.impl.utils.Uid;
1f0034e370aa v2.2.15_1
hgs
parents:
diff changeset
    20
import com.nokia.mj.impl.rt.support.Jvm;
1f0034e370aa v2.2.15_1
hgs
parents:
diff changeset
    21
import com.nokia.mj.impl.rt.support.ApplicationUtils;
1f0034e370aa v2.2.15_1
hgs
parents:
diff changeset
    22
import com.nokia.mj.impl.rt.support.ApplicationInfo;
1f0034e370aa v2.2.15_1
hgs
parents:
diff changeset
    23
import com.nokia.mj.impl.coreui.CoreUi;
1f0034e370aa v2.2.15_1
hgs
parents:
diff changeset
    24
1f0034e370aa v2.2.15_1
hgs
parents:
diff changeset
    25
1f0034e370aa v2.2.15_1
hgs
parents:
diff changeset
    26
/**
1f0034e370aa v2.2.15_1
hgs
parents:
diff changeset
    27
 * A gate to CoreUi Qt implementation.
1f0034e370aa v2.2.15_1
hgs
parents:
diff changeset
    28
 */
1f0034e370aa v2.2.15_1
hgs
parents:
diff changeset
    29
public class CoreUiImpl extends CoreUi
1f0034e370aa v2.2.15_1
hgs
parents:
diff changeset
    30
{
1f0034e370aa v2.2.15_1
hgs
parents:
diff changeset
    31
1f0034e370aa v2.2.15_1
hgs
parents:
diff changeset
    32
    public CoreUiImpl()
1f0034e370aa v2.2.15_1
hgs
parents:
diff changeset
    33
    {
1f0034e370aa v2.2.15_1
hgs
parents:
diff changeset
    34
        // Load the native.
1f0034e370aa v2.2.15_1
hgs
parents:
diff changeset
    35
        Jvm.loadSystemLibrary("javacoreui");
1f0034e370aa v2.2.15_1
hgs
parents:
diff changeset
    36
    }
1f0034e370aa v2.2.15_1
hgs
parents:
diff changeset
    37
1f0034e370aa v2.2.15_1
hgs
parents:
diff changeset
    38
    /**
1f0034e370aa v2.2.15_1
hgs
parents:
diff changeset
    39
     * Connects to the already created CoreUi.
1f0034e370aa v2.2.15_1
hgs
parents:
diff changeset
    40
     * @return permission to start the application. There is a small time
1f0034e370aa v2.2.15_1
hgs
parents:
diff changeset
    41
     *         window where user is able to cancel the application
1f0034e370aa v2.2.15_1
hgs
parents:
diff changeset
    42
     *         start. In this case the CoreUi stores the request and
1f0034e370aa v2.2.15_1
hgs
parents:
diff changeset
    43
     *         informs the caller of this method that the application
1f0034e370aa v2.2.15_1
hgs
parents:
diff changeset
    44
     *         should not be started.
1f0034e370aa v2.2.15_1
hgs
parents:
diff changeset
    45
     */
1f0034e370aa v2.2.15_1
hgs
parents:
diff changeset
    46
    protected boolean connectToUiImpl()
1f0034e370aa v2.2.15_1
hgs
parents:
diff changeset
    47
    {
1f0034e370aa v2.2.15_1
hgs
parents:
diff changeset
    48
        return true;
1f0034e370aa v2.2.15_1
hgs
parents:
diff changeset
    49
    }
1f0034e370aa v2.2.15_1
hgs
parents:
diff changeset
    50
1f0034e370aa v2.2.15_1
hgs
parents:
diff changeset
    51
    /**
1f0034e370aa v2.2.15_1
hgs
parents:
diff changeset
    52
     * For creating the UI from Java side. This is meant for the pre-warmed
1f0034e370aa v2.2.15_1
hgs
parents:
diff changeset
    53
     * VM use case. Calling this method will lead creation of the CoreUI.
1f0034e370aa v2.2.15_1
hgs
parents:
diff changeset
    54
     * @param uid The UID of the application.
1f0034e370aa v2.2.15_1
hgs
parents:
diff changeset
    55
     * @param backGroundStart Should the UI be put into background.
1f0034e370aa v2.2.15_1
hgs
parents:
diff changeset
    56
     */
1f0034e370aa v2.2.15_1
hgs
parents:
diff changeset
    57
    protected void createUiImpl(Uid uid, boolean backGroundStart)
1f0034e370aa v2.2.15_1
hgs
parents:
diff changeset
    58
    {
1f0034e370aa v2.2.15_1
hgs
parents:
diff changeset
    59
        // CoreUiStartScreen.showStartScreen(backGroundStart);
1f0034e370aa v2.2.15_1
hgs
parents:
diff changeset
    60
    }
1f0034e370aa v2.2.15_1
hgs
parents:
diff changeset
    61
1f0034e370aa v2.2.15_1
hgs
parents:
diff changeset
    62
    /**
1f0034e370aa v2.2.15_1
hgs
parents:
diff changeset
    63
     * For asking the runtime to do the shutdown of the application.
1f0034e370aa v2.2.15_1
hgs
parents:
diff changeset
    64
     */
1f0034e370aa v2.2.15_1
hgs
parents:
diff changeset
    65
    protected void shutdownRequestImpl()
1f0034e370aa v2.2.15_1
hgs
parents:
diff changeset
    66
    {
1f0034e370aa v2.2.15_1
hgs
parents:
diff changeset
    67
        ApplicationUtils.getInstance().notifyExitCmd();
1f0034e370aa v2.2.15_1
hgs
parents:
diff changeset
    68
    }
1f0034e370aa v2.2.15_1
hgs
parents:
diff changeset
    69
1f0034e370aa v2.2.15_1
hgs
parents:
diff changeset
    70
    /**
1f0034e370aa v2.2.15_1
hgs
parents:
diff changeset
    71
     * For asking the runtime to bring the application to foreground.
1f0034e370aa v2.2.15_1
hgs
parents:
diff changeset
    72
     */
1f0034e370aa v2.2.15_1
hgs
parents:
diff changeset
    73
    protected void foregroundRequestImpl()
1f0034e370aa v2.2.15_1
hgs
parents:
diff changeset
    74
    {
1f0034e370aa v2.2.15_1
hgs
parents:
diff changeset
    75
    }
1f0034e370aa v2.2.15_1
hgs
parents:
diff changeset
    76
1f0034e370aa v2.2.15_1
hgs
parents:
diff changeset
    77
    /**
1f0034e370aa v2.2.15_1
hgs
parents:
diff changeset
    78
     * For asking if the UI is in foreground.
1f0034e370aa v2.2.15_1
hgs
parents:
diff changeset
    79
     */
1f0034e370aa v2.2.15_1
hgs
parents:
diff changeset
    80
    protected boolean isUiInForegroundImpl()
1f0034e370aa v2.2.15_1
hgs
parents:
diff changeset
    81
    {
1f0034e370aa v2.2.15_1
hgs
parents:
diff changeset
    82
        return true;
1f0034e370aa v2.2.15_1
hgs
parents:
diff changeset
    83
    }
1f0034e370aa v2.2.15_1
hgs
parents:
diff changeset
    84
1f0034e370aa v2.2.15_1
hgs
parents:
diff changeset
    85
    /**
1f0034e370aa v2.2.15_1
hgs
parents:
diff changeset
    86
     * For asking if the UI to remove the icon from the task manager.
1f0034e370aa v2.2.15_1
hgs
parents:
diff changeset
    87
     */
1f0034e370aa v2.2.15_1
hgs
parents:
diff changeset
    88
    protected void hideApplicationImpl(boolean hide)
1f0034e370aa v2.2.15_1
hgs
parents:
diff changeset
    89
    {
1f0034e370aa v2.2.15_1
hgs
parents:
diff changeset
    90
        // Native logic is reversed between Symbian^3 and Symbian^4.
1f0034e370aa v2.2.15_1
hgs
parents:
diff changeset
    91
        // platform specific part.
1f0034e370aa v2.2.15_1
hgs
parents:
diff changeset
    92
        _hideApplication(!hide);
1f0034e370aa v2.2.15_1
hgs
parents:
diff changeset
    93
    }
1f0034e370aa v2.2.15_1
hgs
parents:
diff changeset
    94
1f0034e370aa v2.2.15_1
hgs
parents:
diff changeset
    95
    private native void _hideApplication(boolean hide);
1f0034e370aa v2.2.15_1
hgs
parents:
diff changeset
    96
}