Compare commits

..

16 Commits

Author SHA1 Message Date
ZhanGSKen
19b8251182 <timestamp>APK 15.0.14 release Publish. 2025-05-07 13:59:51 +08:00
ZhanGSKen
4dadb15c0c <timestamp>APK 15.0.13 release Publish. 2025-05-07 13:59:38 +08:00
ZhanGSKen
21b5487513 设置时间戳初始数据 2025-05-07 13:58:56 +08:00
ZhanGSKen
f49c8141a8 <timestamp>APK 15.0.12 release Publish. 2025-05-07 13:48:06 +08:00
ZhanGSKen
6f3ce092ca 调整调试版与阶段版的消息发送 2025-05-07 13:47:26 +08:00
ZhanGSKen
29785be88d 修复信息显示 2025-05-07 13:46:21 +08:00
ZhanGSKen
3f809e4c7a <timestamp>APK 15.0.11 release Publish. 2025-05-07 13:33:12 +08:00
ZhanGSKen
9c3c485ecd 更新Maven库地址 2025-05-07 13:32:10 +08:00
ZhanGSKen
336511931d <timestamp>APK 15.0.10 release Publish. 2025-05-07 12:09:48 +08:00
ZhanGSKen
d3da3304ee 统一时间戳数据生成方法 2025-05-07 11:58:48 +08:00
ZhanGSKen
a5295a0744 更新Maven库地址 2025-05-07 11:58:14 +08:00
ZhanGSKen
9b761b35ce <timestamp>APK 15.0.9 release Publish. 2025-05-07 10:56:24 +08:00
ZhanGSKen
5206f8781e 初始数据 BugFix. 2025-05-07 10:55:46 +08:00
ZhanGSKen
2c0a5bfe65 更新默认时间戳显示格式 2025-05-07 10:51:48 +08:00
ZhanGSKen
49bce0f773 <timestamp>APK 15.0.8 release Publish. 2025-05-07 10:48:11 +08:00
ZhanGSKen
07c6778212 优化UI显示 2025-05-07 10:47:19 +08:00
9 changed files with 88 additions and 43 deletions

View File

@@ -1,6 +1,8 @@
// Top-level build file where you can add configuration options common to all sub-projects/modules.
buildscript {
repositories {
//本地 maven 库
maven { url "file:///sdcard/.aide/maven/" }
// Nexus Maven 库地址
// "WinBoLL Release"
maven { url "https://nexus.winboll.cc/repository/maven-public/" }
@@ -26,6 +28,8 @@ buildscript {
allprojects {
repositories {
//本地 maven 库
maven { url "file:///sdcard/.aide/maven/" }
// Nexus Maven 库地址
// "WinBoLL Release"
maven { url "https://nexus.winboll.cc/repository/maven-public/" }

View File

@@ -1,8 +1,8 @@
#Created by .winboll/winboll_app_build.gradle
#Wed May 07 02:58:13 HKT 2025
stageCount=8
#Wed May 07 13:59:51 HKT 2025
stageCount=15
libraryProject=
baseVersion=15.0
publishVersion=15.0.7
publishVersion=15.0.14
buildCount=0
baseBetaVersion=15.0.8
baseBetaVersion=15.0.15

View File

@@ -26,10 +26,7 @@ import cc.winboll.studio.timestamp.receivers.ButtonClickReceiver;
import cc.winboll.studio.timestamp.utils.AppConfigsUtil;
import cc.winboll.studio.timestamp.utils.NotificationHelper;
import cc.winboll.studio.timestamp.utils.ServiceUtil;
import java.time.Instant;
import java.time.LocalDateTime;
import java.time.ZoneId;
import java.time.format.DateTimeFormatter;
import cc.winboll.studio.timestamp.utils.TimeStampUtil;
public class MainService extends Service {
@@ -211,15 +208,10 @@ public class MainService extends Service {
switch (message.what) {
case MSG_UPDATE_TIMESTAMP:
{
long currentMillis = System.currentTimeMillis();
Instant instant = Instant.ofEpochMilli(currentMillis);
LocalDateTime ldt = LocalDateTime.ofInstant(instant, ZoneId.systemDefault());
String szTimeStampFormatString = AppConfigsUtil.getInstance(MainService.this).getAppConfigsModel().getTimeStampFormatString();
DateTimeFormatter formatter = DateTimeFormatter.ofPattern(szTimeStampFormatString);
String formattedDateTime = ldt.format(formatter);
mNotificationHelper.sendForegroundNotification(MainService.this, "时间戳:\n" + formattedDateTime + "\n已拷贝到剪贴板。");
String szTimeStampShowString = TimeStampUtil.getInstance(MainService.this).getTimeStampShowString();
mNotificationHelper.sendForegroundNotification(MainService.this, "时间戳:\n" + szTimeStampShowString + "\n已拷贝到剪贴板。");
LogUtils.d(TAG, "Hello, World! " + formattedDateTime);
LogUtils.d(TAG, "Hello, World! " + szTimeStampShowString);
break;
}
default:

View File

@@ -25,8 +25,8 @@ public class AppConfigsModel extends BaseBean {
public AppConfigsModel() {
this.isEnableService = false;
this.timeStampFormatString = "yyyy-MM-dd HH:mm:ss";
this.timeStampCopyFormatString = "yyyy_MM_dd-HH_mm_ss";
this.timeStampFormatString = "yyyy-MM-dd HH:mm:ss SSS";
this.timeStampCopyFormatString = "yyyy_MM_dd-HH_mm_ss-SSS";
}
public void setTimeStampCopyFormatString(String timeStampCopyFormatString) {

View File

@@ -10,36 +10,27 @@ import android.content.Context;
import android.content.Intent;
import android.widget.Toast;
import cc.winboll.studio.libappbase.LogUtils;
import cc.winboll.studio.timestamp.BuildConfig;
import cc.winboll.studio.timestamp.MainService;
import cc.winboll.studio.timestamp.utils.AppConfigsUtil;
import cc.winboll.studio.timestamp.utils.ClipboardUtil;
import java.time.Instant;
import java.time.LocalDateTime;
import java.time.ZoneId;
import java.time.format.DateTimeFormatter;
import cc.winboll.studio.timestamp.utils.TimeStampUtil;
public class ButtonClickReceiver extends BroadcastReceiver {
public static final String TAG = "ButtonClickReceiver";
public static final String BUTTON_COPYTIMESTAMP_ACTION = "cc.winboll.studio.timestamp.receivers.ButtonClickReceiver.BUTTON_COPYTIMESTAMP_ACTION";
public static final String BUTTON_COPYTIMESTAMP_ACTION = ButtonClickReceiver.class.getName() + (BuildConfig.DEBUG ?".DEBUG_": ".") + "BUTTON_COPYTIMESTAMP_ACTION";
@Override
public void onReceive(Context context, Intent intent) {
LogUtils.d(TAG, "onReceive");
if (intent.getAction().equals(BUTTON_COPYTIMESTAMP_ACTION)) {
// 在这里编写按钮点击后要执行的代码
long currentMillis = System.currentTimeMillis();
Instant instant = Instant.ofEpochMilli(currentMillis);
LocalDateTime ldt = LocalDateTime.ofInstant(instant, ZoneId.systemDefault());
String szTimeStampFormatString = AppConfigsUtil.getInstance(context).getAppConfigsModel().getTimeStampCopyFormatString();
DateTimeFormatter formatter = DateTimeFormatter.ofPattern(szTimeStampFormatString);
String formattedDateTime = ldt.format(formatter);
ClipboardUtil.copyTextToClipboard(context, formattedDateTime);
TimeStampUtil.getInstance(context).genTimeStamp();
ClipboardUtil.copyTextToClipboard(context, TimeStampUtil.getInstance(context).getTimeStampCopyString());
// 比如显示一个Toast
Toast.makeText(context, "时间戳:\n" + formattedDateTime + "\n已拷贝到剪贴板。", Toast.LENGTH_SHORT).show();
Toast.makeText(context, "时间戳:\n" + TimeStampUtil.getInstance(context).getTimeStampCopyString() + "\n已拷贝到剪贴板。", Toast.LENGTH_SHORT).show();
MainService.updateCopiedTimeStamp();
}
}

View File

@@ -22,12 +22,12 @@ public class AppConfigsUtil {
AppConfigsUtil(Context context) {
this.mContext = context;
loadAppConfigs();
}
public synchronized static AppConfigsUtil getInstance(Context context){
if(_AppConfigsUtil == null) {
_AppConfigsUtil = new AppConfigsUtil(context);
_AppConfigsUtil.loadAppConfigs();
}
return _AppConfigsUtil;
}
@@ -42,8 +42,8 @@ public class AppConfigsUtil {
if (appConfigsModel != null) {
mAppConfigsModel = appConfigsModel;
} else {
saveAppConfigs(new AppConfigsModel());
_AppConfigsUtil = this;
mAppConfigsModel = new AppConfigsModel();
saveAppConfigs(mAppConfigsModel);
}
return mAppConfigsModel;
}

View File

@@ -0,0 +1,58 @@
package cc.winboll.studio.timestamp.utils;
/**
* @Author ZhanGSKen
* @Date 2025/05/07 11:03
* @Describe TimeStampUtil
*/
import android.content.Context;
import java.time.Instant;
import java.time.LocalDateTime;
import java.time.ZoneId;
import java.time.format.DateTimeFormatter;
public class TimeStampUtil {
public static final String TAG = "TimeStampUtil";
volatile static TimeStampUtil _TimeStampUtil;
Context mContext;
long mTimeStamp;
TimeStampUtil(Context context) {
mContext = context;
mTimeStamp = System.currentTimeMillis();
}
public synchronized static TimeStampUtil getInstance(Context context) {
if (_TimeStampUtil == null) {
_TimeStampUtil = new TimeStampUtil(context);
}
return _TimeStampUtil;
}
public void genTimeStamp() {
mTimeStamp = System.currentTimeMillis();
}
public String getTimeStampShowString() {
long currentMillis = mTimeStamp;
Instant instant = Instant.ofEpochMilli(currentMillis);
LocalDateTime ldt = LocalDateTime.ofInstant(instant, ZoneId.systemDefault());
String szTimeStampFormatString = AppConfigsUtil.getInstance(mContext).getAppConfigsModel().getTimeStampFormatString();
DateTimeFormatter formatter = DateTimeFormatter.ofPattern(szTimeStampFormatString);
String formattedDateTime = ldt.format(formatter);
return formattedDateTime;
}
public String getTimeStampCopyString() {
long currentMillis = mTimeStamp;
Instant instant = Instant.ofEpochMilli(currentMillis);
LocalDateTime ldt = LocalDateTime.ofInstant(instant, ZoneId.systemDefault());
String szTimeStampFormatString = AppConfigsUtil.getInstance(mContext).getAppConfigsModel().getTimeStampCopyFormatString();
DateTimeFormatter formatter = DateTimeFormatter.ofPattern(szTimeStampFormatString);
String formattedDateTime = ldt.format(formatter);
return formattedDateTime;
}
}

View File

@@ -28,21 +28,21 @@
<Switch
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="启用通知栏计时器"
android:text="启用时间戳常驻通知栏"
android:id="@+id/activitymainSwitch1"
android:onClick="onSetMainServiceStatus"/>
</LinearLayout>
<LinearLayout
android:orientation="horizontal"
android:orientation="vertical"
android:layout_width="match_parent"
android:layout_height="wrap_content">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Show Format :"
android:text="Show Format Preview:"
android:paddingRight="10dp"/>
<TextView
@@ -69,7 +69,7 @@
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="ApplySave"
android:text="ApplyShow"
android:id="@+id/btn_saveformatstring"
android:textAllCaps="false"
android:onClick="onSaveFormatString"/>
@@ -77,14 +77,14 @@
</LinearLayout>
<LinearLayout
android:orientation="horizontal"
android:orientation="vertical"
android:layout_width="match_parent"
android:layout_height="wrap_content">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Copy Format :"
android:text="Copy Format Preview:"
android:paddingRight="10dp"/>
<TextView

View File

@@ -13,7 +13,7 @@
android:layout_height="wrap_content"
android:text="Text"
android:textColor="#000000"
android:textSize="18sp"
android:textSize="14sp"
android:layout_weight="1.0"/>
<Button