// Copyright 2023 The Chromium Authors
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
package org.chromium.cronet_sample_apk;
import androidx.fragment.app.Fragment;
import androidx.lifecycle.ViewModel;
import java.util.HashMap;
import java.util.Map;
public class SampleActivityViewModel extends ViewModel {
private Map<Integer, Fragment> mFragmentMap = new HashMap<>();
public static final int FRAGMENT_ID_HOME = 0;
public static final int FRAGMENT_ID_FLAGS = 1;
public Fragment getFragment(int fragmentId) {
if (mFragmentMap.containsKey(fragmentId)) {
return mFragmentMap.get(fragmentId);
}
Fragment fragment;
switch (fragmentId) {
case FRAGMENT_ID_HOME:
fragment = new MainFragment();
break;
case FRAGMENT_ID_FLAGS:
fragment = new OptionsFragment();
break;
default:
throw new IllegalArgumentException(
String.format(
"Fragment %d does not map to any implementation.", fragmentId));
}
mFragmentMap.put(fragmentId, fragment);
return fragment;
}
}