12a7e7a08d9843d5386b2d245c096cbc1ce203e35Fabrice Di Meglio/*
22a7e7a08d9843d5386b2d245c096cbc1ce203e35Fabrice Di Meglio * Copyright (C) 2012 The Android Open Source Project
32a7e7a08d9843d5386b2d245c096cbc1ce203e35Fabrice Di Meglio *
42a7e7a08d9843d5386b2d245c096cbc1ce203e35Fabrice Di Meglio * Licensed under the Apache License, Version 2.0 (the "License");
52a7e7a08d9843d5386b2d245c096cbc1ce203e35Fabrice Di Meglio * you may not use this file except in compliance with the License.
62a7e7a08d9843d5386b2d245c096cbc1ce203e35Fabrice Di Meglio * You may obtain a copy of the License at
72a7e7a08d9843d5386b2d245c096cbc1ce203e35Fabrice Di Meglio *
82a7e7a08d9843d5386b2d245c096cbc1ce203e35Fabrice Di Meglio *      http://www.apache.org/licenses/LICENSE-2.0
92a7e7a08d9843d5386b2d245c096cbc1ce203e35Fabrice Di Meglio *
102a7e7a08d9843d5386b2d245c096cbc1ce203e35Fabrice Di Meglio * Unless required by applicable law or agreed to in writing, software
112a7e7a08d9843d5386b2d245c096cbc1ce203e35Fabrice Di Meglio * distributed under the License is distributed on an "AS IS" BASIS,
122a7e7a08d9843d5386b2d245c096cbc1ce203e35Fabrice Di Meglio * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
132a7e7a08d9843d5386b2d245c096cbc1ce203e35Fabrice Di Meglio * See the License for the specific language governing permissions and
142a7e7a08d9843d5386b2d245c096cbc1ce203e35Fabrice Di Meglio * limitations under the License.
152a7e7a08d9843d5386b2d245c096cbc1ce203e35Fabrice Di Meglio */
162a7e7a08d9843d5386b2d245c096cbc1ce203e35Fabrice Di Meglio
172a7e7a08d9843d5386b2d245c096cbc1ce203e35Fabrice Di Megliopackage com.android.bidi;
182a7e7a08d9843d5386b2d245c096cbc1ce203e35Fabrice Di Meglio
192a7e7a08d9843d5386b2d245c096cbc1ce203e35Fabrice Di Meglioimport android.app.Fragment;
202a7e7a08d9843d5386b2d245c096cbc1ce203e35Fabrice Di Meglioimport android.content.Context;
212a7e7a08d9843d5386b2d245c096cbc1ce203e35Fabrice Di Meglioimport android.os.Bundle;
222a7e7a08d9843d5386b2d245c096cbc1ce203e35Fabrice Di Meglioimport android.view.LayoutInflater;
232a7e7a08d9843d5386b2d245c096cbc1ce203e35Fabrice Di Meglioimport android.view.View;
242a7e7a08d9843d5386b2d245c096cbc1ce203e35Fabrice Di Meglioimport android.view.ViewGroup;
250d2bda319d4d66d8fc840b043d3aacee9a8414dbFabrice Di Meglioimport android.widget.GridLayout;
262a7e7a08d9843d5386b2d245c096cbc1ce203e35Fabrice Di Meglioimport android.widget.*;
272a7e7a08d9843d5386b2d245c096cbc1ce203e35Fabrice Di Meglio
282a7e7a08d9843d5386b2d245c096cbc1ce203e35Fabrice Di Meglioimport static android.text.InputType.*;
292a7e7a08d9843d5386b2d245c096cbc1ce203e35Fabrice Di Meglioimport static android.widget.GridLayout.*;
302a7e7a08d9843d5386b2d245c096cbc1ce203e35Fabrice Di Meglio
312a7e7a08d9843d5386b2d245c096cbc1ce203e35Fabrice Di Megliopublic class BiDiTestGridLayoutCodeRtl extends Fragment {
322a7e7a08d9843d5386b2d245c096cbc1ce203e35Fabrice Di Meglio
332a7e7a08d9843d5386b2d245c096cbc1ce203e35Fabrice Di Meglio    private FrameLayout currentView;
342a7e7a08d9843d5386b2d245c096cbc1ce203e35Fabrice Di Meglio
352a7e7a08d9843d5386b2d245c096cbc1ce203e35Fabrice Di Meglio    @Override
362a7e7a08d9843d5386b2d245c096cbc1ce203e35Fabrice Di Meglio    public View onCreateView(LayoutInflater inflater, ViewGroup container,
372a7e7a08d9843d5386b2d245c096cbc1ce203e35Fabrice Di Meglio            Bundle savedInstanceState) {
382a7e7a08d9843d5386b2d245c096cbc1ce203e35Fabrice Di Meglio        currentView = (FrameLayout) inflater.inflate(R.layout.grid_layout_code, container, false);
392a7e7a08d9843d5386b2d245c096cbc1ce203e35Fabrice Di Meglio        return currentView;
402a7e7a08d9843d5386b2d245c096cbc1ce203e35Fabrice Di Meglio    }
412a7e7a08d9843d5386b2d245c096cbc1ce203e35Fabrice Di Meglio
422a7e7a08d9843d5386b2d245c096cbc1ce203e35Fabrice Di Meglio    @Override
432a7e7a08d9843d5386b2d245c096cbc1ce203e35Fabrice Di Meglio    public void onViewCreated(View view, Bundle savedInstanceState) {
442a7e7a08d9843d5386b2d245c096cbc1ce203e35Fabrice Di Meglio        super.onViewCreated(view, savedInstanceState);
452a7e7a08d9843d5386b2d245c096cbc1ce203e35Fabrice Di Meglio        currentView.addView(create(currentView.getContext()));
462a7e7a08d9843d5386b2d245c096cbc1ce203e35Fabrice Di Meglio    }
472a7e7a08d9843d5386b2d245c096cbc1ce203e35Fabrice Di Meglio
482a7e7a08d9843d5386b2d245c096cbc1ce203e35Fabrice Di Meglio    public static View create(Context context) {
492a7e7a08d9843d5386b2d245c096cbc1ce203e35Fabrice Di Meglio        GridLayout layout = new GridLayout(context);
502a7e7a08d9843d5386b2d245c096cbc1ce203e35Fabrice Di Meglio        layout.setUseDefaultMargins(true);
512a7e7a08d9843d5386b2d245c096cbc1ce203e35Fabrice Di Meglio        layout.setAlignmentMode(ALIGN_BOUNDS);
522a7e7a08d9843d5386b2d245c096cbc1ce203e35Fabrice Di Meglio        layout.setRowOrderPreserved(false);
532a7e7a08d9843d5386b2d245c096cbc1ce203e35Fabrice Di Meglio        layout.setLayoutDirection(View.LAYOUT_DIRECTION_RTL);
542a7e7a08d9843d5386b2d245c096cbc1ce203e35Fabrice Di Meglio
552a7e7a08d9843d5386b2d245c096cbc1ce203e35Fabrice Di Meglio        Spec row1 = spec(0);
562a7e7a08d9843d5386b2d245c096cbc1ce203e35Fabrice Di Meglio        Spec row2 = spec(1);
572a7e7a08d9843d5386b2d245c096cbc1ce203e35Fabrice Di Meglio        Spec row3 = spec(2, BASELINE);
582a7e7a08d9843d5386b2d245c096cbc1ce203e35Fabrice Di Meglio        Spec row4 = spec(3, BASELINE);
592a7e7a08d9843d5386b2d245c096cbc1ce203e35Fabrice Di Meglio        Spec row5 = spec(2, 3, FILL); // allow the last two rows to overlap the middle two
602a7e7a08d9843d5386b2d245c096cbc1ce203e35Fabrice Di Meglio        Spec row6 = spec(5);
612a7e7a08d9843d5386b2d245c096cbc1ce203e35Fabrice Di Meglio        Spec row7 = spec(6);
622a7e7a08d9843d5386b2d245c096cbc1ce203e35Fabrice Di Meglio
632a7e7a08d9843d5386b2d245c096cbc1ce203e35Fabrice Di Meglio        Spec col1a = spec(0, 4, CENTER);
640d2bda319d4d66d8fc840b043d3aacee9a8414dbFabrice Di Meglio        Spec col1b = spec(0, 4, LEFT);
650d2bda319d4d66d8fc840b043d3aacee9a8414dbFabrice Di Meglio        Spec col1c = spec(0, RIGHT);
662a7e7a08d9843d5386b2d245c096cbc1ce203e35Fabrice Di Meglio        Spec col2 = spec(1, START);
672a7e7a08d9843d5386b2d245c096cbc1ce203e35Fabrice Di Meglio        Spec col3 = spec(2, FILL);
682a7e7a08d9843d5386b2d245c096cbc1ce203e35Fabrice Di Meglio        Spec col4a = spec(3);
692a7e7a08d9843d5386b2d245c096cbc1ce203e35Fabrice Di Meglio        Spec col4b = spec(3, FILL);
702a7e7a08d9843d5386b2d245c096cbc1ce203e35Fabrice Di Meglio
712a7e7a08d9843d5386b2d245c096cbc1ce203e35Fabrice Di Meglio        {
722a7e7a08d9843d5386b2d245c096cbc1ce203e35Fabrice Di Meglio            TextView c = new TextView(context);
732a7e7a08d9843d5386b2d245c096cbc1ce203e35Fabrice Di Meglio            c.setTextSize(32);
742a7e7a08d9843d5386b2d245c096cbc1ce203e35Fabrice Di Meglio            c.setText("Email setup");
752a7e7a08d9843d5386b2d245c096cbc1ce203e35Fabrice Di Meglio            layout.addView(c, new GridLayout.LayoutParams(row1, col1a));
762a7e7a08d9843d5386b2d245c096cbc1ce203e35Fabrice Di Meglio        }
772a7e7a08d9843d5386b2d245c096cbc1ce203e35Fabrice Di Meglio        {
782a7e7a08d9843d5386b2d245c096cbc1ce203e35Fabrice Di Meglio            TextView c = new TextView(context);
792a7e7a08d9843d5386b2d245c096cbc1ce203e35Fabrice Di Meglio            c.setTextSize(16);
802a7e7a08d9843d5386b2d245c096cbc1ce203e35Fabrice Di Meglio            c.setText("You can configure email in just a few steps:");
812a7e7a08d9843d5386b2d245c096cbc1ce203e35Fabrice Di Meglio            layout.addView(c, new GridLayout.LayoutParams(row2, col1b));
822a7e7a08d9843d5386b2d245c096cbc1ce203e35Fabrice Di Meglio        }
832a7e7a08d9843d5386b2d245c096cbc1ce203e35Fabrice Di Meglio        {
842a7e7a08d9843d5386b2d245c096cbc1ce203e35Fabrice Di Meglio            TextView c = new TextView(context);
852a7e7a08d9843d5386b2d245c096cbc1ce203e35Fabrice Di Meglio            c.setText("Email address:");
862a7e7a08d9843d5386b2d245c096cbc1ce203e35Fabrice Di Meglio            layout.addView(c, new GridLayout.LayoutParams(row3, col1c));
872a7e7a08d9843d5386b2d245c096cbc1ce203e35Fabrice Di Meglio        }
882a7e7a08d9843d5386b2d245c096cbc1ce203e35Fabrice Di Meglio        {
892a7e7a08d9843d5386b2d245c096cbc1ce203e35Fabrice Di Meglio            EditText c = new EditText(context);
902a7e7a08d9843d5386b2d245c096cbc1ce203e35Fabrice Di Meglio            c.setEms(10);
912a7e7a08d9843d5386b2d245c096cbc1ce203e35Fabrice Di Meglio            c.setInputType(TYPE_CLASS_TEXT | TYPE_TEXT_VARIATION_EMAIL_ADDRESS);
922a7e7a08d9843d5386b2d245c096cbc1ce203e35Fabrice Di Meglio            layout.addView(c, new GridLayout.LayoutParams(row3, col2));
932a7e7a08d9843d5386b2d245c096cbc1ce203e35Fabrice Di Meglio        }
942a7e7a08d9843d5386b2d245c096cbc1ce203e35Fabrice Di Meglio        {
952a7e7a08d9843d5386b2d245c096cbc1ce203e35Fabrice Di Meglio            TextView c = new TextView(context);
962a7e7a08d9843d5386b2d245c096cbc1ce203e35Fabrice Di Meglio            c.setText("Password:");
972a7e7a08d9843d5386b2d245c096cbc1ce203e35Fabrice Di Meglio            layout.addView(c, new GridLayout.LayoutParams(row4, col1c));
982a7e7a08d9843d5386b2d245c096cbc1ce203e35Fabrice Di Meglio        }
992a7e7a08d9843d5386b2d245c096cbc1ce203e35Fabrice Di Meglio        {
1002a7e7a08d9843d5386b2d245c096cbc1ce203e35Fabrice Di Meglio            TextView c = new EditText(context);
1012a7e7a08d9843d5386b2d245c096cbc1ce203e35Fabrice Di Meglio            c.setEms(8);
1022a7e7a08d9843d5386b2d245c096cbc1ce203e35Fabrice Di Meglio            c.setInputType(TYPE_CLASS_TEXT | TYPE_TEXT_VARIATION_PASSWORD);
1032a7e7a08d9843d5386b2d245c096cbc1ce203e35Fabrice Di Meglio            layout.addView(c, new GridLayout.LayoutParams(row4, col2));
1042a7e7a08d9843d5386b2d245c096cbc1ce203e35Fabrice Di Meglio        }
1052a7e7a08d9843d5386b2d245c096cbc1ce203e35Fabrice Di Meglio        {
1062a7e7a08d9843d5386b2d245c096cbc1ce203e35Fabrice Di Meglio            Space c = new Space(context);
1072a7e7a08d9843d5386b2d245c096cbc1ce203e35Fabrice Di Meglio            layout.addView(c, new GridLayout.LayoutParams(row5, col3));
1082a7e7a08d9843d5386b2d245c096cbc1ce203e35Fabrice Di Meglio        }
1092a7e7a08d9843d5386b2d245c096cbc1ce203e35Fabrice Di Meglio        {
1102a7e7a08d9843d5386b2d245c096cbc1ce203e35Fabrice Di Meglio            Button c = new Button(context);
1112a7e7a08d9843d5386b2d245c096cbc1ce203e35Fabrice Di Meglio            c.setText("Manual setup");
1122a7e7a08d9843d5386b2d245c096cbc1ce203e35Fabrice Di Meglio            layout.addView(c, new GridLayout.LayoutParams(row6, col4a));
1132a7e7a08d9843d5386b2d245c096cbc1ce203e35Fabrice Di Meglio        }
1142a7e7a08d9843d5386b2d245c096cbc1ce203e35Fabrice Di Meglio        {
1152a7e7a08d9843d5386b2d245c096cbc1ce203e35Fabrice Di Meglio            Button c = new Button(context);
1162a7e7a08d9843d5386b2d245c096cbc1ce203e35Fabrice Di Meglio            c.setText("Next");
1172a7e7a08d9843d5386b2d245c096cbc1ce203e35Fabrice Di Meglio            layout.addView(c, new GridLayout.LayoutParams(row7, col4b));
1182a7e7a08d9843d5386b2d245c096cbc1ce203e35Fabrice Di Meglio        }
1192a7e7a08d9843d5386b2d245c096cbc1ce203e35Fabrice Di Meglio
1202a7e7a08d9843d5386b2d245c096cbc1ce203e35Fabrice Di Meglio        return layout;
1212a7e7a08d9843d5386b2d245c096cbc1ce203e35Fabrice Di Meglio    }
1222a7e7a08d9843d5386b2d245c096cbc1ce203e35Fabrice Di Meglio}
123