1ac5fe7c617c66850fff75a9fce9979c6e5674b0fAurimas Liutikaspackage androidx.appcompat.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.view.LayoutInflater; 208c3845ebb7e8198950510cd7a08bc8e66e2195feChris Banesimport android.view.View; 218c3845ebb7e8198950510cd7a08bc8e66e2195feChris Banesimport android.view.ViewGroup; 228c3845ebb7e8198950510cd7a08bc8e66e2195feChris Banes 233de8a4e8305507475d7890205184946a25cf45e7Aurimas Liutikasimport androidx.annotation.Nullable; 243de8a4e8305507475d7890205184946a25cf45e7Aurimas Liutikasimport androidx.appcompat.test.R; 253de8a4e8305507475d7890205184946a25cf45e7Aurimas Liutikasimport androidx.appcompat.testutils.BaseTestActivity; 263de8a4e8305507475d7890205184946a25cf45e7Aurimas Liutikasimport androidx.fragment.app.Fragment; 273de8a4e8305507475d7890205184946a25cf45e7Aurimas Liutikas 288c3845ebb7e8198950510cd7a08bc8e66e2195feChris Banes 298c3845ebb7e8198950510cd7a08bc8e66e2195feChris Banespublic class FragmentContentIdActivity extends BaseTestActivity { 308c3845ebb7e8198950510cd7a08bc8e66e2195feChris Banes 318c3845ebb7e8198950510cd7a08bc8e66e2195feChris Banes @Override 328c3845ebb7e8198950510cd7a08bc8e66e2195feChris Banes protected void onCreate(Bundle savedInstanceState) { 338c3845ebb7e8198950510cd7a08bc8e66e2195feChris Banes super.onCreate(savedInstanceState); 348c3845ebb7e8198950510cd7a08bc8e66e2195feChris Banes 358c3845ebb7e8198950510cd7a08bc8e66e2195feChris Banes getSupportFragmentManager().beginTransaction() 368c3845ebb7e8198950510cd7a08bc8e66e2195feChris Banes .add(android.R.id.content, new FragmentA()) 378c3845ebb7e8198950510cd7a08bc8e66e2195feChris Banes .commit(); 388c3845ebb7e8198950510cd7a08bc8e66e2195feChris Banes } 398c3845ebb7e8198950510cd7a08bc8e66e2195feChris Banes 408c3845ebb7e8198950510cd7a08bc8e66e2195feChris Banes @Override 418c3845ebb7e8198950510cd7a08bc8e66e2195feChris Banes protected int getContentViewLayoutResId() { 428c3845ebb7e8198950510cd7a08bc8e66e2195feChris Banes // We don't want to set a layout 438c3845ebb7e8198950510cd7a08bc8e66e2195feChris Banes return 0; 448c3845ebb7e8198950510cd7a08bc8e66e2195feChris Banes } 458c3845ebb7e8198950510cd7a08bc8e66e2195feChris Banes 468c3845ebb7e8198950510cd7a08bc8e66e2195feChris Banes public void replaceWithFragmentB() { 478c3845ebb7e8198950510cd7a08bc8e66e2195feChris Banes getSupportFragmentManager().beginTransaction() 488c3845ebb7e8198950510cd7a08bc8e66e2195feChris Banes .replace(android.R.id.content, new FragmentB()) 498c3845ebb7e8198950510cd7a08bc8e66e2195feChris Banes .commit(); 508c3845ebb7e8198950510cd7a08bc8e66e2195feChris Banes } 518c3845ebb7e8198950510cd7a08bc8e66e2195feChris Banes 528c3845ebb7e8198950510cd7a08bc8e66e2195feChris Banes public static class FragmentA extends Fragment { 538c3845ebb7e8198950510cd7a08bc8e66e2195feChris Banes @Override 548c3845ebb7e8198950510cd7a08bc8e66e2195feChris Banes public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, 558c3845ebb7e8198950510cd7a08bc8e66e2195feChris Banes @Nullable Bundle savedInstanceState) { 568c3845ebb7e8198950510cd7a08bc8e66e2195feChris Banes View view = new View(getContext()); 578c3845ebb7e8198950510cd7a08bc8e66e2195feChris Banes view.setId(R.id.fragment_a); 588c3845ebb7e8198950510cd7a08bc8e66e2195feChris Banes return view; 598c3845ebb7e8198950510cd7a08bc8e66e2195feChris Banes } 608c3845ebb7e8198950510cd7a08bc8e66e2195feChris Banes } 618c3845ebb7e8198950510cd7a08bc8e66e2195feChris Banes 628c3845ebb7e8198950510cd7a08bc8e66e2195feChris Banes public static class FragmentB extends Fragment { 638c3845ebb7e8198950510cd7a08bc8e66e2195feChris Banes @Nullable 648c3845ebb7e8198950510cd7a08bc8e66e2195feChris Banes @Override 658c3845ebb7e8198950510cd7a08bc8e66e2195feChris Banes public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, 668c3845ebb7e8198950510cd7a08bc8e66e2195feChris Banes @Nullable Bundle savedInstanceState) { 678c3845ebb7e8198950510cd7a08bc8e66e2195feChris Banes View view = new View(getContext()); 688c3845ebb7e8198950510cd7a08bc8e66e2195feChris Banes view.setId(R.id.fragment_b); 698c3845ebb7e8198950510cd7a08bc8e66e2195feChris Banes return view; 708c3845ebb7e8198950510cd7a08bc8e66e2195feChris Banes } 718c3845ebb7e8198950510cd7a08bc8e66e2195feChris Banes } 728c3845ebb7e8198950510cd7a08bc8e66e2195feChris Banes 738c3845ebb7e8198950510cd7a08bc8e66e2195feChris Banes} 748c3845ebb7e8198950510cd7a08bc8e66e2195feChris Banes 758c3845ebb7e8198950510cd7a08bc8e66e2195feChris Banes 768c3845ebb7e8198950510cd7a08bc8e66e2195feChris Banes 77