2015-06-29 19:12:11 +02:00
|
|
|
/*
|
2019-01-23 18:03:33 +01:00
|
|
|
* This is the source code of Telegram for Android v. 5.x.x.
|
2015-06-29 19:12:11 +02:00
|
|
|
* It is licensed under GNU GPL v. 2 or later.
|
|
|
|
* You should have received a copy of the license in this archive (see LICENSE).
|
|
|
|
*
|
2019-01-23 18:03:33 +01:00
|
|
|
* Copyright Nikolai Kudashov, 2013-2018.
|
2015-06-29 19:12:11 +02:00
|
|
|
*/
|
|
|
|
|
|
|
|
package org.telegram.ui.Cells;
|
|
|
|
|
2016-05-25 23:49:47 +02:00
|
|
|
import android.annotation.SuppressLint;
|
2015-06-29 19:12:11 +02:00
|
|
|
import android.content.Context;
|
2019-08-22 01:53:26 +02:00
|
|
|
import android.graphics.Bitmap;
|
|
|
|
import android.graphics.BitmapFactory;
|
2018-07-30 04:07:02 +02:00
|
|
|
import android.graphics.PorterDuff;
|
|
|
|
import android.graphics.PorterDuffColorFilter;
|
2015-06-29 19:12:11 +02:00
|
|
|
import android.widget.FrameLayout;
|
|
|
|
import android.widget.ImageView;
|
|
|
|
|
2015-09-24 22:52:02 +02:00
|
|
|
import org.telegram.messenger.AndroidUtilities;
|
2019-08-22 01:53:26 +02:00
|
|
|
import org.telegram.messenger.ApplicationLoader;
|
2016-05-25 23:49:47 +02:00
|
|
|
import org.telegram.messenger.R;
|
2018-07-30 04:07:02 +02:00
|
|
|
import org.telegram.ui.ActionBar.Theme;
|
2015-06-29 19:12:11 +02:00
|
|
|
import org.telegram.ui.Components.LayoutHelper;
|
|
|
|
|
2019-08-22 01:53:26 +02:00
|
|
|
import java.io.File;
|
|
|
|
|
2016-05-25 23:49:47 +02:00
|
|
|
@SuppressLint("NewApi")
|
2015-06-29 19:12:11 +02:00
|
|
|
public class PhotoAttachCameraCell extends FrameLayout {
|
|
|
|
|
2021-09-20 00:10:42 +02:00
|
|
|
private final Theme.ResourcesProvider resourcesProvider;
|
2018-07-30 04:07:02 +02:00
|
|
|
private ImageView imageView;
|
2019-08-22 01:53:26 +02:00
|
|
|
private ImageView backgroundView;
|
|
|
|
private int itemSize;
|
2018-07-30 04:07:02 +02:00
|
|
|
|
2021-09-20 00:10:42 +02:00
|
|
|
public PhotoAttachCameraCell(Context context, Theme.ResourcesProvider resourcesProvider) {
|
2015-06-29 19:12:11 +02:00
|
|
|
super(context);
|
2021-09-20 00:10:42 +02:00
|
|
|
this.resourcesProvider = resourcesProvider;
|
2015-06-29 19:12:11 +02:00
|
|
|
|
2019-08-22 01:53:26 +02:00
|
|
|
backgroundView = new ImageView(context);
|
|
|
|
backgroundView.setScaleType(ImageView.ScaleType.CENTER_CROP);
|
|
|
|
//backgroundView.setAdjustViewBounds(false);
|
|
|
|
addView(backgroundView, LayoutHelper.createFrame(80, 80));
|
|
|
|
|
2018-07-30 04:07:02 +02:00
|
|
|
imageView = new ImageView(context);
|
2015-06-29 19:12:11 +02:00
|
|
|
imageView.setScaleType(ImageView.ScaleType.CENTER);
|
2016-05-25 23:49:47 +02:00
|
|
|
imageView.setImageResource(R.drawable.instant_camera);
|
2015-06-29 19:12:11 +02:00
|
|
|
addView(imageView, LayoutHelper.createFrame(80, 80));
|
2019-05-14 14:08:05 +02:00
|
|
|
setFocusable(true);
|
2019-08-22 01:53:26 +02:00
|
|
|
|
|
|
|
itemSize = AndroidUtilities.dp(0);
|
2015-06-29 19:12:11 +02:00
|
|
|
}
|
|
|
|
|
|
|
|
@Override
|
|
|
|
protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) {
|
2019-08-22 01:53:26 +02:00
|
|
|
super.onMeasure(MeasureSpec.makeMeasureSpec(itemSize + AndroidUtilities.dp(5), MeasureSpec.EXACTLY), MeasureSpec.makeMeasureSpec(itemSize + AndroidUtilities.dp(5), MeasureSpec.EXACTLY));
|
|
|
|
}
|
|
|
|
|
|
|
|
public void setItemSize(int size) {
|
|
|
|
itemSize = size;
|
|
|
|
|
|
|
|
LayoutParams layoutParams = (LayoutParams) imageView.getLayoutParams();
|
|
|
|
layoutParams.width = layoutParams.height = itemSize;
|
|
|
|
|
|
|
|
layoutParams = (LayoutParams) backgroundView.getLayoutParams();
|
|
|
|
layoutParams.width = layoutParams.height = itemSize;
|
2015-06-29 19:12:11 +02:00
|
|
|
}
|
2018-07-30 04:07:02 +02:00
|
|
|
|
|
|
|
public ImageView getImageView() {
|
|
|
|
return imageView;
|
|
|
|
}
|
|
|
|
|
|
|
|
@Override
|
|
|
|
protected void onAttachedToWindow() {
|
|
|
|
super.onAttachedToWindow();
|
2021-09-20 11:14:20 +02:00
|
|
|
imageView.setColorFilter(new PorterDuffColorFilter(getThemedColor(Theme.key_dialogCameraIcon), PorterDuff.Mode.SRC_IN));
|
2018-07-30 04:07:02 +02:00
|
|
|
}
|
2019-08-22 01:53:26 +02:00
|
|
|
|
|
|
|
public void updateBitmap() {
|
|
|
|
Bitmap bitmap = null;
|
|
|
|
try {
|
|
|
|
File file = new File(ApplicationLoader.getFilesDirFixed(), "cthumb.jpg");
|
|
|
|
bitmap = BitmapFactory.decodeFile(file.getAbsolutePath());
|
|
|
|
} catch (Throwable ignore) {
|
|
|
|
|
|
|
|
}
|
|
|
|
if (bitmap != null) {
|
|
|
|
backgroundView.setImageBitmap(bitmap);
|
|
|
|
} else {
|
|
|
|
backgroundView.setImageResource(R.drawable.icplaceholder);
|
|
|
|
}
|
|
|
|
}
|
2021-09-20 00:10:42 +02:00
|
|
|
|
|
|
|
protected int getThemedColor(String key) {
|
|
|
|
Integer color = resourcesProvider != null ? resourcesProvider.getColor(key) : null;
|
|
|
|
return color != null ? color : Theme.getColor(key);
|
|
|
|
}
|
2015-06-29 19:12:11 +02:00
|
|
|
}
|