1/*
2 * Copyright (C) 2008 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
17package com.android.statusbartest;
18
19import android.app.ListActivity;
20import android.app.PendingIntent;
21import android.widget.ArrayAdapter;
22import android.view.View;
23import android.widget.ListView;
24import android.content.Intent;
25import android.os.Bundle;
26import android.os.Handler;
27import android.util.Log;
28import android.net.Uri;
29import android.os.SystemClock;
30import android.view.Gravity;
31import android.widget.RemoteViews;
32import android.widget.Toast;
33import android.widget.TextView;
34import android.os.PowerManager;
35
36import java.io.FileReader;
37import java.io.IOException;
38
39public class ToastTest extends TestActivity
40{
41    private final static String TAG = "ToastTest";
42
43    Handler mHandler = new Handler();
44    Toast mToast1;
45    Toast mToast2;
46
47    @Override
48    protected String tag() {
49        return TAG;
50    }
51
52    @Override
53    protected Test[] tests() {
54        return mTests;
55    }
56
57    private static String readFile(String fn) {
58        FileReader f;
59        int len;
60
61        f = null;
62        try {
63            f = new FileReader(fn);
64            String s = "";
65            char[] cbuf = new char[200];
66            while ((len = f.read(cbuf, 0, cbuf.length)) >= 0) {
67                s += String.valueOf(cbuf, 0, len);
68            }
69            return s;
70        } catch (IOException ex) {
71            return "ERROR";
72        } finally {
73            if (f != null) {
74                try {
75                    f.close();
76                } catch (IOException ex) {
77                    return "ERROR!";
78                }
79            }
80        }
81    }
82
83    private Test[] mTests = new Test[] {
84        new Test("Read lights") {
85            public void run()
86            {
87                String text = "freq=" + readFile("/sys/class/leds/red/device/grpfreq")
88                        + "\npwm=" + readFile("/sys/class/leds/red/device/grppwm");
89                mToast1 = Toast.makeText(ToastTest.this, text, Toast.LENGTH_SHORT);
90                mToast1.show();
91            }
92        },
93
94        new Test("Make Toast #1") {
95            public void run()
96            {
97                mToast1 = Toast.makeText(ToastTest.this, "hi 1", Toast.LENGTH_SHORT);
98            }
99        },
100
101        new Test("Show Toast #1") {
102            public void run()
103            {
104                mToast1.show();
105            }
106        },
107
108        new Test("Update Toast #1") {
109            public void run()
110            {
111                TextView view = new TextView(ToastTest.this);
112                view.setText("replaced!");
113                mToast1.setView(view);
114                mToast1.show();
115            }
116        },
117
118        new Test("Make Toast #2") {
119            public void run()
120            {
121                mToast2 = Toast.makeText(ToastTest.this, "hi 2", Toast.LENGTH_SHORT);
122            }
123        },
124
125        new Test("Show Toast #2") {
126            public void run()
127            {
128                mToast2.show();
129            }
130        },
131
132        new Test("Gravity Toast LEFT") {
133            public void run()
134            {
135                Toast toast = Toast.makeText(ToastTest.this, "LEFT", Toast.LENGTH_SHORT);
136                toast.setGravity(Gravity.LEFT, 0, 0);
137                toast.show();
138            }
139        },
140
141        new Test("Gravity Toast FILL_HORIZONTAL") {
142            public void run()
143            {
144                Toast toast = Toast.makeText(ToastTest.this, "FILL_HORIZONTAL",
145                        Toast.LENGTH_SHORT);
146                toast.setGravity(Gravity.FILL_HORIZONTAL, 0, 0);
147                toast.show();
148            }
149        },
150
151    };
152}
153
154