OSDN Git Service

original
[gb-231r1-is01/Gingerbread_2.3.3_r1_IS01.git] / frameworks / base / telephony / java / com / android / internal / telephony / gsm / stk / CommandParams.java
1 /*
2  * Copyright (C) 2007 The Android Open Source Project
3  *
4  * Licensed under the Apache License, Version 2.0 (the "License");
5  * you may not use this file except in compliance with the License.
6  * You may obtain a copy of the License at
7  *
8  *      http://www.apache.org/licenses/LICENSE-2.0
9  *
10  * Unless required by applicable law or agreed to in writing, software
11  * distributed under the License is distributed on an "AS IS" BASIS,
12  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13  * See the License for the specific language governing permissions and
14  * limitations under the License.
15  */
16
17 package com.android.internal.telephony.gsm.stk;
18
19 import android.graphics.Bitmap;
20
21 /**
22  * Container class for proactive command parameters.
23  *
24  */
25 class CommandParams {
26     CommandDetails cmdDet;
27
28     CommandParams(CommandDetails cmdDet) {
29         this.cmdDet = cmdDet;
30     }
31
32     AppInterface.CommandType getCommandType() {
33         return AppInterface.CommandType.fromInt(cmdDet.typeOfCommand);
34     }
35
36     boolean setIcon(Bitmap icon) { return true; }
37 }
38
39 class DisplayTextParams extends CommandParams {
40     TextMessage textMsg;
41
42     DisplayTextParams(CommandDetails cmdDet, TextMessage textMsg) {
43         super(cmdDet);
44         this.textMsg = textMsg;
45     }
46
47     boolean setIcon(Bitmap icon) {
48         if (icon != null && textMsg != null) {
49             textMsg.icon = icon;
50             return true;
51         }
52         return false;
53     }
54 }
55
56 class LaunchBrowserParams extends CommandParams {
57     TextMessage confirmMsg;
58     LaunchBrowserMode mode;
59     String url;
60
61     LaunchBrowserParams(CommandDetails cmdDet, TextMessage confirmMsg,
62             String url, LaunchBrowserMode mode) {
63         super(cmdDet);
64         this.confirmMsg = confirmMsg;
65         this.mode = mode;
66         this.url = url;
67     }
68
69     boolean setIcon(Bitmap icon) {
70         if (icon != null && confirmMsg != null) {
71             confirmMsg.icon = icon;
72             return true;
73         }
74         return false;
75     }
76 }
77
78 class PlayToneParams extends CommandParams {
79     TextMessage textMsg;
80     ToneSettings settings;
81
82     PlayToneParams(CommandDetails cmdDet, TextMessage textMsg,
83             Tone tone, Duration duration, boolean vibrate) {
84         super(cmdDet);
85         this.textMsg = textMsg;
86         this.settings = new ToneSettings(duration, tone, vibrate);
87     }
88
89     boolean setIcon(Bitmap icon) {
90         if (icon != null && textMsg != null) {
91             textMsg.icon = icon;
92             return true;
93         }
94         return false;
95     }
96 }
97
98 class CallSetupParams extends CommandParams {
99     TextMessage confirmMsg;
100     TextMessage callMsg;
101
102     CallSetupParams(CommandDetails cmdDet, TextMessage confirmMsg,
103             TextMessage callMsg) {
104         super(cmdDet);
105         this.confirmMsg = confirmMsg;
106         this.callMsg = callMsg;
107     }
108
109     boolean setIcon(Bitmap icon) {
110         if (icon == null) {
111             return false;
112         }
113         if (confirmMsg != null && confirmMsg.icon == null) {
114             confirmMsg.icon = icon;
115             return true;
116         } else if (callMsg != null && callMsg.icon == null) {
117             callMsg.icon = icon;
118             return true;
119         }
120         return false;
121     }
122 }
123
124 class SelectItemParams extends CommandParams {
125     Menu menu = null;
126     boolean loadTitleIcon = false;
127
128     SelectItemParams(CommandDetails cmdDet, Menu menu, boolean loadTitleIcon) {
129         super(cmdDet);
130         this.menu = menu;
131         this.loadTitleIcon = loadTitleIcon;
132     }
133
134     boolean setIcon(Bitmap icon) {
135         if (icon != null && menu != null) {
136             if (loadTitleIcon && menu.titleIcon == null) {
137                 menu.titleIcon = icon;
138             } else {
139                 for (Item item : menu.items) {
140                     if (item.icon != null) {
141                         continue;
142                     }
143                     item.icon = icon;
144                     break;
145                 }
146             }
147             return true;
148         }
149         return false;
150     }
151 }
152
153 class GetInputParams extends CommandParams {
154     Input input = null;
155
156     GetInputParams(CommandDetails cmdDet, Input input) {
157         super(cmdDet);
158         this.input = input;
159     }
160
161     boolean setIcon(Bitmap icon) {
162         if (icon != null && input != null) {
163             input.icon = icon;
164         }
165         return true;
166     }
167 }
168
169