public abstract class

DeviceProperties

extends java.lang.Object

 java.lang.Object

↳androidx.camera.core.impl.DeviceProperties

Gradle dependencies

compile group: 'androidx.camera', name: 'camera-core', version: '1.2.0-alpha01'

  • groupId: androidx.camera
  • artifactId: camera-core
  • version: 1.2.0-alpha01

Artifact androidx.camera:camera-core:1.2.0-alpha01 it located at Google repository (https://maven.google.com/)

Overview

Container of the device properties.

Summary

Constructors
publicDeviceProperties()

Methods
public static DevicePropertiescreate()

Creates an instance by querying the properties from android.os.Build.

public static DevicePropertiescreate(java.lang.String manufacturer, java.lang.String model, int sdkVersion)

Creates an instance from the given properties.

public abstract java.lang.Stringmanufacturer()

Returns the manufacturer of the device.

public abstract java.lang.Stringmodel()

Returns the model of the device.

public abstract intsdkVersion()

Returns the SDK version of the OS running on the device.

from java.lang.Objectclone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait

Constructors

public DeviceProperties()

Methods

public static DeviceProperties create()

Creates an instance by querying the properties from android.os.Build.

public static DeviceProperties create(java.lang.String manufacturer, java.lang.String model, int sdkVersion)

Creates an instance from the given properties.

public abstract java.lang.String manufacturer()

Returns the manufacturer of the device.

public abstract java.lang.String model()

Returns the model of the device.

public abstract int sdkVersion()

Returns the SDK version of the OS running on the device.

Source

/*
 * Copyright 2019 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 androidx.camera.core.impl;

import android.os.Build;

import androidx.annotation.NonNull;
import androidx.annotation.RequiresApi;

import com.google.auto.value.AutoValue;

/**
 * Container of the device properties.
 */
@RequiresApi(21) // TODO(b/200306659): Remove and replace with annotation on package-info.java
@AutoValue
public abstract class DeviceProperties {
    /** Creates an instance by querying the properties from {@link android.os.Build}. */
    @NonNull
    public static DeviceProperties create() {
        return create(Build.MANUFACTURER, Build.MODEL, Build.VERSION.SDK_INT);
    }

    /** Creates an instance from the given properties. */
    @NonNull
    public static DeviceProperties create(@NonNull String manufacturer, @NonNull String model,
            int sdkVersion) {
        return new AutoValue_DeviceProperties(manufacturer, model, sdkVersion);
    }

    /** Returns the manufacturer of the device. */
    @NonNull
    public abstract String manufacturer();

    /** Returns the model of the device. */
    @NonNull
    public abstract String model();

    /** Returns the SDK version of the OS running on the device. */
    public abstract int sdkVersion();
}