forked from organicmaps/organicmaps
[android] Refactor getLocalDate
and add drawableToBitmap
. For Android Auto support
Signed-off-by: Andrew Shkrob <andrew.shkrob.social@yandex.by>
This commit is contained in:
parent
3a1700ab1f
commit
174c291cf8
3 changed files with 45 additions and 22 deletions
|
@ -17,13 +17,10 @@ import app.organicmaps.R;
|
|||
import app.organicmaps.base.BaseMwmFragment;
|
||||
import app.organicmaps.util.Config;
|
||||
import app.organicmaps.util.Constants;
|
||||
import app.organicmaps.util.DateUtils;
|
||||
import app.organicmaps.util.Graphics;
|
||||
import app.organicmaps.util.Utils;
|
||||
|
||||
import java.text.SimpleDateFormat;
|
||||
import java.util.Date;
|
||||
import java.util.Locale;
|
||||
|
||||
public class HelpFragment extends BaseMwmFragment implements View.OnClickListener
|
||||
{
|
||||
private String mDonateUrl;
|
||||
|
@ -36,22 +33,6 @@ public class HelpFragment extends BaseMwmFragment implements View.OnClickListene
|
|||
Graphics.tint(view);
|
||||
}
|
||||
|
||||
// Converts 220131 to locale-dependent date (e.g. 31 January 2022),
|
||||
private String localDate(long v)
|
||||
{
|
||||
final SimpleDateFormat format = new SimpleDateFormat("yyMMdd", Locale.getDefault());
|
||||
final String strVersion = String.valueOf(v);
|
||||
try {
|
||||
final Date date = format.parse(strVersion);
|
||||
if (date == null)
|
||||
return strVersion;
|
||||
return java.text.DateFormat.getDateInstance().format(date);
|
||||
} catch (java.text.ParseException e) {
|
||||
e.printStackTrace();
|
||||
return strVersion;
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState)
|
||||
{
|
||||
|
@ -62,7 +43,7 @@ public class HelpFragment extends BaseMwmFragment implements View.OnClickListene
|
|||
.setText(BuildConfig.VERSION_NAME);
|
||||
|
||||
((TextView) root.findViewById(R.id.data_version))
|
||||
.setText(getString(R.string.data_version, localDate(Framework.nativeGetDataVersion())));
|
||||
.setText(getString(R.string.data_version, DateUtils.getLocalDate(Framework.nativeGetDataVersion())));
|
||||
|
||||
setupItem(R.id.news, true, root);
|
||||
setupItem(R.id.web, true, root);
|
||||
|
|
|
@ -5,9 +5,11 @@ import android.content.Context;
|
|||
import androidx.annotation.NonNull;
|
||||
|
||||
import java.text.DateFormat;
|
||||
import java.text.SimpleDateFormat;
|
||||
import java.util.Date;
|
||||
import java.util.Locale;
|
||||
|
||||
public class DateUtils
|
||||
public final class DateUtils
|
||||
{
|
||||
private DateUtils()
|
||||
{
|
||||
|
@ -29,4 +31,23 @@ public class DateUtils
|
|||
{
|
||||
return android.text.format.DateFormat.is24HourFormat(context);
|
||||
}
|
||||
|
||||
// Converts 220131 to locale-dependent date (e.g. 31 January 2022),
|
||||
@NonNull
|
||||
public static String getLocalDate(long v)
|
||||
{
|
||||
final SimpleDateFormat format = new SimpleDateFormat("yyMMdd", Locale.getDefault());
|
||||
final String strVersion = String.valueOf(v);
|
||||
try
|
||||
{
|
||||
final Date date = format.parse(strVersion);
|
||||
if (date == null)
|
||||
return strVersion;
|
||||
return java.text.DateFormat.getDateInstance().format(date);
|
||||
} catch (java.text.ParseException e)
|
||||
{
|
||||
e.printStackTrace();
|
||||
return strVersion;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -141,5 +141,26 @@ public final class Graphics
|
|||
return res;
|
||||
}
|
||||
|
||||
@NonNull
|
||||
public static Bitmap drawableToBitmap(@NonNull Drawable drawable)
|
||||
{
|
||||
if (drawable instanceof BitmapDrawable)
|
||||
{
|
||||
final BitmapDrawable bitmapDrawable = (BitmapDrawable) drawable;
|
||||
if (bitmapDrawable.getBitmap() != null)
|
||||
{
|
||||
return bitmapDrawable.getBitmap();
|
||||
}
|
||||
}
|
||||
|
||||
final int drawableWidth = drawable.getIntrinsicWidth() <= 0 ? 1 : drawable.getIntrinsicWidth();
|
||||
final int drawableHeight = drawable.getIntrinsicHeight() <= 0 ? 1 : drawable.getIntrinsicHeight();
|
||||
final Bitmap bitmap = Bitmap.createBitmap(drawableWidth, drawableHeight, Bitmap.Config.ARGB_8888);
|
||||
final Canvas canvas = new Canvas(bitmap);
|
||||
drawable.setBounds(0, 0, canvas.getWidth(), canvas.getHeight());
|
||||
drawable.draw(canvas);
|
||||
return bitmap;
|
||||
}
|
||||
|
||||
private Graphics() {}
|
||||
}
|
||||
|
|
Loading…
Add table
Reference in a new issue