18c3845ebb7e8198950510cd7a08bc8e66e2195feChris Banespackage android.support.v7.app;
28c3845ebb7e8198950510cd7a08bc8e66e2195feChris Banes/*
38c3845ebb7e8198950510cd7a08bc8e66e2195feChris Banes * Copyright (C) 2016 The Android Open Source Project
48c3845ebb7e8198950510cd7a08bc8e66e2195feChris Banes *
58c3845ebb7e8198950510cd7a08bc8e66e2195feChris Banes * Licensed under the Apache License, Version 2.0 (the "License");
68c3845ebb7e8198950510cd7a08bc8e66e2195feChris Banes * you may not use this file except in compliance with the License.
78c3845ebb7e8198950510cd7a08bc8e66e2195feChris Banes * You may obtain a copy of the License at
88c3845ebb7e8198950510cd7a08bc8e66e2195feChris Banes *
98c3845ebb7e8198950510cd7a08bc8e66e2195feChris Banes *      http://www.apache.org/licenses/LICENSE-2.0
108c3845ebb7e8198950510cd7a08bc8e66e2195feChris Banes *
118c3845ebb7e8198950510cd7a08bc8e66e2195feChris Banes * Unless required by applicable law or agreed to in writing, software
128c3845ebb7e8198950510cd7a08bc8e66e2195feChris Banes * distributed under the License is distributed on an "AS IS" BASIS,
138c3845ebb7e8198950510cd7a08bc8e66e2195feChris Banes * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
148c3845ebb7e8198950510cd7a08bc8e66e2195feChris Banes * See the License for the specific language governing permissions and
158c3845ebb7e8198950510cd7a08bc8e66e2195feChris Banes * limitations under the License.
168c3845ebb7e8198950510cd7a08bc8e66e2195feChris Banes */
178c3845ebb7e8198950510cd7a08bc8e66e2195feChris Banes
188c3845ebb7e8198950510cd7a08bc8e66e2195feChris Banesimport android.os.Bundle;
198c3845ebb7e8198950510cd7a08bc8e66e2195feChris Banesimport android.support.annotation.Nullable;
208c3845ebb7e8198950510cd7a08bc8e66e2195feChris Banesimport android.support.v4.app.Fragment;
218c3845ebb7e8198950510cd7a08bc8e66e2195feChris Banesimport android.support.v7.appcompat.test.R;
228c3845ebb7e8198950510cd7a08bc8e66e2195feChris Banesimport android.support.v7.testutils.BaseTestActivity;
238c3845ebb7e8198950510cd7a08bc8e66e2195feChris Banesimport android.view.LayoutInflater;
248c3845ebb7e8198950510cd7a08bc8e66e2195feChris Banesimport android.view.View;
258c3845ebb7e8198950510cd7a08bc8e66e2195feChris Banesimport android.view.ViewGroup;
268c3845ebb7e8198950510cd7a08bc8e66e2195feChris Banes
278c3845ebb7e8198950510cd7a08bc8e66e2195feChris Banes
288c3845ebb7e8198950510cd7a08bc8e66e2195feChris Banespublic class FragmentContentIdActivity extends BaseTestActivity {
298c3845ebb7e8198950510cd7a08bc8e66e2195feChris Banes
308c3845ebb7e8198950510cd7a08bc8e66e2195feChris Banes    @Override
318c3845ebb7e8198950510cd7a08bc8e66e2195feChris Banes    protected void onCreate(Bundle savedInstanceState) {
328c3845ebb7e8198950510cd7a08bc8e66e2195feChris Banes        super.onCreate(savedInstanceState);
338c3845ebb7e8198950510cd7a08bc8e66e2195feChris Banes
348c3845ebb7e8198950510cd7a08bc8e66e2195feChris Banes        getSupportFragmentManager().beginTransaction()
358c3845ebb7e8198950510cd7a08bc8e66e2195feChris Banes                .add(android.R.id.content, new FragmentA())
368c3845ebb7e8198950510cd7a08bc8e66e2195feChris Banes                .commit();
378c3845ebb7e8198950510cd7a08bc8e66e2195feChris Banes    }
388c3845ebb7e8198950510cd7a08bc8e66e2195feChris Banes
398c3845ebb7e8198950510cd7a08bc8e66e2195feChris Banes    @Override
408c3845ebb7e8198950510cd7a08bc8e66e2195feChris Banes    protected int getContentViewLayoutResId() {
418c3845ebb7e8198950510cd7a08bc8e66e2195feChris Banes        // We don't want to set a layout
428c3845ebb7e8198950510cd7a08bc8e66e2195feChris Banes        return 0;
438c3845ebb7e8198950510cd7a08bc8e66e2195feChris Banes    }
448c3845ebb7e8198950510cd7a08bc8e66e2195feChris Banes
458c3845ebb7e8198950510cd7a08bc8e66e2195feChris Banes    public void replaceWithFragmentB() {
468c3845ebb7e8198950510cd7a08bc8e66e2195feChris Banes        getSupportFragmentManager().beginTransaction()
478c3845ebb7e8198950510cd7a08bc8e66e2195feChris Banes                .replace(android.R.id.content, new FragmentB())
488c3845ebb7e8198950510cd7a08bc8e66e2195feChris Banes                .commit();
498c3845ebb7e8198950510cd7a08bc8e66e2195feChris Banes    }
508c3845ebb7e8198950510cd7a08bc8e66e2195feChris Banes
518c3845ebb7e8198950510cd7a08bc8e66e2195feChris Banes    public static class FragmentA extends Fragment {
528c3845ebb7e8198950510cd7a08bc8e66e2195feChris Banes        @Override
538c3845ebb7e8198950510cd7a08bc8e66e2195feChris Banes        public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container,
548c3845ebb7e8198950510cd7a08bc8e66e2195feChris Banes                @Nullable Bundle savedInstanceState) {
558c3845ebb7e8198950510cd7a08bc8e66e2195feChris Banes            View view = new View(getContext());
568c3845ebb7e8198950510cd7a08bc8e66e2195feChris Banes            view.setId(R.id.fragment_a);
578c3845ebb7e8198950510cd7a08bc8e66e2195feChris Banes            return view;
588c3845ebb7e8198950510cd7a08bc8e66e2195feChris Banes        }
598c3845ebb7e8198950510cd7a08bc8e66e2195feChris Banes    }
608c3845ebb7e8198950510cd7a08bc8e66e2195feChris Banes
618c3845ebb7e8198950510cd7a08bc8e66e2195feChris Banes    public static class FragmentB extends Fragment {
628c3845ebb7e8198950510cd7a08bc8e66e2195feChris Banes        @Nullable
638c3845ebb7e8198950510cd7a08bc8e66e2195feChris Banes        @Override
648c3845ebb7e8198950510cd7a08bc8e66e2195feChris Banes        public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container,
658c3845ebb7e8198950510cd7a08bc8e66e2195feChris Banes                @Nullable Bundle savedInstanceState) {
668c3845ebb7e8198950510cd7a08bc8e66e2195feChris Banes            View view = new View(getContext());
678c3845ebb7e8198950510cd7a08bc8e66e2195feChris Banes            view.setId(R.id.fragment_b);
688c3845ebb7e8198950510cd7a08bc8e66e2195feChris Banes            return view;
698c3845ebb7e8198950510cd7a08bc8e66e2195feChris Banes        }
708c3845ebb7e8198950510cd7a08bc8e66e2195feChris Banes    }
718c3845ebb7e8198950510cd7a08bc8e66e2195feChris Banes
728c3845ebb7e8198950510cd7a08bc8e66e2195feChris Banes}
738c3845ebb7e8198950510cd7a08bc8e66e2195feChris Banes
748c3845ebb7e8198950510cd7a08bc8e66e2195feChris Banes
758c3845ebb7e8198950510cd7a08bc8e66e2195feChris Banes
76