javacommons/utils/tsrc/javasrc/com/nokia/mj/impl/rt/test/ApplicationUtilsImpl.java
author hgs
Fri, 15 Oct 2010 12:29:39 +0300
changeset 80 d6dafc5d983f
permissions -rw-r--r--
v2.2.19_1
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
80
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
     1
/*
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
     2
* Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies).
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
     3
* All rights reserved.
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
     4
* This component and the accompanying materials are made available
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
     5
* under the terms of "Eclipse Public License v1.0"
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
     6
* which accompanies this distribution, and is available
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
     7
* at the URL "http://www.eclipse.org/legal/epl-v10.html".
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
     8
*
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
     9
* Initial Contributors:
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
    10
* Nokia Corporation - initial contribution.
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
    11
*
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
    12
* Contributors:
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
    13
*
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
    14
* Description:
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
    15
*
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
    16
*/
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
    17
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
    18
package com.nokia.mj.impl.rt.test;
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
    19
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
    20
import java.security.Permission;
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
    21
import java.security.AccessControlException;
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
    22
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
    23
import com.nokia.mj.impl.rt.support.ApplicationUtils;
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
    24
import com.nokia.mj.impl.rt.support.ApplicationInfo;
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
    25
import com.nokia.mj.impl.utils.Uid;
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
    26
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
    27
public class ApplicationUtilsImpl extends ApplicationUtils
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
    28
{
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
    29
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
    30
    public static final int NOTIFY_CALL = 0;
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
    31
    public static final int UI_DISPOSED_CALL = 1;
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
    32
    public static final int PAUSE_CALL = 2;
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
    33
    public static final int RESUME_CALL = 3;
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
    34
    public static final int PERMISSION_CALL1 = 4;
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
    35
    public static final int PERMISSION_CALL2 = 5;
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
    36
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
    37
    public static int[] mCalledArr = new int[6];
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
    38
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
    39
    static
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
    40
    {
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
    41
        clear();
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
    42
    }
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
    43
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
    44
    public static Permission mPermission = null;
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
    45
    public static Uid mUid = null;
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
    46
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
    47
    public static void clear()
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
    48
    {
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
    49
        for (int i = 0; i < mCalledArr.length; ++i)
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
    50
        {
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
    51
            mCalledArr[i] = 0;
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
    52
        }
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
    53
    }
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
    54
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
    55
    public static boolean checkCalls(int checkInd)
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
    56
    {
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
    57
        for (int i = 0; i < mCalledArr.length; ++i)
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
    58
        {
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
    59
            if (checkInd == i)
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
    60
            {
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
    61
                if (mCalledArr[i] != 1)
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
    62
                {
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
    63
                    return false;
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
    64
                }
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
    65
            }
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
    66
            else if (mCalledArr[i] != 0)
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
    67
            {
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
    68
                return false;
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
    69
            }
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
    70
        }
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
    71
        return true;
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
    72
    }
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
    73
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
    74
    public static String print()
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
    75
    {
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
    76
        StringBuffer sb = new StringBuffer();
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
    77
        for (int i = 0; i < mCalledArr.length; ++i)
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
    78
        {
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
    79
            sb.append("\n");
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
    80
            sb.append("  " + (i + 1) + " == " + mCalledArr[i]);
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
    81
        }
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
    82
        return sb.toString();
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
    83
    }
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
    84
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
    85
    public static void doShutdownImpl()
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
    86
    {
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
    87
//        sInstance.doShutdown();
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
    88
        ((ApplicationUtilsImpl)sInstance).doShutdown();
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
    89
    }
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
    90
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
    91
    public void notifyExitCmd()
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
    92
    {
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
    93
        mCalledArr[NOTIFY_CALL]++;
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
    94
    }
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
    95
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
    96
    public void uiDisposed()
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
    97
    {
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
    98
        mCalledArr[UI_DISPOSED_CALL]++;
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
    99
    }
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   100
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   101
    public void pauseApplication()
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   102
    {
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   103
        mCalledArr[PAUSE_CALL]++;
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   104
    }
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   105
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   106
    public void resumeApplication()
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   107
    {
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   108
        mCalledArr[RESUME_CALL]++;
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   109
    }
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   110
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   111
    public void checkPermission(Permission p)
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   112
    throws AccessControlException,
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   113
        NullPointerException
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   114
    {
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   115
        mPermission = p;
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   116
        mCalledArr[PERMISSION_CALL1]++;
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   117
    }
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   118
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   119
    public void checkPermission(Uid appUid,Permission p)
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   120
    throws AccessControlException,
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   121
        NullPointerException
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   122
    {
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   123
        mPermission = p;
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   124
        mUid = appUid;
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   125
        mCalledArr[PERMISSION_CALL2]++;
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   126
    }
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   127
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   128
    public static void releaseWaiterImpl(boolean doStart)
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   129
    {
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   130
        ((ApplicationUtilsImpl)sInstance).releaseStartWaiter(doStart);
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   131
    }
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   132
d6dafc5d983f v2.2.19_1
hgs
parents:
diff changeset
   133
}