19d9730aecb72e830ef12d66ce6e084d8ae0928f2The Android Open Source Project/*
29d9730aecb72e830ef12d66ce6e084d8ae0928f2The Android Open Source Project * Copyright (C) 2007 The Android Open Source Project
39d9730aecb72e830ef12d66ce6e084d8ae0928f2The Android Open Source Project *
49d9730aecb72e830ef12d66ce6e084d8ae0928f2The Android Open Source Project * Licensed under the Apache License, Version 2.0 (the "License");
59d9730aecb72e830ef12d66ce6e084d8ae0928f2The Android Open Source Project * you may not use this file except in compliance with the License.
69d9730aecb72e830ef12d66ce6e084d8ae0928f2The Android Open Source Project * You may obtain a copy of the License at
79d9730aecb72e830ef12d66ce6e084d8ae0928f2The Android Open Source Project *
89d9730aecb72e830ef12d66ce6e084d8ae0928f2The Android Open Source Project *      http://www.apache.org/licenses/LICENSE-2.0
99d9730aecb72e830ef12d66ce6e084d8ae0928f2The Android Open Source Project *
109d9730aecb72e830ef12d66ce6e084d8ae0928f2The Android Open Source Project * Unless required by applicable law or agreed to in writing, software
119d9730aecb72e830ef12d66ce6e084d8ae0928f2The Android Open Source Project * distributed under the License is distributed on an "AS IS" BASIS,
129d9730aecb72e830ef12d66ce6e084d8ae0928f2The Android Open Source Project * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
139d9730aecb72e830ef12d66ce6e084d8ae0928f2The Android Open Source Project * See the License for the specific language governing permissions and
149d9730aecb72e830ef12d66ce6e084d8ae0928f2The Android Open Source Project * limitations under the License.
159d9730aecb72e830ef12d66ce6e084d8ae0928f2The Android Open Source Project */
169d9730aecb72e830ef12d66ce6e084d8ae0928f2The Android Open Source Project
179d9730aecb72e830ef12d66ce6e084d8ae0928f2The Android Open Source Projectpackage com.android.stk;
189d9730aecb72e830ef12d66ce6e084d8ae0928f2The Android Open Source Project
199d9730aecb72e830ef12d66ce6e084d8ae0928f2The Android Open Source Projectimport android.app.Application;
209d9730aecb72e830ef12d66ce6e084d8ae0928f2The Android Open Source Project
21d41f1d98d7bf42e9e867819593ad79f685604796Alex Yakavenkaimport com.android.internal.telephony.cat.Duration;
229d9730aecb72e830ef12d66ce6e084d8ae0928f2The Android Open Source Project
239d9730aecb72e830ef12d66ce6e084d8ae0928f2The Android Open Source Project/**
249d9730aecb72e830ef12d66ce6e084d8ae0928f2The Android Open Source Project * Top-level Application class for STK app.
259d9730aecb72e830ef12d66ce6e084d8ae0928f2The Android Open Source Project */
269d9730aecb72e830ef12d66ce6e084d8ae0928f2The Android Open Source Projectabstract class StkApp extends Application {
279d9730aecb72e830ef12d66ce6e084d8ae0928f2The Android Open Source Project    // Application constants
289d9730aecb72e830ef12d66ce6e084d8ae0928f2The Android Open Source Project    public static final boolean DBG = true;
299d9730aecb72e830ef12d66ce6e084d8ae0928f2The Android Open Source Project
309d9730aecb72e830ef12d66ce6e084d8ae0928f2The Android Open Source Project    // Identifiers for option menu items
319d9730aecb72e830ef12d66ce6e084d8ae0928f2The Android Open Source Project    static final int MENU_ID_END_SESSION = android.view.Menu.FIRST;
329d9730aecb72e830ef12d66ce6e084d8ae0928f2The Android Open Source Project    static final int MENU_ID_BACK = android.view.Menu.FIRST + 1;
339d9730aecb72e830ef12d66ce6e084d8ae0928f2The Android Open Source Project    static final int MENU_ID_HELP = android.view.Menu.FIRST + 2;
349d9730aecb72e830ef12d66ce6e084d8ae0928f2The Android Open Source Project
359d9730aecb72e830ef12d66ce6e084d8ae0928f2The Android Open Source Project    // UI timeout, 30 seconds - used for display dialog and activities.
369d9730aecb72e830ef12d66ce6e084d8ae0928f2The Android Open Source Project    static final int UI_TIMEOUT = (40 * 1000);
379d9730aecb72e830ef12d66ce6e084d8ae0928f2The Android Open Source Project
389d9730aecb72e830ef12d66ce6e084d8ae0928f2The Android Open Source Project    // Tone default timeout - 2 seconds
399d9730aecb72e830ef12d66ce6e084d8ae0928f2The Android Open Source Project    static final int TONE_DFEAULT_TIMEOUT = (2 * 1000);
409d9730aecb72e830ef12d66ce6e084d8ae0928f2The Android Open Source Project
419d9730aecb72e830ef12d66ce6e084d8ae0928f2The Android Open Source Project    public static final String TAG = "STK App";
429d9730aecb72e830ef12d66ce6e084d8ae0928f2The Android Open Source Project
439d9730aecb72e830ef12d66ce6e084d8ae0928f2The Android Open Source Project    /**
449d9730aecb72e830ef12d66ce6e084d8ae0928f2The Android Open Source Project     * This function calculate the time in MS from a duration instance.
459d9730aecb72e830ef12d66ce6e084d8ae0928f2The Android Open Source Project     * returns zero when duration is null.
469d9730aecb72e830ef12d66ce6e084d8ae0928f2The Android Open Source Project     */
479d9730aecb72e830ef12d66ce6e084d8ae0928f2The Android Open Source Project    public static int calculateDurationInMilis(Duration duration) {
489d9730aecb72e830ef12d66ce6e084d8ae0928f2The Android Open Source Project        int timeout = 0;
499d9730aecb72e830ef12d66ce6e084d8ae0928f2The Android Open Source Project        if (duration != null) {
509d9730aecb72e830ef12d66ce6e084d8ae0928f2The Android Open Source Project            switch (duration.timeUnit) {
519d9730aecb72e830ef12d66ce6e084d8ae0928f2The Android Open Source Project            case MINUTE:
529d9730aecb72e830ef12d66ce6e084d8ae0928f2The Android Open Source Project                timeout = 1000 * 60;
539d9730aecb72e830ef12d66ce6e084d8ae0928f2The Android Open Source Project                break;
549d9730aecb72e830ef12d66ce6e084d8ae0928f2The Android Open Source Project            case TENTH_SECOND:
55c2400dfd02c7209213474f0a82865a63d2a8b2e0Pierre Frojd                timeout = 1000 / 10;
569d9730aecb72e830ef12d66ce6e084d8ae0928f2The Android Open Source Project                break;
579d9730aecb72e830ef12d66ce6e084d8ae0928f2The Android Open Source Project            case SECOND:
589d9730aecb72e830ef12d66ce6e084d8ae0928f2The Android Open Source Project            default:
599d9730aecb72e830ef12d66ce6e084d8ae0928f2The Android Open Source Project                timeout = 1000;
609d9730aecb72e830ef12d66ce6e084d8ae0928f2The Android Open Source Project                break;
619d9730aecb72e830ef12d66ce6e084d8ae0928f2The Android Open Source Project            }
629d9730aecb72e830ef12d66ce6e084d8ae0928f2The Android Open Source Project            timeout *= duration.timeInterval;
639d9730aecb72e830ef12d66ce6e084d8ae0928f2The Android Open Source Project        }
649d9730aecb72e830ef12d66ce6e084d8ae0928f2The Android Open Source Project        return timeout;
659d9730aecb72e830ef12d66ce6e084d8ae0928f2The Android Open Source Project    }
669d9730aecb72e830ef12d66ce6e084d8ae0928f2The Android Open Source Project}
67