1.設置RTC時間,該時間是如果RCT時鍾斷電以后使用的默認時間
Android L之前:
\alps\mediatek\custom\[project]\preloader\ inc\cust_rtc.h
\alps\mediatek\custom\[project]\kernel\rtc\rtc\rtc-mt65XX.h
Android L或M:
bootable\bootloader\preloader\custom\ [project] \inc\ cust_rtc.h
#define RTC_DEFAULT_YEA 2019
#define RTC_DEFAULT_MTH 7
#define RTC_DEFAULT_DOM 1
2、修改默認日期:
framework\services\java\com\android\server\NetworkTimeUpdateService.java
/** Initialize the receivers and initiate the first NTP request */
public void systemReady() {
registerForTelephonyIntents();
registerForAlarms();
registerForConnectivityIntents();
mThread = new HandlerThread(TAG);
mThread.start();
mHandler = new MyHandler(mThread.getLooper());
// Check the network time on the new thread
mHandler.obtainMessage(EVENT_POLL_NETWORK_TIME).sendToTarget();
mSettingsObserver = new SettingsObserver(mHandler, EVENT_AUTO_TIME_CHANGED);
mSettingsObserver.observe(mContext);
/// M: comment @{ add GPS Time Sync Service
Log.d(TAG, "add GPS time sync handler and looper");
mGpsThread = new HandlerThread(TAG);
mGpsThread.start();
mGpsHandler = new MyHandler(mGpsThread.getLooper());
mGpsTimeSyncObserver = new GpsTimeSyncObserver(mGpsHandler, EVENT_GPS_TIME_SYNC_CHANGED);
mGpsTimeSyncObserver.observe(mContext);
/// @}
/// M: Configure default date/time to current year after factory reset or first bootup @{
String icsString = SystemProperties.get(ICS_BOOT_SYS_PROPERTY, "");
boolean isIcsVersion = (icsString != null && "".equals(icsString)) ? false : true;
if(isIcsVersion){
return;
}
mDefaultYear = mContext.getResources().getInteger(com.mediatek.internal.R.integer.default_restore_year);
mIsOverMobile = mContext.getResources().getBoolean(com.mediatek.internal.R.bool.config_ntp_by_mobile);
String tempString = SystemProperties.get(BOOT_SYS_PROPERTY, "");
boolean isFirstBoot = (tempString != null && "".equals(tempString)) ? true : false;
if(isFirstBoot){
tempString = SystemProperties.get("ro.kernel.qemu", "");
boolean isEmulator = "1".equals(tempString) ? true : false;
if(isEmulator){
Log.d(TAG, "isEmulator:" + tempString);
return;
}
String decryptState = SystemProperties.get("vold.decrypt", "");
Log.d(TAG, "decryptState:" + decryptState);
if("".equals(decryptState) || DECRYPT_STATE.equals(decryptState)){
Time today = new Time(Time.getCurrentTimezone());
today.setToNow();
Log.d(TAG, "First boot:" + tempString + " with date:" + today);
//today.set(today.monthDay, today.month, mDefaultYear);
today.set(1, 7, mDefaultYear);//2019.7.1
Log.d(TAG, "Set the year to " + mDefaultYear);
SystemProperties.set(BOOT_SYS_PROPERTY, "false");
SystemClock.setCurrentTimeMillis(today.toMillis(false));
}
}
///@}
}
在mediatek\frameworks\base\res\res\values\config.xml里修改
<integer name="default_restore_year">2019</integer>