blob: ac0bdae9e814380c76d9ad9a9d0815454922e406 [file] [log] [blame]
/*
* Copyright (C) 2016 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.google.android.car.kitchensink.displayinfo;
import android.annotation.Nullable;
import android.content.Context;
import android.content.res.Resources;
import android.graphics.Point;
import android.os.Bundle;
import android.util.DisplayMetrics;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.LinearLayout;
import android.widget.TextView;
import androidx.fragment.app.Fragment;
import com.google.android.car.kitchensink.R;
/**
* Shows alert dialogs
*/
public class DisplayInfoFragment extends Fragment {
private LinearLayout list;
@Nullable
@Override
public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container,
@Nullable Bundle savedInstanceState) {
View view = inflater.inflate(R.layout.display_info, container, false);
list = (LinearLayout) view.findViewById(R.id.list);
return view;
}
@Override
public void onStart() {
super.onStart();
Point screenSize = new Point();
getActivity().getWindowManager().getDefaultDisplay().getSize(screenSize);
addTextView("window size(px): " + screenSize.x + " x " + screenSize.y);
addTextView("display density(dpi): " + getResources().getDisplayMetrics().densityDpi);
addTextView("display default density(dpi): "
+ getResources().getDisplayMetrics().DENSITY_DEFAULT);
addTextView("======================================");
addTextView("All size are in DP.");
View rootView = getActivity().findViewById(android.R.id.content);
addTextView("view size: "
+ convertPixelsToDp(rootView.getWidth(), getContext())
+ " x " + convertPixelsToDp(rootView.getHeight(), getContext()));
addTextView("window size: "
+ convertPixelsToDp(screenSize.x, getContext())
+ " x " + convertPixelsToDp(screenSize.y, getContext()));
addDimenText("car_keyline_1");
addDimenText("car_keyline_2");
addDimenText("car_keyline_3");
addDimenText("car_keyline_4");
addDimenText("car_margin");
addDimenText("car_gutter_size");
addDimenText("car_primary_icon_size");
addDimenText("car_secondary_icon_size");
addDimenText("car_title_size");
addDimenText("car_title2_size");
addDimenText("car_headline1_size");
addDimenText("car_headline2_size");
addDimenText("car_headline3_size");
addDimenText("car_headline4_size");
addDimenText("car_body1_size");
addDimenText("car_body2_size");
addDimenText("car_body3_size");
addDimenText("car_body4_size");
addDimenText("car_body5_size");
addDimenText("car_action1_size");
addDimenText("car_touch_target_size");
addDimenText("car_action_bar_height");
}
private void addDimenText(String dimenName) {
addTextView(dimenName + " : " + convertPixelsToDp(
getResources().getDimensionPixelSize(
getResources().getIdentifier(
dimenName, "dimen", getContext().getPackageName())),
getContext()));
}
private void addTextView(String text) {
TextView textView = new TextView(getContext());
textView.setTextAppearance(R.style.TextAppearance_Car_Body2);
textView.setText(text);
list.addView(textView);
}
private static float convertPixelsToDp(float px, Context context){
Resources resources = context.getResources();
DisplayMetrics metrics = resources.getDisplayMetrics();
float dp = px / ((float) metrics.densityDpi / DisplayMetrics.DENSITY_DEFAULT);
return dp;
}
}