blob: 8130638c35b21ecbedba457d6fa13c2efe78ea00 [file] [log] [blame]
/*
* Copyright (C) 2021 The Android Open Source Project
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package com.android.car.rotaryplayground;
import android.app.Activity;
import android.os.Bundle;
import android.util.DisplayMetrics;
import android.view.LayoutInflater;
import android.view.SurfaceView;
import android.view.View;
import android.view.ViewGroup;
import android.view.WindowManager;
import androidx.annotation.Nullable;
import androidx.fragment.app.Fragment;
/** Fragment to demo a {@link SurfaceView} behind some buttons. */
public class SurfaceViewFragment extends Fragment {
private CustomSurfaceView mSurfaceView;
@Override
public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container,
@Nullable Bundle savedInstanceState) {
View view = inflater.inflate(R.layout.surface_view_fragment, container, false);
mSurfaceView = view.findViewById(R.id.surface_view);
// Some buttons sit on top of the left part of the SurfaceView, so tailor its left bound
// so that RotaryService can find the correct nudge target.
mSurfaceView.setBoundsOffset(300, 0, 0, 0);
makeItFullScreen();
return view;
}
private void makeItFullScreen() {
Activity activity = getActivity();
activity.getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN,
WindowManager.LayoutParams.FLAG_FULLSCREEN);
DisplayMetrics displayMetrics = new DisplayMetrics();
activity.getWindowManager().getDefaultDisplay().getMetrics(displayMetrics);
ViewGroup.LayoutParams layoutParams = mSurfaceView.getLayoutParams();
layoutParams.width = displayMetrics.widthPixels;
layoutParams.height = displayMetrics.heightPixels;
}
}