1419d20ae123f53226ccefb7d28d8a40add8ffd0aChung-yih Wang/*
2419d20ae123f53226ccefb7d28d8a40add8ffd0aChung-yih Wang * Copyright (C) 2011 The Android Open Source Project
3419d20ae123f53226ccefb7d28d8a40add8ffd0aChung-yih Wang *
4419d20ae123f53226ccefb7d28d8a40add8ffd0aChung-yih Wang * Licensed under the Apache License, Version 2.0 (the "License");
5419d20ae123f53226ccefb7d28d8a40add8ffd0aChung-yih Wang * you may not use this file except in compliance with the License.
6419d20ae123f53226ccefb7d28d8a40add8ffd0aChung-yih Wang * You may obtain a copy of the License at
7419d20ae123f53226ccefb7d28d8a40add8ffd0aChung-yih Wang *
8419d20ae123f53226ccefb7d28d8a40add8ffd0aChung-yih Wang *      http://www.apache.org/licenses/LICENSE-2.0
9419d20ae123f53226ccefb7d28d8a40add8ffd0aChung-yih Wang *
10419d20ae123f53226ccefb7d28d8a40add8ffd0aChung-yih Wang * Unless required by applicable law or agreed to in writing, software
11419d20ae123f53226ccefb7d28d8a40add8ffd0aChung-yih Wang * distributed under the License is distributed on an "AS IS" BASIS,
12419d20ae123f53226ccefb7d28d8a40add8ffd0aChung-yih Wang * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13419d20ae123f53226ccefb7d28d8a40add8ffd0aChung-yih Wang * See the License for the specific language governing permissions and
14419d20ae123f53226ccefb7d28d8a40add8ffd0aChung-yih Wang * limitations under the License.
15419d20ae123f53226ccefb7d28d8a40add8ffd0aChung-yih Wang */
16419d20ae123f53226ccefb7d28d8a40add8ffd0aChung-yih Wang
17419d20ae123f53226ccefb7d28d8a40add8ffd0aChung-yih Wangpackage com.android.camera.ui;
18419d20ae123f53226ccefb7d28d8a40add8ffd0aChung-yih Wang
19419d20ae123f53226ccefb7d28d8a40add8ffd0aChung-yih Wangimport com.android.camera.R;
20419d20ae123f53226ccefb7d28d8a40add8ffd0aChung-yih Wangimport com.android.camera.Util;
21419d20ae123f53226ccefb7d28d8a40add8ffd0aChung-yih Wang
22419d20ae123f53226ccefb7d28d8a40add8ffd0aChung-yih Wangimport android.app.Activity;
23419d20ae123f53226ccefb7d28d8a40add8ffd0aChung-yih Wangimport android.os.Handler;
24419d20ae123f53226ccefb7d28d8a40add8ffd0aChung-yih Wangimport android.view.LayoutInflater;
25419d20ae123f53226ccefb7d28d8a40add8ffd0aChung-yih Wangimport android.view.View;
26419d20ae123f53226ccefb7d28d8a40add8ffd0aChung-yih Wangimport android.view.ViewGroup;
27419d20ae123f53226ccefb7d28d8a40add8ffd0aChung-yih Wangimport android.widget.TextView;
28419d20ae123f53226ccefb7d28d8a40add8ffd0aChung-yih Wang
29419d20ae123f53226ccefb7d28d8a40add8ffd0aChung-yih Wangpublic class RotateTextToast {
30419d20ae123f53226ccefb7d28d8a40add8ffd0aChung-yih Wang    private static final int TOAST_DURATION = 5000; // milliseconds
31419d20ae123f53226ccefb7d28d8a40add8ffd0aChung-yih Wang    ViewGroup mLayoutRoot;
32419d20ae123f53226ccefb7d28d8a40add8ffd0aChung-yih Wang    RotateLayout mToast;
33419d20ae123f53226ccefb7d28d8a40add8ffd0aChung-yih Wang    Handler mHandler;
34419d20ae123f53226ccefb7d28d8a40add8ffd0aChung-yih Wang
35419d20ae123f53226ccefb7d28d8a40add8ffd0aChung-yih Wang    public RotateTextToast(Activity activity, int textResourceId, int orientation) {
36419d20ae123f53226ccefb7d28d8a40add8ffd0aChung-yih Wang        mLayoutRoot = (ViewGroup) activity.getWindow().getDecorView();
37419d20ae123f53226ccefb7d28d8a40add8ffd0aChung-yih Wang        LayoutInflater inflater = activity.getLayoutInflater();
38419d20ae123f53226ccefb7d28d8a40add8ffd0aChung-yih Wang        View v = inflater.inflate(R.layout.rotate_text_toast, mLayoutRoot);
39419d20ae123f53226ccefb7d28d8a40add8ffd0aChung-yih Wang        mToast = (RotateLayout) v.findViewById(R.id.rotate_toast);
40419d20ae123f53226ccefb7d28d8a40add8ffd0aChung-yih Wang        TextView tv = (TextView) mToast.findViewById(R.id.message);
41419d20ae123f53226ccefb7d28d8a40add8ffd0aChung-yih Wang        tv.setText(textResourceId);
42419d20ae123f53226ccefb7d28d8a40add8ffd0aChung-yih Wang        mToast.setOrientation(orientation);
43419d20ae123f53226ccefb7d28d8a40add8ffd0aChung-yih Wang        mHandler = new Handler();
44419d20ae123f53226ccefb7d28d8a40add8ffd0aChung-yih Wang    }
45419d20ae123f53226ccefb7d28d8a40add8ffd0aChung-yih Wang
46419d20ae123f53226ccefb7d28d8a40add8ffd0aChung-yih Wang    private final Runnable mRunnable = new Runnable() {
47419d20ae123f53226ccefb7d28d8a40add8ffd0aChung-yih Wang        public void run() {
48419d20ae123f53226ccefb7d28d8a40add8ffd0aChung-yih Wang            Util.fadeOut(mToast);
49419d20ae123f53226ccefb7d28d8a40add8ffd0aChung-yih Wang            mLayoutRoot.removeView(mToast);
50419d20ae123f53226ccefb7d28d8a40add8ffd0aChung-yih Wang            mToast = null;
51419d20ae123f53226ccefb7d28d8a40add8ffd0aChung-yih Wang        }
52419d20ae123f53226ccefb7d28d8a40add8ffd0aChung-yih Wang    };
53419d20ae123f53226ccefb7d28d8a40add8ffd0aChung-yih Wang
54419d20ae123f53226ccefb7d28d8a40add8ffd0aChung-yih Wang    public void show() {
55419d20ae123f53226ccefb7d28d8a40add8ffd0aChung-yih Wang        mToast.setVisibility(View.VISIBLE);
56419d20ae123f53226ccefb7d28d8a40add8ffd0aChung-yih Wang        mHandler.postDelayed(mRunnable, TOAST_DURATION);
57419d20ae123f53226ccefb7d28d8a40add8ffd0aChung-yih Wang    }
58419d20ae123f53226ccefb7d28d8a40add8ffd0aChung-yih Wang}
59