| /* |
| * 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; |
| } |
| } |