blob: 8a6a4cd9599181542161b06bb65e345bd911d4c1 [file] [log] [blame]
/*
* Copyright (C) 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 com.android.keyguard.clock;
import android.content.res.Resources;
import android.graphics.Bitmap;
import android.graphics.BitmapFactory;
import android.graphics.Paint.Style;
import android.view.LayoutInflater;
import android.view.View;
import android.widget.TextView;
import com.android.keyguard.R;
import com.android.systemui.plugins.ClockPlugin;
import java.util.TimeZone;
/**
* Plugin for the default clock face used only to provide a preview.
*/
public class DefaultClockController implements ClockPlugin {
/**
* Resources used to get title and thumbnail.
*/
private final Resources mResources;
/**
* LayoutInflater used to inflate custom clock views.
*/
private final LayoutInflater mLayoutInflater;
/**
* Root view of preview.
*/
private View mView;
/**
* Text clock in preview view hierarchy.
*/
private TextView mTextTime;
/**
* Date showing below time in preview view hierarchy.
*/
private TextView mTextDate;
/**
* Create a DefaultClockController instance.
*
* @param inflater Inflater used to inflate custom clock views.
*/
public DefaultClockController(Resources res, LayoutInflater inflater) {
mResources = res;
mLayoutInflater = inflater;
}
private void createViews() {
mView = mLayoutInflater.inflate(R.layout.default_clock_preview, null);
mTextTime = mView.findViewById(R.id.time);
mTextDate = mView.findViewById(R.id.date);
}
@Override
public String getName() {
return "default";
}
@Override
public String getTitle() {
return mResources.getString(R.string.clock_title_default);
}
@Override
public Bitmap getThumbnail() {
return BitmapFactory.decodeResource(mResources, R.drawable.default_thumbnail);
}
@Override
public View getView() {
return null;
}
@Override
public View getBigClockView() {
if (mView == null) {
createViews();
}
return mView;
}
@Override
public void setStyle(Style style) {}
@Override
public void setTextColor(int color) {
mTextTime.setTextColor(color);
mTextDate.setTextColor(color);
}
@Override
public void setColorPalette(boolean supportsDarkText, int[] colorPalette) {}
@Override
public void onTimeTick() {
}
@Override
public void setDarkAmount(float darkAmount) {}
@Override
public void onTimeZoneChanged(TimeZone timeZone) {}
@Override
public boolean shouldShowStatusArea() {
return true;
}
}