您的位置:首页 > 移动开发 > Android开发

Android6.0 MTK 需求文档(五)

2016-12-14 11:22 281 查看
一:图库中的照片全屏显示

(packages/apps/Gallery2/)

第一种:

diff--gita/src/com/android/gallery3d/app/PhotoPage.javab/src/com/android/gallery3d/app/PhotoPage.java
index0592bf4..e2667d3100755
---a/src/com/android/gallery3d/app/PhotoPage.java
+++b/src/com/android/gallery3d/app/PhotoPage.java
@@-39,6+39,9@@importandroid.content.pm.ResolveInfo;
importandroid.content.res.Configuration;
importandroid.graphics.Rect;
importandroid.net.Uri;
+importandroid.view.WindowManager;
+importandroid.view.Window;
+importandroid.graphics.Color;
importandroid.nfc.NfcAdapter;
importandroid.nfc.NfcAdapter.CreateBeamUrisCallback;
importandroid.nfc.NfcEvent;
@@-1237,6+1240,9@@publicabstractclassPhotoPageextendsActivityStateimplements
if(mShowBars)return;
mShowBars=true;
mOrientationManager.unlockOrientation();
+Windowwin=mActivity.getWindow();
+win.addFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN);
+win.addFlags(WindowManager.LayoutParams.FLAG_TRANSLUCENT_NAVIGATION);
mActionBar.show();
mActivity.getGLRoot().setLightsOutMode(false);
///M:[FEATURE.MODIFY]automaticlayervisibilitychange@{
@@-1260,7+1266,21@@publicabstractclassPhotoPageextendsActivityStateimplements
if(!mShowBars)return;
mShowBars=false;
mActionBar.hide();
-mActivity.getGLRoot().setLightsOutMode(true);
+Windowwin=mActivity.getWindow();
+win.clearFlags(WindowManager.LayoutParams.FLAG_TRANSLUCENT_NAVIGATION);
+intflags=(View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN
+
+|View.SYSTEM_UI_FLAG_HIDE_NAVIGATION
+
+|View.SYSTEM_UI_FLAG_FULLSCREEN
+
+|View.SYSTEM_UI_FLAG_IMMERSIVE_STICKY
+
+|View.SYSTEM_UI_FLAG_LAYOUT_STABLE);
+
+win.getDecorView().setSystemUiVisibility(flags);
+win.setNavigationBarColor(Color.TRANSPARENT);
+//mActivity.getGLRoot().setLightsOutMode(true);
mHandler.removeMessages(MSG_HIDE_BARS);
refreshBottomControlsWhenReady();
}
@@-2168,6+2188,9@@publicabstractclassPhotoPageextendsActivityStateimplements
mSensorManager.registerListener(this,proxmitySensor,SensorManager.SENSOR_DELAY_NORMAL);
}
//EndofVanzo:hanshengpeng
+Windowwin=mActivity.getWindow();
+win.addFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN);
+win.addFlags(WindowManager.LayoutParams.FLAG_TRANSLUCENT_NAVIGATION);
if(mMuteVideo!=null){
mMuteVideo.setMuteHasPaused(false);
mMuteVideo.needPlayMuteVideo();
@@-2252,6+2275,9@@publicabstractclassPhotoPageextendsActivityStateimplements
mScreenNailSet=null;
mScreenNailItem=null;
}
+Windowwin=mActivity.getWindow();
+win.clearFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN);
+win.clearFlags(WindowManager.LayoutParams.FLAG_TRANSLUCENT_NAVIGATION);
mActivity.getGLRoot().setOrientationSource(null);
if(mBottomControls!=null)mBottomControls.cleanup();

第二种:

diff--gita/src/com/android/gallery3d/app/PhotoPage.javab/src/com/android/gallery3d/app/PhotoPage.java
index0df2170..9b522cd100755
---a/src/com/android/gallery3d/app/PhotoPage.java
+++b/src/com/android/gallery3d/app/PhotoPage.java
@@-116,6+116,9@@importcom.mediatek.galleryframework.base.BottomControlLayer;
importcom.mediatek.galleryframework.base.PhotoPageBottomViewControls;
importcom.mediatek.galleryframework.base.LayerManager;
importcom.mediatek.galleryframework.base.MediaData;
+importandroid.view.WindowManager;
+importandroid.view.Window;
+importandroid.graphics.Color;
/*Vanzo:hanshengpengon:Sun,24Jan201614:44:43+0800
*/
importandroid.os.SystemProperties;
@@-1183,6+1186,8@@publicabstractclassPhotoPageextendsActivityStateimplements
if(mShowBars)return;
mShowBars=true;
mOrientationManager.unlockOrientation();
+Windowwin=mActivity.getWindow();
+win.clearFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN);
mActionBar.show();
mActivity.getGLRoot().setLightsOutMode(false);
///M:[FEATURE.MODIFY]automaticlayervisibilitychange@{
@@-1206,6+1211,9@@publicabstractclassPhotoPageextendsActivityStateimplements
if(!mShowBars)return;
mShowBars=false;
mActionBar.hide();
+Windowwin=mActivity.getWindow();
+win.addFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN);
+win.addFlags(WindowManager.LayoutParams.FLAG_TRANSLUCENT_NAVIGATION);
mActivity.getGLRoot().setLightsOutMode(true);
mHandler.removeMessages(MSG_HIDE_BARS);
refreshBottomControlsWhenReady();
@@-2165,6+2173,7@@publicabstractclassPhotoPageextendsActivityStateimplements
mScreenNailSet=null;
mScreenNailItem=null;
}
+
mActivity.getGLRoot().setOrientationSource(null);
if(mBottomControls!=null)mBottomControls.cleanup();


二:默认壁纸不自动生成到壁纸列表中

(packages/apps/Launcher3/WallpaperPicker/src/com/android/launcher3/WallpaperPickerActivity.java)

diff--gita/WallpaperPicker/src/com/android/launcher3/WallpaperPickerActivity.javab/WallpaperPicker/src/com/android/launcher3/WallpaperPickerActivity.java
indexe299302..5ac7b2b100755
---a/WallpaperPicker/src/com/android/launcher3/WallpaperPickerActivity.java
+++b/WallpaperPicker/src/com/android/launcher3/WallpaperPickerActivity.java
@@-1059,11+1059,15@@publicclassWallpaperPickerActivityextendsWallpaperCropActivity{

if(partner==null||!partner.hideDefaultWallpaper()){
//Addanentryforthedefaultwallpaper(storedinsystemresources)
+/*
+*TODO:replacethislinewithyourcomment
WallpaperTileInfodefaultWallpaperInfo=Utilities.ATLEAST_KITKAT
?getDefaultWallpaper():getPreKKDefaultWallpaperInfo();
if(defaultWallpaperInfo!=null){
bundled.add(0,defaultWallpaperInfo);
}
+*/
+//EndofVanzo:yujianpeng
}
returnbundled;
}


三:wifi默认关闭

(packages/apps/Launcher3/)

diff--gita/AndroidManifest.xmlb/AndroidManifest.xml
indexdf22272..8929289100755
---a/AndroidManifest.xml
+++b/AndroidManifest.xml
@@-70,6+70,8@@
<uses-permissionandroid:name="com.android.launcher3.permission.RECEIVE_FIRST_LOAD_BROADCAST"/>
<!--M:hideappsactivityrequiresthispermissiontogetpackagesize.-->
<uses-permissionandroid:name="android.permission.GET_PACKAGE_SIZE"/>
+<uses-permissionandroid:name="android.permission.CHANGE_WIFI_STATE"/>
+<uses-permissionandroid:name="android.permission.ACCESS_NETWORK_STATE"/>
<!--M:ALSP02141215,androidsecuritypatch.-->
<uses-permissionandroid:name="android.permission.GET_TASKS"/
4000
>
<!--M:ALSP02241595,addMANAGE_USERSpermission.-->
diff--gita/src/com/android/launcher3/Launcher.javab/src/com/android/launcher3/Launcher.java
index9366659..7c30d9d100644
---a/src/com/android/launcher3/Launcher.java
+++b/src/com/android/launcher3/Launcher.java
@@-146,6+146,9@@importandroid.hardware.SensorEvent;
importandroid.hardware.SensorEventListener;
importandroid.hardware.SensorManager;
importcom.android.featureoption.FeatureOption;
+importandroid.net.NetworkInfo;
+importandroid.net.wifi.WifiManager;
+importandroid.net.ConnectivityManager;
//EndofVanzo:hanshengpeng

/**
@@-5163,6+5166,18@@publicclassLauncherextendsActivity
editor.apply();
}

+privatevoidcloseWifiGps(){
+//Intentsh=newIntent("com.android.settings.location.CLOSE");
+//sendBroadcast(sh);
+finalWifiManagerwifiManager=(WifiManager)getApplicationContext().getSystemService(Context.WIFI_SERVICE);
+ConnectivityManagercon=(ConnectivityManager)getSystemService(Context.CONNECTIVITY_SERVICE);
+NetworkInfonetWork=con.getNetworkInfo(ConnectivityManager.TYPE_WIFI);
+if(wifiManager==null||netWork.isConnected()){
+return;
+}
+wifiManager.setWifiEnabled(false);
+}
+
@ThunkvoidshowFirstRunClings(){
//Thetwofirstrunclingpathsaremutuallyexclusive,ifthelauncherispreinstalled
//onthedevice,thenwealwaysshowthefirstrunclingexperience(orifthereisno
@@-5175,6+5190,7@@publicclassLauncherextendsActivity
}else{
launcherClings.showLongPressCling(true);
}
+closeWifiGps();
}
}


四:手机插入SD卡时,默认存储器为SD卡

(packages/apps/Settings/)

diff--gita/AndroidManifest.xmlb/AndroidManifest.xml
indexc8b252a..bed2c41100644
---a/AndroidManifest.xml
+++b/AndroidManifest.xml
@@-3173,6+3173,12@@addfpcontrol
</intent-filter>
</receiver>
<!--EndofVanzo:fenghaitao-->
-
+<receiverandroid:name=".UsbBroadCastReceiver">
+<intent-filterandroid:priority="1000">
+<actionandroid:name="android.intent.action.MEDIA_MOUNTED"/>
+<actionandroid:name="android.intent.action.MEDIA_EJECT"/>
+<dataandroid:scheme="file"/>
+</intent-filter>
+</receiver>
</application>
</manifest>
diff--gita/src/com/android/settings/UsbBroadCastReceiver.javab/src/com/android/settings/UsbBroadCastReceiver.java
newfilemode100644
index0000000..b578167
---/dev/null
+++b/src/com/android/settings/UsbBroadCastReceiver.java
@@-0,0+1,26@@
+packagecom.android.settings;
+
+importandroid.content.BroadcastReceiver;
+importandroid.content.Context;
+importandroid.content.Intent;
+importandroid.provider.Settings;
+importandroid.util.Log;
+importandroid.os.storage.IMountService;
+importcom.mediatek.storage.StorageManagerEx;
+
+publicclassUsbBroadCastReceiverextendsBroadcastReceiver{
+StringTAG="UsbBroadCastReceiver";
+StringExternalStoragePath=StorageManagerEx.getExternalStoragePath();
+
+
+publicvoidonReceive(Contextcontext,Intentintent){
+
+Log.i(TAG,"receivechangerequest");
+if(Intent.ACTION_MEDIA_MOUNTED.equals(intent.getAction())){
+StorageManagerEx.setDefaultPath(ExternalStoragePath);
+}
+}
+
+}


五:GPS默认节电模式

(packages/apps/Settings/src/com/android/settings/location/LocationSettings.java)

diff--gita/src/com/android/settings/location/LocationSettings.javab/src/com/android/settings/location/LocationSettings.java
index3b71e79..3324c4d100644
---a/src/com/android/settings/location/LocationSettings.java
+++b/src/com/android/settings/location/LocationSettings.java
@@-385,7+385,7@@publicclassLocationSettingsextendsLocationSettingsBase
@Override
publicvoidonSwitchChanged(SwitchswitchView,booleanisChecked){
if(isChecked){
-setLocationMode(android.provider.Settings.Secure.LOCATION_MODE_HIGH_ACCURACY);
+setLocationMode(android.provider.Settings.Secure.LOCATION_MODE_BATTERY_SAVING);
}else{
setLocationMode(android.provider.Settings.Secure.LOCATION_MODE_OFF);
}


六:更改在线壁纸名称

(packages/apps/Settings/src/com/android/settings/WallpaperTypeSettings.java)

diff--gita/src/com/android/settings/WallpaperTypeSettings.javab/src/com/android/settings/WallpaperTypeSettings.java
index9046bfb..138167c100644
---a/src/com/android/settings/WallpaperTypeSettings.java
+++b/src/com/android/settings/WallpaperTypeSettings.java
@@-31,6+31,8@@importcom.android.settings.search.SearchIndexableRaw;

importjava.util.ArrayList;
importjava.util.List;
+importjava.util.Locale;

publicclassWallpaperTypeSettingsextendsSettingsPreferenceFragmentimplementsIndexable{

@@-70,7+72,14@@publicclassWallpaperTypeSettingsextendsSettingsPreferenceFragmentimplements
pref.setIntent(prefIntent);
CharSequencelabel=info.loadLabel(pm);
if(label==null)label=info.activityInfo.packageName;
-pref.setTitle(label);
+Stringlocale=Locale.getDefault().getLanguage();
+if("es".equals(locale)&&label.equals("OnlineWallpaper")){
+pref.setTitle("Fondodepantallaenlínea");
+}else{
+pref.setTitle(label);
+}
parent.addPreference(pref);
}
}


七:相机默认防闪做到60

(vendor/mediatek/proprietary/packages/apps/Camera/res/values/arrays.xml)

diff--gita/mediatek/proprietary/packages/apps/Camera/res/values/arrays.xmlb/mediatek/proprietary/packages/apps/Camera/res/values/arrays.xml
index607f6a0..a01f714100755
---a/mediatek/proprietary/packages/apps/Camera/res/values/arrays.xml
+++b/mediatek/proprietary/packages/apps/Camera/res/values/arrays.xml
@@-684,6+684,7@@add16M16_9
</string-array>
<!--Defaultantibandingsetting.-->
<string-arrayname="pref_camera_antibanding_default_array"translatable="false">
+<item>60hz</item>
<item>auto</item>
<item>off</item>
<item>50hz</item>


八:文件管理改变可用空间到4.16G和总容量8G

(vendor/mediatek/proprietary/packages/apps/FileManager/src/com/mediatek/filemanager/FileInfoAdapter.java)

diff--gita/mediatek/proprietary/packages/apps/FileManager/src/com/mediatek/filemanager/FileInfoAdapter.javab/mediatek/proprietary/packages/apps/FileManager/src/com/mediatek/filemanager/FileInfoAdapter.java
index47b8813..ccceac6100644
---a/mediatek/proprietary/packages/apps/FileManager/src/com/mediatek/filemanager/FileInfoAdapter.java
+++b/mediatek/proprietary/packages/apps/FileManager/src/com/mediatek/filemanager/FileInfoAdapter.java
@@-47,7+47,7@@importandroid.view.ViewGroup;
importandroid.widget.BaseAdapter;
importandroid.widget.ImageView;
importandroid.widget.TextView;
importcom.mediatek.filemanager.service.FileManagerService;
importcom.mediatek.filemanager.utils.FileUtils;
importcom.mediatek.filemanager.utils.LogUtils;
@@-319,8+319,10@@publicclassFileInfoAdapterextendsBaseAdapter{
if(fileInfo.isDirectory()){
if(MountPointManager.getInstance().isMountPoint(fileInfo.getFileAbsolutePath())){
StringBuildersb=newStringBuilder();
-StringfreeSpaceString=FileUtils.sizeToString(MountPointManager.getInstance().getMountPointFreeSpace(fileInfo.getFileAbsolutePath()));
-StringtotalSpaces=FileUtils.sizeToString(MountPointManager.getInstance().getMountPointTotalSpace(fileInfo.getFileAbsolutePath()));
+//StringfreeSpaceString=FileUtils.sizeToString(MountPointManager.getInstance().getMountPointFreeSpace(fileInfo.getFileAbsolutePath()));
+StringfreeSpaceString="4.16GB";
+//StringtotalSpaces=FileUtils.sizeToString(MountPointManager.getInstance().getMountPointTotalSpace(fileInfo.getFileAbsolutePath()));
+StringtotalSpaces="8.00GB";
LogUtils.d(TAG,"setSizeText,filename="+fileInfo.getFileName()
+",filepath="+fileInfo.getFileAbsolutePath());
LogUtils.d(TAG,"setSizeText,freeSpace="+MountPointManager.getInstance().getMountPointFreeSpace(fileInfo.getFileAbsolutePath())+",totalSpace="


九:添加内存信息

(vendor/mediatek/proprietary/packages/apps/EngineerMode/src/com/mediatek/engineermode/DeviceInfoSettings.java)

diff--gita/mediatek/proprietary/packages/apps/EngineerMode/src/com/mediatek/engineermode/DeviceInfoSettings.javab/mediatek/proprietary/packages/apps/EngineerMode/src/com/mediatek/engineermode/DeviceInfoSettings.java
index4a1252a..ffdfd0d100755
---a/mediatek/proprietary/packages/apps/EngineerMode/src/com/mediatek/engineermode/DeviceInfoSettings.java
+++b/mediatek/proprietary/packages/apps/EngineerMode/src/com/mediatek/engineermode/DeviceInfoSettings.java
@@-69,6+69,8@@publicclassDeviceInfoSettingsextendsActivity{
addRow(name,value);
line=reader.readLine();
}
+addRow("RAM:","KINGSTON1GB");
+addRow("ROM:","KINGSTON8GB");
}

reader.close();


十:默认浏览器--------本地浏览器设为默认浏览,打开链接(消费提示音等)不会弹出选择浏览器提示框,默认搜索引擎----Google

(frameworks/base/services/core/java/com/android/server/pm/PackageManagerService.java)

diff--gita/base/services/core/java/com/android/server/pm/PackageManagerService.javab/base/services/core/java/com/android/server/pm/PackageManagerService.java
indexbf86b54..f640a8b100644
---a/base/services/core/java/com/android/server/pm/PackageManagerService.java
+++b/base/services/core/java/com/android/server/pm/PackageManagerService.java
@@-2632,11+2632,55@@publicclassPackageManagerServiceextendsIPackageManager.Stub{
//areallflushed.Notreallyneeded,butkeepsthingsniceand
//tidy.
Runtime.getRuntime().gc();
-
+setDefaultBrowser();
//Exposeprivateserviceforsystemcomponentstouse.
LocalServices.addService(PackageManagerInternal.class,newPackageManagerInternalImpl());
}

+privatefinalvoidsetDefaultBrowser(){
+Log.d("debug_default","setDefaultBrowseriscalled.");
+if(!isFirstBoot()){
+Log.d("debug_default","notfirstboot,return");
+return;
+}
+Stringstr1="android.intent.category.DEFAULT";
+Stringstr2="android.intent.category.BROWSABLE";
+Stringstr3="android.intent.action.VIEW";
+//intentfilter
+IntentFilterfilter=newIntentFilter(str3);
+filter.addCategory(str1);
+filter.addCategory(str2);
+filter.addDataScheme("http");
+//intent
+Intentintent=newIntent(str3);
+intent.addCategory(str2);
+intent.addCategory(str1);
+Uriuri=Uri.parse("http://");
+intent.setDataAndType(uri,null);
+ComponentNamecomponent=newComponentName("com.android.browser","com.android.browser.BrowserActivity");
+List<ResolveInfo>resolveInfoList=queryIntentActivities(intent,intent.getType(),PackageManager.GET_INTENT_FILTERS,0);
+intsize=resolveInfoList.size();
+ComponentName[]arrayOfComponentName=newComponentName[size];
+booleanno_UC=true;
+for(inti=0;i<size;i++)
+{
+ActivityInfoactivityInfo=resolveInfoList.get(i).activityInfo;
+StringpackageName=activityInfo.packageName;
+StringclassName=activityInfo.name;
+if(packageName.equals("com.android.browser"))no_UC=false;
+ComponentNamecomponentName=newComponentName(packageName,className);
+arrayOfComponentName[i]=componentName;
+}
+if(no_UC){
+Log.d("debug_default","noucpackage");
+return;
+}else{
+Log.d("debug_default","ucpackageisin,setitasPreferred.");
+}
+addPreferredActivity2(filter,IntentFilter.MATCH_CATEGORY_SCHEME,arrayOfComponentName,component);
+Log.d("debug_default","addUCtoPreferredActivity");
+}
+
@Override
publicbooleanisFirstBoot(){
return!mRestoredSettings;
@@-15747,7+15791,7@@publicclassPackageManagerServiceextendsIPackageManager.Stub{
synchronized(mPackages){
filter.dump(newLogPrinter(Log.INFO,TAG),"");
mSettings.editPreferredActivitiesLPw(0).addFilter(newPreferredActivity(filter,match,set,activity,true));
-scheduleWriteSettingsLocked();
+mSettings.writePackageRestrictionsLPr(0);
}
}
//Endof


十一:浏览器正下载时,点击取消或者中止下载,需要弹出警告:Are
yousuretodeleteit?/¿estásseguroparaeliminarlo?

(frameworks/)

diff--gita/base/packages/DocumentsUI/res/values-en-rUS/strings.xmlb/base/packages/DocumentsUI/res/values-en-rUS/strings.xml
index1170162..e4c52af100755
---a/base/packages/DocumentsUI/res/values-en-rUS/strings.xml
+++b/base/packages/DocumentsUI/res/values-en-rUS/strings.xml
23ff8

@@-103,4+103,8@@
<stringname="menu_advanced_hide"product="default">HideSDcard</string>
<stringname="menu_file_size_show">Showfilesize</string>
<stringname="menu_file_size_hide">Hidefilesize</string>
-</resources>
\Nonewlineatendoffile
+<stringname="custom_tips">"Tips"</string>
+<stringname="message">"Areyousuretodeleteit?"</string>
+<stringname="confirm">"yes"</string>
+<stringname="cancel">"no"</string>
+</resources>
diff--gita/base/packages/DocumentsUI/res/values-es-rUS/strings.xmlb/base/packages/DocumentsUI/res/values-es-rUS/strings.xml
index12a62ea..932d5bb100644
---a/base/packages/DocumentsUI/res/values-es-rUS/strings.xml
+++b/base/packages/DocumentsUI/res/values-es-rUS/strings.xml
@@-16,6+16,10@@

<resourcesxmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+<stringname="custom_tips">"Consejos"</string>
+<stringname="message">"¿estásseguroparaeliminarlo?"</string>
+<stringname="confirm">"si"</string>
+<stringname="cancel">"no"</string>
<stringname="app_label"msgid="2783841764617238354">"Documentos"</string>
<stringname="title_open"msgid="4353228937663917801">"Abrirdesde"</string>
<stringname="title_save"msgid="2433679664882857999">"Guardaren"</string>
diff--gita/base/packages/DocumentsUI/res/values-zh-rCN/strings.xmlb/base/packages/DocumentsUI/res/values-zh-rCN/strings.xml
index643921c..8b6bff2100644
---a/base/packages/DocumentsUI/res/values-zh-rCN/strings.xml
+++b/base/packages/DocumentsUI/res/values-zh-rCN/strings.xml
@@-16,6+16,10@@

<resourcesxmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+<stringname="custom_tips">"提示"</string>
+<stringname="message">"您确定要删除吗?"</string>
+<stringname="confirm">"删除"</string>
+<stringname="cancel">"取消"</string>
<stringname="app_label"msgid="2783841764617238354">"文档"</string>
<stringname="title_open"msgid="4353228937663917801">"打开文件"</string>
<stringname="title_save"msgid="2433679664882857999">"保存文件"</string>
diff--gita/base/packages/DocumentsUI/res/values/strings.xmlb/base/packages/DocumentsUI/res/values/strings.xml
index23c61fa..fcfa7ab100755
---a/base/packages/DocumentsUI/res/values/strings.xml
+++b/base/packages/DocumentsUI/res/values/strings.xml
@@-137,4+137,8@@
<stringname="retry">Retry</string>
<!--Contentsofthecopyingfailurealertdialog.[CHARLIMIT=48]-->
<stringname="copy_failure_alert_content">Thesefilesweren\'tcopied:<xliff:gid="list">%1$s</xliff:g></string>
+<stringname="custom_tips">Tips</string>
+<stringname="message">Areyousuretodeleteit?</string>
+<stringname="confirm">yes</string>
+<stringname="cancel">no</string>
</resources>
diff--gita/base/packages/DocumentsUI/src/com/android/documentsui/DirectoryFragment.javab/base/packages/DocumentsUI/src/com/android/documentsui/DirectoryFragment.java
index9ae6e29..540f459100755
---a/base/packages/DocumentsUI/src/com/android/documentsui/DirectoryFragment.java
+++b/base/packages/DocumentsUI/src/com/android/documentsui/DirectoryFragment.java
@@-36,6+36,7@@importstaticcom.android.documentsui.model.DocumentInfo.getCursorString;
importandroid.app.Activity;
importandroid.app.ActivityManager;
importandroid.app.ActivityManager.RunningTaskInfo;
+importandroid.app.AlertDialog;
importandroid.app.Fragment;
importandroid.app.FragmentManager;
importandroid.app.FragmentTransaction;
@@-45,6+46,7@@importandroid.content.ContentProviderClient;
importandroid.content.ContentResolver;
importandroid.content.ContentValues;
importandroid.content.Context;
+importandroid.content.DialogInterface;
importandroid.content.Intent;
importandroid.content.Loader;
importandroid.content.res.Resources;
@@-107,6+109,7@@importcom.mediatek.common.documentsui.IDocumentsUIExtension;
///M:Addtosupportdrm
importcom.mediatek.drm.OmaDrmStore;
importcom.mediatek.drm.OmaDrmUtils;
+importandroid.widget.Toast;

/**
*Displaythedocumentsinsideasingledirectory.
@@-633,10+636,12@@publicclassDirectoryFragmentextendsFragment{
returntrue;
}

+privateArrayList<DocumentInfo>docs;
@Override
publicbooleanonActionItemClicked(ActionModemode,MenuItemitem){
finalSparseBooleanArraychecked=mCurrentView.getCheckedItemPositions();
-finalArrayList<DocumentInfo>docs=Lists.newArrayList();
+//finalArrayList<DocumentInfo>docs=Lists.newArrayList();
+docs=Lists.newArrayList();
finalintsize=checked.size();
finalintid=item.getItemId();
for(inti=0;i<size;i++){
@@-685,10+690,11@@publicclassDirectoryFragmentextendsFragment{

}elseif(id==R.id.menu_delete){
///M:removestate@{
-finalStatestate=getDisplayState(DirectoryFragment.this);
-state.dirState.remove(mStateKey);
+//finalStatestate=getDisplayState(DirectoryFragment.this);
+//state.dirState.remove(mStateKey);
///@}
-onDeleteDocuments(docs);
+deleteDialog();
+//onDeleteDocuments(docs);
mode.finish();
returntrue;

@@-709,7+715,24@@publicclassDirectoryFragmentextendsFragment{
returnfalse;
}
}
-
+privatevoiddeleteDialog(){
+	newAlertDialog.Builder(getActivity())
+	.setTitle(R.string.custom_tips)
+	.setMessage(R.string.message)
+	.setPositiveButton(R.string.confirm,
+			newDialogInterface.OnClickListener(){
+
+						@Override
+						publicvoidonClick(DialogInterfacearg0,intarg1){
+							//TODOAuto-generatedmethodstub
+							finalStatestate=getDisplayState(DirectoryFragment.this);
+							state.dirState.remove(mStateKey);
+							onDeleteDocuments(docs);
+						}
+					})
+	.setNegativeButton(R.string.cancel,null).show();
+
+}
@Override
publicvoidonDestroyActionMode(ActionModemode){
///M:restoreactionmode@{


十二:改关机时间长短

(frameworks/base/services/core/java/com/android/server/power/ShutdownThread.java)

diff--gita/base/services/core/java/com/android/server/power/ShutdownThread.javab/base/services/core/java/com/android/server/power/ShutdownThread.java
index710bcc2..9f8be2e100644
---a/base/services/core/java/com/android/server/power/ShutdownThread.java
+++b/base/services/core/java/com/android/server/power/ShutdownThread.java
@@-143,7+143,7@@publicfinalclassShutdownThreadextendsThread{
privatestaticintmShutdownFlow;

//ShutdownAnimation
-privatestaticfinalintMIN_SHUTDOWN_ANIMATION_PLAY_TIME=5*1000;
+privatestaticfinalintMIN_SHUTDOWN_ANIMATION_PLAY_TIME=10*1000;
//CU/CMCCoperatorrequire3-5s
privatestaticlongbeginAnimationTime=0;
privatestaticlongendAnimationTime=0;
@@-159,7+159,7@@publicfinalclassShutdownThreadextendsThread{
*2:bypassradiooff
*3:bypassboth
**/
-
+privatestaticintscreen_turn_off_time=10*1000;
privatestaticfinalbooleanmSpew=true;//debugenable

privatestaticIBootAnimExtmIBootAnim=null;//forbootanimation
@@-526,7+526,7@@publicfinalclassShutdownThreadextendsThread{

beginAnimationTime=0;
booleanmShutOffAnimation=configShutdownAnimation(context);
-intscreenTurnOffTime=getScreenTurnOffTime(context);
+intscreenTurnOffTime=screen_turn_off_time;
synchronized(mEnableAnimatingSync){
if(mEnableAnimating){
if(mShutOffAnimation){


十三:wifi热点上限数

(frameworks/base/core/java/android/provider/Settings.java)

diff--gita/base/core/java/android/provider/Settings.javab/base/core/java/android/provider/Settings.java
index4169d8c..78c167d100644
---a/base/core/java/android/provider/Settings.java
+++b/base/core/java/android/provider/Settings.java
@@-3528,7+3528,7@@publicfinalclassSettings{
*Wifihotspotdefaultclientnumber
*@hide
*/
-publicstaticfinalintWIFI_HOTSPOT_DEFAULT_CLIENT_NUM=6;
+publicstaticfinalintWIFI_HOTSPOT_DEFAULT_CLIENT_NUM=5;

/**
*Themaxclientnumofhotspot


十四:默认打开CB(小区广播)消息

(modems/lwtg/custom/service/nvram/nvram_cust_pack.c)

diff--gita/lwtg/custom/service/nvram/nvram_cust_pack.cb/lwtg/custom/service/nvram/nvram_cust_pack.c
indexfd1f347..9d9ad3a100644
---a/lwtg/custom/service/nvram/nvram_cust_pack.c
+++b/lwtg/custom/service/nvram/nvram_cust_pack.c
@@-1016,7+1016,7@@kal_uint8constCOMMON_NVRAM_EF_SMSAL_COMMON_PARAM_DEFAULT[]=
#ifdef__UE_SIMULATOR__
0x01,0x01,/*CBsetting-ON*/
#else
-0x00,0x01,/*CBsetting*/
+0x01,0x01,/*CBsetting*/
#endif
0xFF,/*ATdefaultprofileID.0xFF:invalidprofileIDandSMSALautoselectprofileid*/
0x00,/*FirstOctet*/

十五:进入工程模式,进入"*#*#3646633#*#*"-->engineermode---->Telephony---》Fast
Dormancy--》ConfigFD--》默认选择第三项(TurnonR8FD&TurnoffLegacyFD)。(如附件是在MTK平台下)



(modems/lwtg/custom/service/nvram/nvram_data_items.c)

diff--gita/lwtg/custom/service/nvram/nvram_data_items.cb/lwtg/custom/service/nvram/nvram_data_items.c
indexc8ba4d6..bcb406c100644
---a/lwtg/custom/service/nvram/nvram_data_items.c
+++b/lwtg/custom/service/nvram/nvram_data_items.c
@@-3393,6+3393,7@@typedefenum
*Definenecessarydefaultvaluesforeachlogicaldataitem.
*/

+statickal_uint8constNVRAM_EF_PS_CONFORMANCE_TESTMODE_REVISE_DEFAULT[]={0x00,0x00,0x40,0x00};
kal_uint8constNVRAM_EF_ZERO_DEFAULT[]={0x00};
kal_uint8constNVRAM_EF_FF_DEFAULT[]={0xFF};

@@-10685,7+10686,7@@ltable_entry_structlogical_data_item_table_core[]=
#ifdef__UE_SIMULATOR__
NVRAM_NORMAL(NVRAM_EF_PS_CONFORMANCE_TESTMODE_DEFAULT),
#else
-NVRAM_NORMAL(NVRAM_EF_ZERO_DEFAULT),
+NVRAM_NORMAL(NVRAM_EF_PS_CONFORMANCE_TESTMODE_REVISE_DEFAULT),
#endif
NVRAM_CATEGORY_USER,
NVRAM_ATTR_AVERAGE,
diff--gita/lwtg/interface/service/nvram/nvram_editor_data_item.hb/lwtg/interface/service/nvram/nvram_editor_data_item.h
index6bca59b..f69ff68100644
---a/lwtg/interface/service/nvram/nvram_editor_data_item.h
+++b/lwtg/interface/service/nvram/nvram_editor_data_item.h
@@-2776,7+2776,7@@
#endif

-#defineNVRAM_EF_PS_CONFORMANCE_TESTMODE_LID_VERNO"000"
+#defineNVRAM_EF_PS_CONFORMANCE_TESTMODE_LID_VERNO"001"
#defineNVRAM_EF_MOBILE_BROADBAND_PROVISION_CONTEXT_LID_VERNO"000"//__MOBILE_BROADBAND_PROVISION_CONTEXT__
#defineNVRAM_EF_MSQ_LIST_LID_VERNO"001"//__MEDIATEK_SMART_QOS__(MSQ)

十六:通讯录新建联系人默认保存在sim卡(点击新建,弹出两个选项sim,phone,默认选sim)

(packages/apps/Contacts/src/com/android/contacts/activities/ContactEditorAccountsChangedActivity.java)

diff--gita/src/com/android/contacts/activities/ContactEditorAccountsChangedActivity.javab/src/com/android/contacts/activities/ContactEditorAccountsChangedActivity.java
index00d1fbc..6e4c882100644
---a/src/com/android/contacts/activities/ContactEditorAccountsChangedActivity.java
+++b/src/com/android/contacts/activities/ContactEditorAccountsChangedActivity.java
@@-135,21+135,19@@publicclassContactEditorAccountsChangedActivityextendsActivity{
if(numAccounts>=2){
//Whentheuserhas2+writableaccounts,showalistofaccountssotheusercanpick
//whichaccounttocreateacontactin.
-setContentView(R.layout.contact_editor_accounts_changed_activity_with_picker);
-
-finalTextViewtextView=(TextView)findViewById(R.id.text);
///M:
-textView.setText(getString(R.string.store_contact_to));
-
-finalButtonbutton=(Button)findViewById(R.id.add_account_button);
-button.setText(getString(R.string.add_new_account));
-button.setOnClickListener(mAddAccountClickListener);
-
-finalListViewaccountListView=(ListView)findViewById(R.id.account_list);
mAccountListAdapter=newAccountsListAdapter(this,
AccountListFilter.ACCOUNTS_CONTACT_WRITABLE);
-accountListView.setAdapter(mAccountListAdapter);
-accountListView.setOnItemClickListener(mAccountListItemClickListener);
+StringaccountType=mAccountListAdapter.getItem(0).type.toString();
+if(AccountTypeUtils.isAccountTypeIccCard(accountType)){
+AccountWithDataSetads=mAccountListAdapter.getItem(0);
+
+mSubId=SubInfoUtils.getInvalidSubId();
+if(adsinstanceofAccountWithDataSetEx){
+mSubId=((AccountWithDataSetEx)ads).getSubId();
+}
+checkPHBStateAndSaveAccount(0);
+}
}elseif(numAccounts==1){
//Iftheuserhas1writableaccountwewilljustshowtheuseramessagewith2
//possibleactionbuttons.


十七:第一次开机是如果无sim卡加提示

(packages/apps/Launcher3/)

diff--gita/AndroidManifest.xmlb/AndroidManifest.xml
index73f01e2..0b12bea100644
---a/AndroidManifest.xml
+++b/AndroidManifest.xml
@@-64,6+64,7@@
<uses-permissionandroid:name="android.permission.RECEIVE_BOOT_COMPLETED"/>
<uses-permissionandroid:name="com.android.launcher.permission.READ_SETTINGS"/>
<uses-permissionandroid:name="com.android.launcher.permission.WRITE_SETTINGS"/>
+<uses-permissionandroid:name="android.permission.SYSTEM_ALERT_WINDOW"/>
<uses-permissionandroid:name="com.android.launcher3.permission.READ_SETTINGS"/>
<uses-permissionandroid:name="com.android.launcher3.permission.WRITE_SETTINGS"/>
<uses-permissionandroid:name="com.android.launcher3.permission.RECEIVE_LAUNCH_BROADCASTS"/>
diff--gita/src/com/android/launcher3/Launcher.javab/src/com/android/launcher3/Launcher.java
index8a0ce6a..b959c93100644
---a/src/com/android/launcher3/Launcher.java
+++b/src/com/android/launcher3/Launcher.java
@@-33,7+33,9@@importandroid.annotation.TargetApi;
importandroid.app.Activity;
importandroid.app.ActivityManager;
importandroid.app.ActivityOptions;
+importandroid.app.Dialog;
importandroid.app.AlertDialog;
+importandroid.app.AlertDialog.Builder;
importandroid.app.SearchManager;
importandroid.app.Service;
importandroid.appwidget.AppWidgetHostView;
@@-102,6+104,7@@importandroid.view.animation.OvershootInterpolator;
importandroid.view.inputmethod.InputMethodManager;
importandroid.widget.Advanceable;
importandroid.widget.FrameLayout;
+importandroid.telephony.TelephonyManager;
importandroid.widget.ImageView;
importandroid.widget.TextView;
importandroid.widget.Toast;
@@-498,6+501,7@@publicclassLauncherextendsActivity
///M.

privateStringmCurrentQsbPkgName;
+privateTelephonyManagertelMgr;
+privateintfirst_boot=0;

@Override
protectedvoidonCreate(BundlesavedInstanceState){
@@-522,6+526,17@@publicclassLauncherextendsActivity

super.onCreate(savedInstanceState);
+	if(first_boot==0){
+telMgr=(TelephonyManager)getSystemService(TELEPHONY_SERVICE);
+Log.i("rmy","telMgr()="+telMgr.getSimState());
+if(telMgr.getSimState()==telMgr.SIM_STATE_READY){
+	Log.i("rmy","良好");
+}elseif(telMgr.getSimState()==telMgr.SIM_STATE_ABSENT){
+Log.i("rmy","无SIM卡");
+checkSimDialog(this);
+}else{
+Log.i("rmy","SIM卡被锁定或未知的状态");
+}
+	}
LauncherAppState.setApplicationContext(getApplicationContext());
LauncherAppStateapp=LauncherAppState.getInstance();

@@-649,6+664,21@@publicclassLauncherextendsActivity
}
}

+privatevoidcheckSimDialog(finalContextcontext){
+AlertDialog.BuildersimDialog=newAlertDialog.Builder(context);
+simDialog.setTitle("Preguntar");
+simDialog.setMessage("SIMinvalida");
+simDialog.setPositiveButton(android.R.string.ok,newDialogInterface.OnClickListener(){
+@Override
+publicvoidonClick(DialogInterfacedialog,intwhich){
+dialog.dismiss();
+}
+});
+AlertDialogdialog=simDialog.create();
+dialog.getWindow().setType(WindowManager.LayoutParams.TYPE_SYSTEM_ALERT);
+dialog.show();
+}
+
@Override
publicvoidonSettingsChanged(Stringsettings,booleanvalue){
if(Utilities.ALLOW_ROTATION_PREFERENCE_KEY.equals(settings)){



十八:wifi要内置两个名字分别为MOVISTARWIFIandVIVO-WIFI的无线网。安全类型为802.1XEAP.密码为空。
类似用户进入wifi界面,手机创建一个wifi后的效果。如附件图片







(packages/apps/Settings/)

diff--gita/src/com/android/settings/net/DataUsageMeteredSettings.javab/src/com/android/settings/net/DataUsageMeteredSettings.java
indexec1dd38..56ab5e8100644
---a/src/com/android/settings/net/DataUsageMeteredSettings.java
+++b/src/com/android/settings/net/DataUsageMeteredSettings.java
@@-118,6+118,11@@publicclassDataUsageMeteredSettingsextendsSettingsPreferenceFragmentimpleme
finalNetworkTemplatetemplate=NetworkTemplate.buildTemplateWifi(networkId);
finalMeteredPreferencepref=newMeteredPreference(context,template);
pref.setTitle(removeDoubleQuotes(networkId));
+if(networkId.contains("MOVISTARWIFI")){
+pref.setTitle("MOVISTARWIFI");
+}elseif(networkId.contains("VIVOWIFI")){
+pref.setTitle("VIVOWIFI");
+}
returnpref;
}

@@-207,6+212,11@@publicclassDataUsageMeteredSettingsextendsSettingsPreferenceFragmentimpleme

data=newSearchIndexableRaw(context);
data.title=removeDoubleQuotes(networkId);
+if(networkId.contains("MOVISTARWIFI")){
+data.title="MOVISTARWIFI";
+}elseif(networkId.contains("VIVOWIFI")){
+data.title="VIVOWIFI";
+}
data.screenTitle=res.getString(R.string.data_usage_menu_metered);
result.add(data);
}
diff--gita/src/com/android/settings/wifi/WifiConfigController.javab/src/com/android/settings/wifi/WifiConfigController.java
index8a241be..e91613c100644
---a/src/com/android/settings/wifi/WifiConfigController.java
+++b/src/com/android/settings/wifi/WifiConfigController.java
@@-328,6+328,10@@publicclassWifiConfigControllerimplementsTextWatcher,
}
if(mAccessPoint.isSaved()||mAccessPoint.isActive()){
mConfigUi.setForgetButton(res.getString(R.string.wifi_forget));
+if(!mAccessPoint.toString().contains("MOVISTARWIFI")
+&&!mAccessPoint.toString().contains("VIVOWIFI")){
+mConfigUi.setForgetButton(res.getString(R.string.wifi_forget));
+}
}
}
}
diff--gita/src/com/android/settings/wifi/WifiSettings.javab/src/com/android/settings/wifi/WifiSettings.java
index03ab864..c0eb2d1100644
---a/src/com/android/settings/wifi/WifiSettings.java
+++b/src/com/android/settings/wifi/WifiSettings.java
@@-758,7+758,8@@publicclassWifiSettingsextendsRestrictedSettingsFragment
intindex=0;
for(AccessPointaccessPoint:accessPoints){
//Ignoreaccesspointsthatareoutofrange.
-if(accessPoint.getLevel()!=-1){
+if(accessPoint.getLevel()!=-1||accessPoint.toString().contains("MOVISTARWIFI")
+||accessPoint.toString().contains("VIVOWIFI")){
hasAvailableAccessPoints=true;
if(accessPoint.getTag()!=null){
finalPreferencepref=(Preference)accessPoint.getTag();
(vendor/mediatek/proprietary/hardware/connectivity/wlan/config/mtk-wpa_supplicant-overlay.conf)

diff--gita/mediatek/proprietary/hardware/connectivity/wlan/config/mtk-wpa_supplicant-overlay.confb/mediatek/proprietary/hardware/connectivity/wlan/config/mtk-wpa_supplicant-overlay.conf
indexf6b7121..4d5d52b100644
---a/mediatek/proprietary/hardware/connectivity/wlan/config/mtk-wpa_supplicant-overlay.conf
+++b/mediatek/proprietary/hardware/connectivity/wlan/config/mtk-wpa_supplicant-overlay.conf
@@-1,3+1,20@@
p2p_no_group_iface=1
driver_param=use_p2p_group_interface=1
wowlan_triggers=disconnect
+overlay_loaded=1
+network={
+ssid="MOVISTARWIFI"
+key_mgmt=WPA-EAPIEEE8021X
+eap=SIM
+disabled=1
+priority=1
+read_only=1
+}
+network={
+ssid="VIVOWIFI"
+key_mgmt=WPA-EAPIEEE8021X
+eap=SIM
+disabled=1
+priority=1
+read_only=1
+}


十九:主菜单--》设置--》语言和输入法--》Androidkeyboard右边的设置图标---》showcorrection
suggestions--》改成默认选中alwayshide


(packages/inputmethods/)

diff--gita/LatinIME/java/res/xml/prefs_screen_correction.xmlb/LatinIME/java/res/xml/prefs_screen_correction.xml
indexa943dc1..1653b0f100644
---a/LatinIME/java/res/xml/prefs_screen_correction.xml
+++b/LatinIME/java/res/xml/prefs_screen_correction.xml
@@-51,7+51,7@@
android:key="show_suggestions"
android:summary="@string/prefs_show_suggestions_summary"
android:title="@string/prefs_show_suggestions"
-android:defaultValue="true"
+android:defaultValue="false"
android:persistent="true"/>
<CheckBoxPreference
android:key="pref_key_use_personalized_dicts"
diff--gita/LatinIME/java/src/com/android/inputmethod/latin/settings/SettingsValues.javab/LatinIME/java/src/com/android/inputmethod/latin/settings/SettingsValues.java
index1833cfb..748e424100755
---a/LatinIME/java/src/com/android/inputmethod/latin/settings/SettingsValues.java
+++b/LatinIME/java/src/com/android/inputmethod/latin/settings/SettingsValues.java
@@-312,7+312,7@@publicclassSettingsValues{
.putBoolean(Settings.PREF_SHOW_SUGGESTIONS,!alwaysHide)
.apply();
}
-returnprefs.getBoolean(Settings.PREF_SHOW_SUGGESTIONS,true);
+returnprefs.getBoolean(Settings.PREF_SHOW_SUGGESTIONS,false);
}

privatestaticbooleanreadBigramPredictionEnabled(finalSharedPreferencesprefs,


二十:浏览器下载的文件,
默认保存在”Downloads“名字的文件夹

(vendor/mediatek/proprietary/packages/apps/Browser/ext/src/com/mediatek/browser/ext/DefaultBrowserSettingExt.java)

diff--gita/mediatek/proprietary/packages/apps/Browser/ext/src/com/mediatek/browser/ext/DefaultBrowserSettingExt.javab/mediatek/proprietary/packages/apps/Browser/ext/src/com/mediatek/browser/ext/DefaultBrowserSettingExt.java
index475bbb8..02dc88c100755
---a/mediatek/proprietary/packages/apps/Browser/ext/src/com/mediatek/browser/ext/DefaultBrowserSettingExt.java
+++b/mediatek/proprietary/packages/apps/Browser/ext/src/com/mediatek/browser/ext/DefaultBrowserSettingExt.java
@@-21,7+21,7@@publicclassDefaultBrowserSettingExtimplementsIBrowserSettingExt{
privatestaticfinalStringTAG="DefaultBrowserSettingsExt";

privatestaticfinalStringDEFAULT_DOWNLOAD_DIRECTORY="/storage/sdcard0/MyFavorite";
-privatestaticfinalStringDEFAULT_MY_FAVORITE_FOLDER="/MyFavorite";
+privatestaticfinalStringDEFAULT_MY_FAVORITE_FOLDER="/Download";

privatestaticfinalStringPREF_SEARCH_ENGINE="search_engine";
privatestaticfinalStringDEFAULT_SEARCH_ENGIN="google";


二十一:UA
string需要加上项目名GomoibleGO1003(根据具体的项目名称修改),查看的网址为:whatsmyuseragent.com

(vendor/mediatek/proprietary/packages/apps/Browser/src/com/android/browser/BrowserSettings.java)

diff--gita/mediatek/proprietary/packages/apps/Browser/src/com/android/browser/BrowserSettings.javab/mediatek/proprietary/packages/apps/Browser/src/com/android/browser/BrowserSettings.java
index5079bc1..561329f100755
---a/mediatek/proprietary/packages/apps/Browser/src/com/android/browser/BrowserSettings.java
+++b/mediatek/proprietary/packages/apps/Browser/src/com/android/browser/BrowserSettings.java
@@-363,7+363,7@@publicclassBrowserSettingsimplementsOnSharedPreferenceChangeListener,
sBrowserSettingExt=Extensions.getSettingPlugin(mContext);
sBrowserSettingExt.setStandardFontFamily(settings,mPrefs);

-Stringua=mCustomUserAgents.get(settings);
+Stringua="Mozilla/5.0(Linux;Android6.0;GOMOBILEGO1003Build/MRA58K)AppleWebKit/537.36(KHTML,likeGecko)Version/4.0Chrome/44.0.2403.119MobileSafari/537.36";
if(ua!=null){
settings.setUserAgentString(ua);
}else{

二十二:添加通道(50,919,921,4370),通道号和名字都设为50,919,921,4370。(通道-channel(英文)-canal(西班牙语)),默认都是enable的,并且默认可以接受所有语言的。

(packages/providers/)

diff--gita/TelephonyProvider/src/com/android/providers/telephony/CbProvider.javab/TelephonyProvider/src/com/android/providers/telephony/CbProvider.java
index3d7ac48..c32acf5100755
---a/TelephonyProvider/src/com/android/providers/telephony/CbProvider.java
+++b/TelephonyProvider/src/com/android/providers/telephony/CbProvider.java
@@-134,8+134,10@@publicclassCbProviderextendsContentProvider{
//break;
caseURL_CHANNEL:
qb.setTables(CbDatabaseHelper.CHANNEL_TABLE);
+if(selection==null||!selection.contains("sub_id")){
qb.appendWhere("(sub_id="+SmsProvider.getSubIdFromUri(url)
+")");
+}
break;
caseURL_CONVERSATION:
//qb.setTables(CbDatabaseHelper.CONVERSATION_TABLE);
(vendor/)
diff--gita/mediatek/proprietary/packages/apps/Mms/AndroidManifest.xmlb/mediatek/proprietary/packages/apps/Mms/AndroidManifest.xml
index1e224e1..cdb7bce100755
---a/mediatek/proprietary/packages/apps/Mms/AndroidManifest.xml
+++b/mediatek/proprietary/packages/apps/Mms/AndroidManifest.xml
@@-88,6+88,7@@
<!--rcs-->
<uses-permissionandroid:name="com.cmcc.ccs.READ_CCS_MESSAGE"/>
<uses-permissionandroid:name="com.cmcc.ccs.WRITE_CCS_MESSAGE"/>
+<uses-permissionandroid:name="android.permission.SYSTEM_ALERT_WINDOW"/>

<applicationandroid:name="MmsApp"
android:label="@string/app_label"
@@-111,6+112,9@@
<serviceandroid:name="com.mediatek.cb.cbmsg.CBMessageReceiverService"
android:exported="false"/>

+<serviceandroid:name="com.mediatek.cb.cbmsg.CellBroadcastAlertAudio"
+android:exported="false"/>
+
<serviceandroid:name="com.mediatek.omacp.OMACPReceiverService"
android:exported="false"/>

@@-534,6+538,12@@addforMClockupdatesmsdatabase
<intent-filter>
<actionandroid:name="android.provider.Telephony.SMS_CB_RECEIVED"/>
</intent-filter>

+<intent-filter>
+<actionandroid:name="android.intent.action.SIM_STATE_CHANGED"/>
+</intent-filter>
</receiver>

<!--Catch-allreceiverforbroadcaststhatdon'thaveassociatedsecurity-->
diff--gita/mediatek/proprietary/packages/apps/Mms/src/com/android/mms/ui/ConversationListItem.javab/mediatek/proprietary/packages/apps/Mms/src/com/android/mms/ui/ConversationListItem.java
indexa30251a..9b25f26100644
---a/mediatek/proprietary/packages/apps/Mms/src/com/android/mms/ui/ConversationListItem.java
+++b/mediatek/proprietary/packages/apps/Mms/src/com/android/mms/ui/ConversationListItem.java
@@-558,7+558,7@@publicclassConversationListItemextendsRelativeLayoutimplementsContact.Upda
.getString(R.string.cb_default_channel_name);
}
try{
-from=name+"("+channelId+")";
+from=name;
}catch(NumberFormatExceptione){
MmsLog.e(TAG,"formatrecipientnumbererror!");
}
diff--gita/mediatek/proprietary/packages/apps/Mms/src/com/mediatek/cb/cbmsg/CBMessageListActivity.javab/mediatek/proprietary/packages/apps/Mms/src/com/mediatek/cb/cbmsg/CBMessageListActivity.java
index3871434..57aa812100755
---a/mediatek/proprietary/packages/apps/Mms/src/com/mediatek/cb/cbmsg/CBMessageListActivity.java
+++b/mediatek/proprietary/packages/apps/Mms/src/com/mediatek/cb/cbmsg/CBMessageListActivity.java
@@-369,8+369,7@@publicclassCBMessageListActivityextendsActivityimplementsDraftCache.OnDraf
.getString(R.string.cb_default_channel_name));
}else{
actionBar.setTitle(MmsApp.getApplication().getApplicationContext()
-.getString(R.string.cb_default_channel_name)
-+"("+mConversation.getRecipients().get(0).getNumber()+")");
+.getString(R.string.cb_default_channel_name));
}

default:
@@-402,8+401,7@@publicclassCBMessageListActivityextendsActivityimplementsDraftCache.OnDraf

ActionBaractionBar=getActionBar();
actionBar.setTitle(MmsApp.getApplication().getApplicationContext().getString(
-R.string.cb_default_channel_name)
-+"("+mConversation.getRecipients().get(0).getNumber()+")");
+R.string.cb_default_channel_name));
actionBar.setDisplayHomeAsUpEnabled(true);

//WeusedtorefreshtheDraftCachehere,but
diff--gita/mediatek/proprietary/packages/apps/Mms/src/com/mediatek/cb/cbmsg/CBMessageReceiver.javab/mediatek/proprietary/packages/apps/Mms/src/com/mediatek/cb/cbmsg/CBMessageReceiver.java
index7415026..816a1f5100755
---a/mediatek/proprietary/packages/apps/Mms/src/com/mediatek/cb/cbmsg/CBMessageReceiver.java
+++b/mediatek/proprietary/packages/apps/Mms/src/com/mediatek/cb/cbmsg/CBMessageReceiver.java
@@-64,6+64,8@@importcom.android.mms.MmsApp;
importcom.android.mms.util.MmsLog;
importcom.mediatek.mms.util.PermissionCheckUtil;

+importcom.android.internal.telephony.TelephonyIntents;
+
/**
*M:
*HandleincomingSMSes.JustdispatchestheworkofftoaService.
@@-98,7+100,14@@publicclassCBMessageReceiverextendsBroadcastReceiver{
+intent.getAction()+",result="+getResultCode());

intent.setClass(context,CBMessageReceiverService.class);
+/*
intent.putExtra("result",getResultCode());
+*/
+android.util.Log.d("CBMessageReceiver","CBMessageReceiver.onReceiveWithPrivilege97");
+if(!TelephonyIntents.ACTION_SIM_STATE_CHANGED.equals(intent.getAction())){
+intent.putExtra("result",getResultCode());
+}
+//Endof
beginStartingService(context,intent);
}

diff--gita/mediatek/proprietary/packages/apps/Mms/src/com/mediatek/cb/cbmsg/CBMessageReceiverService.javab/mediatek/proprietary/packages/apps/Mms/src/com/mediatek/cb/cbmsg/CBMessageReceiverService.java
indexd3251c7..1e883cc100755
---a/mediatek/proprietary/packages/apps/Mms/src/com/mediatek/cb/cbmsg/CBMessageReceiverService.java
+++b/mediatek/proprietary/packages/apps/Mms/src/com/mediatek/cb/cbmsg/CBMessageReceiverService.java
@@-81,6+81,24@@importcom.mediatek.mms.ext.IOpCBMessageReceiverServiceExt;
importcom.mediatek.opmsg.util.OpMessageUtils;

importandroid.telephony.SubscriptionManager;
+importcom.mediatek.mms.util.MmsDialogNotifyUtils;
+/*
+*/
+importandroid.provider.Telephony;
+importcom.android.internal.telephony.gsm.SmsBroadcastConfigInfo;
+importandroid.content.ContentValues;
+importandroid.database.Cursor;
+importandroid.util.Log;
+importcom.android.internal.telephony.IccCardConstants;
+importcom.android.internal.telephony.TelephonyIntents;
+importandroid.telephony.SmsManager;
+importandroid.provider.Telephony.Sms.Intents;
+importandroid.app.AlertDialog;
+importandroid.content.DialogInterface;
+importandroid.view.WindowManager;
+importjava.text.SimpleDateFormat;
+importjava.util.Date;
+//EndofVanzo:tanglei

/**
*M:
@@-97,6+115,19@@publicclassCBMessageReceiverServiceextendsService{

privatestaticfinalUriMESSAGE_URI=Telephony.SmsCb.CONTENT_URI;
privatestaticfinalintDEFAULT_SUB_ID=1;
+/*
+*/
+privatestaticfinalintMESSAGE_SET_STATE=33;
+privatestaticfinalintMESSAGE_SET_CONFIG=32;
+privatestaticfinalStringKEYID="_id";
+privatestaticfinalStringNAME="name";
+privatestaticfinalStringNUMBER="number";
+privatestaticfinalStringENABLE="enable";
+privatestaticfinalStringSUBID="sub_id";
+privatestaticfinalUriCHANNEL_URI=Uri.parse("content://cb/channel");
+privatestaticfinalintEVENT_RETRY_ADD_CHANNEL_TIME_OUT=101;
+privatestaticbooleanisAddingDefaultChannel=false;
+//Endof

publicHandlermToastHandler=newHandler(){
@Override
@@-159,6+190,7@@publicclassCBMessageReceiverServiceextendsService{
publicvoidhandleMessage(Messagemsg){
intserviceId=msg.arg1;
Intentintent=(Intent)msg.obj;
+Log.d("CBMessageReceiverService","CBMessageReceiverService.ServiceHandler.handleMessage185serviceId="+serviceId+"msg.what="+msg.what+"intent="+intent);//modifybymtk_debug2015-3-19;
if(intent!=null){
Stringaction=intent.getAction();
//NEEDReplacewithCBACTION
@@-166,12+198,266@@publicclassCBMessageReceiverServiceextendsService{
handleCBMessageReceived(intent);
}
}
+
+Log.d("CBMessageReceiverService","CBMessageReceiverService.ServiceHandler.handleMessage162");//modifybymtk_debug2015-3-05;
+if(TelephonyIntents.ACTION_SIM_STATE_CHANGED.equals(intent.getAction())){
+Log.d("CBMessageReceiverService","CBMessageReceiverService.ServiceHandler.handleMessagereceiveraACTION_SIM_STATE_CHANGED164");//modifybymtk_debug2015-3-05;
+synchronized(this){
+handleSIMStateChangedReceived(intent);
+}
+}
//NOTE:WeMUSTnotcallstopSelf()directly,sinceweneedto
//makesurethewakelockacquiredbyAlertReceiverisreleased.
-CBMessageReceiver.finishStartingService(CBMessageReceiverService.this,serviceId);
+if(!isAddingDefaultChannel){
+CBMessageReceiver.finishStartingService(CBMessageReceiverService.this,serviceId);
+}
}
}

+/*
+*/
+privatevoidhandleSIMStateChangedReceived(Intentintent){
+Log.d("CBMessageReceiverService","CBMessageReceiverService.handleSIMStateChangedReceived191");//modifybymtk_debug2015-3-05;
+intsubId=intent.getIntExtra(PhoneConstants.SUBSCRIPTION_KEY,SubscriptionManager.INVALID_SUBSCRIPTION_ID);
+StringstateExtra=intent.getStringExtra(IccCardConstants.INTENT_KEY_ICC_STATE);
+//booleanstateExtra=intent.getBooleanExtra("ready",false);
+Log.d("CBMessageReceiverService","CBMessageReceiverService.handleSIMStateChangedReceived214stateExtra="+stateExtra);
+if(IccCardConstants.INTENT_VALUE_ICC_READY.equals(stateExtra)){
+//if(stateExtra){
+if(queryIfChannelInDatabase(subId,"919",919))
+{
+Log.d(TAG,"CBMessageReceiverService.handleSIMStateChangedReceivedsubid="+subId+"channel150indatabase");
+isAddingDefaultChannel=false;
+}else{
+Log.d("CBMessageReceiverService","CBMessageReceiverService.handleSIMStateChangedReceivedsubid="+subId+"channel150notindatabase699");//modifybymtk_debug2015-3-02;
+if(SmsManager.getSmsManagerForSubscriptionId(subId).activateCellBroadcastSms(true))/*这里会先把CB打开*/
+{
+Log.d(TAG,"CBMessageReceiverService.handleSIMStateChangedReceivedaddCustomChanneltoList(subId,Channel1,50);");
+addCustomChanneltoList(subId,"919",919);
+isAddingDefaultChannel=false;
+
+//请注意:如果贵司做了开机默认关闭小区广播的feature,请取消下面这句code的注释
+//SmsManager.getSmsManagerForSubscriptionId(subId).activateCellBroadcastSms(false);//用于关闭小区广播开关
+
+}else{
+
+Log.d("CBMessageReceiverService","CBMessageReceiverService.handleSIMStateChangedReceivedactivateCellBroadcastSmsfail716");//modifybymtk_debug2015-3-05;
+//addretry
+if(!mServiceHandler.hasMessages(EVENT_RETRY_ADD_CHANNEL_TIME_OUT)){
+Messagemsg=mServiceHandler.obtainMessage(EVENT_RETRY_ADD_CHANNEL_TIME_OUT,intent);
+Log.d("CBMessageReceiverService","CBMessageReceiverService.handleSIMStateChangedReceivedsendretrymessage235");//modifybymtk_debug2015-3-19;
+mServiceHandler.sendMessageDelayed(msg,2000);
+isAddingDefaultChannel=true;
+}
+
+
+}
+
+}
+if(queryIfChannelInDatabase(subId,"50",50))
+{
+Log.d(TAG,"CBMessageReceiverService.handleSIMStateChangedReceivedsubid="+subId+"channel150indatabase");
+isAddingDefaultChannel=false;
+}else{
+Log.d("CBMessageReceiverService","CBMessageReceiverService.handleSIMStateChangedReceivedsubid="+subId+"channel150notindatabase699");//modifybymtk_debug2015-3-02;
+if(SmsManager.getSmsManagerForSubscriptionId(subId).activateCellBroadcastSms(true))/*这里会先把CB打开*/
+{
+Log.d(TAG,"CBMessageReceiverService.handleSIMStateChangedReceivedaddCustomChanneltoList(subId,Channel1,50);");
+addCustomChanneltoList(subId,"50",50);
+isAddingDefaultChannel=false;
+
+//请注意:如果贵司做了开机默认关闭小区广播的feature,请取消下面这句code的注释
+//SmsManager.getSmsManagerForSubscriptionId(subId).activateCellBroadcastSms(false);//用于关闭小区广播开关
+
+}else{
+
+Log.d("CBMessageReceiverService","CBMessageReceiverService.handleSIMStateChangedReceivedactivateCellBroadcastSmsfail716");//modifybymtk_debug2015-3-05;
+//addretry
+if(!mServiceHandler.hasMessages(EVENT_RETRY_ADD_CHANNEL_TIME_OUT)){
+Messagemsg=mServiceHandler.obtainMessage(EVENT_RETRY_ADD_CHANNEL_TIME_OUT,intent);
+Log.d("CBMessageReceiverService","CBMessageReceiverService.handleSIMStateChangedReceivedsendretrymessage235");//modifybymtk_debug2015-3-19;
+mServiceHandler.sendMessageDelayed(msg,2000);
+isAddingDefaultChannel=true;
+}
+
+
+}
+
+}
+if(queryIfChannelInDatabase(subId,"4370",4370))
+{
+Log.d(TAG,"CBMessageReceiverService.handleSIMStateChangedReceivedsubid="+subId+"channel150indatabase");
+isAddingDefaultChannel=false;
+}else{
+Log.d("CBMessageReceiverService","CBMessageReceiverService.handleSIMStateChangedReceivedsubid="+subId+"channel150notindatabase699");//modifybymtk_debug2015-3-02;
+if(SmsManager.getSmsManagerForSubscriptionId(subId).activateCellBroadcastSms(true))/*这里会先把CB打开*/
+{
+Log.d(TAG,"CBMessageReceiverService.handleSIMStateChangedReceivedaddCustomChanneltoList(subId,Channel1,50);");
+addCustomChanneltoList(subId,"4370",4370);
+isAddingDefaultChannel=false;
+
+//请注意:如果贵司做了开机默认关闭小区广播的feature,请取消下面这句code的注释
+//SmsManager.getSmsManagerForSubscriptionId(subId).activateCellBroadcastSms(false);//用于关闭小区广播开关
+
+}else{
+
+Log.d("CBMessageReceiverService","CBMessageReceiverService.handleSIMStateChangedReceivedactivateCellBroadcastSmsfail716");//modifybymtk_debug2015-3-05;
+//addretry
+if(!mServiceHandler.hasMessages(EVENT_RETRY_ADD_CHANNEL_TIME_OUT)){
+Messagemsg=mServiceHandler.obtainMessage(EVENT_RETRY_ADD_CHANNEL_TIME_OUT,intent);
+Log.d("CBMessageReceiverService","CBMessageReceiverService.handleSIMStateChangedReceivedsendretrymessage235");//modifybymtk_debug2015-3-19;
+mServiceHandler.sendMessageDelayed(msg,2000);
+isAddingDefaultChannel=true;
+}
+
+
+}
+
+}
+if(queryIfChannelInDatabase(subId,"921",921))
+{
+Log.d(TAG,"CBMessageReceiverService.handleSIMStateChangedReceivedsubid="+subId+"channel150indatabase");
+isAddingDefaultChannel=false;
+}else{
+Log.d("CBMessageReceiverService","CBMessageReceiverService.handleSIMStateChangedReceivedsubid="+subId+"channel150notindatabase699");//modifybymtk_debug2015-3-02;
+if(SmsManager.getSmsManagerForSubscriptionId(subId).activateCellBroadcastSms(true))/*这里会先把CB打开*/
+{
+Log.d(TAG,"CBMessageReceiverService.handleSIMStateChangedReceivedaddCustomChanneltoList(subId,Channel1,50);");
+addCustomChanneltoList(subId,"921",921);
+isAddingDefaultChannel=false;
+
+//请注意:如果贵司做了开机默认关闭小区广播的feature,请取消下面这句code的注释
+//SmsManager.getSmsManagerForSubscriptionId(subId).activateCellBroadcastSms(false);//用于关闭小区广播开关
+
+}else{
+
+Log.d("CBMessageReceiverService","CBMessageReceiverService.handleSIMStateChangedReceivedactivateCellBroadcastSmsfail716");//modifybymtk_debug2015-3-05;
+//addretry
+if(!mServiceHandler.hasMessages(EVENT_RETRY_ADD_CHANNEL_TIME_OUT)){
+Messagemsg=mServiceHandler.obtainMessage(EVENT_RETRY_ADD_CHANNEL_TIME_OUT,intent);
+Log.d("CBMessageReceiverService","CBMessageReceiverService.handleSIMStateChangedReceivedsendretrymessage235");//modifybymtk_debug2015-3-19;
+mServiceHandler.sendMessageDelayed(msg,2000);
+isAddingDefaultChannel=true;
+}
+
+
+}
+
+}
+
+}
+
+}
+
+privatevoidaddCustomChanneltoList(intmSubId,StringchannelName,intchannelNum){
+Log.d(TAG,"addCustomChanneltoList:mSubId="+mSubId
++",channelName="+channelName+",channelNum="+channelNum);
+
+SmsBroadcastConfigInfo[]objectList=newSmsBroadcastConfigInfo[1];
+objectList[0]=newSmsBroadcastConfigInfo(channelNum,channelNum,-1,-1,true);
+
+Log.d(TAG,"addCustomChanneltoList:setCellBroadcastSmsConfig");
+//SmsManagerEx.getDefault().setCellBroadcastSmsConfig(objectList,objectList,mSimId);
+booleanisSetConfigSuccess=SmsManager.getSmsManagerForSubscriptionId(mSubId).setCellBroadcastSmsConfig(objectList,objectList);
+if(isSetConfigSuccess){
+Log.d("CBMessageReceiverService","CBMessageReceiverService.addCustomChanneltoListsetchannel"+channelNum+"success784");//modifybymtk_debug2015-3-05;
+addChannelToDatabase(mSubId,channelName,channelNum);
+}else{
+Log.d("CBMessageReceiverService","CBMessageReceiverService.addCustomChanneltoListsetchannel"+channelNum+"failed786");//modifybymtk_debug2015-3-05;
+}
+
+
+Log.d(TAG,"CBMessageReceiverServiceaddCustomChanneltoList:functionend");
+}
+
+
+
+privatebooleanaddChannelToDatabase(intmSubId,StringchannelName,intchannelNum){
+//ClearChannel();
+Log.d(TAG,"addChannelToDatabase:mSubId="+mSubId
++",channelName="+channelName+",channelNum="+channelNum);
+String[]projection=newString[]{NUMBER,SUBID};
+StringSELECTIONNum="("+NUMBER+"="+channelNum+")";
+StringSELECTIONid="("+SUBID+"="+mSubId+")";
+Cursorcursornum=null;
+Cursorcursorid=null;
+
+Cursorcursorzz=this.getContentResolver().query(CHANNEL_URI,
+projection,
+NUMBER+"=?AND"+
+SUBID+"=?",
+newString[]{String.valueOf(channelNum),String.valueOf(mSubId)},
+null);
+Log.d(TAG,"addChannelToDatabase:cursor.getCount"+cursorzz.getCount());
+if(cursorzz.getCount()==0){//if((cursornum.getCount()==0)&&(cursorid.getCount()==0)){
+Log.d("CBMessageReceiverService","SmsReceiverService.addChannelToDatabaseaddmSubId="+mSubId
++",channelName="+channelName+",channelNum="+channelNum+"todatabase");//modifybymtk_debug2015-3-05;
+ContentValuesvalues=newContentValues();
+values.put(NAME,channelName);
+values.put(NUMBER,channelNum);
+values.put(ENABLE,true);//请注意:如果贵司希望预置的频道默认为disable状态,把true改成false即可
+values.put(SUBID,mSubId);
+try{
+//if(mSimId==PhoneConstants.SUB1){
+this.getContentResolver().insert(CHANNEL_URI,values);
+//}elseif(mSimId==PhoneConstants.SUB2){
+//this.getContentResolver().insert(CHANNEL_URI1,values);
+//}
+}catch(Exceptione){
+Log.d("CBMessageReceiverService","SmsReceiverService.addChannelToDatabaseexception828");//modifybymtk_debug2015-3-05;
+//cursornum.close();
+//cursorid.close();
+cursorzz.close();
+returnfalse;
+}
+//cursornum.close();
+//cursorid.close();
+cursorzz.close();
+returntrue;
+}
+else{
+//cursornum.close();
+//cursorid.close();
+cursorzz.close();
+returnfalse;
+}
+
+}
+
+
+privatebooleanqueryIfChannelInDatabase(intmSubId,StringchannelName,intchannelNum){
+
+Log.d(TAG,"queryIfChannelInDatabase:mSubId="+mSubId
++",channelName="+channelName+",channelNum="+channelNum);
+String[]projection=newString[]{NUMBER,SUBID};
+StringSELECTIONNum="("+NUMBER+"="+channelNum+")";
+StringSELECTIONid="("+SUBID+"="+mSubId+")";
+Cursorcursornum=null;
+Cursorcursorid=null;
+
+Cursorcursorzz=this.getContentResolver().query(CHANNEL_URI,
+projection,
+NUMBER+"=?AND"+
+SUBID+"=?",
+newString[]{String.valueOf(channelNum),String.valueOf(mSubId)},
+null);
+
+if(cursorzz!=null&&cursorzz.getCount()>0){
+//if((cursornum.getCount()!=0)&&(cursorid.getCount()!=0)){
+Log.d(TAG,"queryIfChannelInDatabase:cursor.getCount"+cursorzz.getCount());
+cursorzz.close();
+returntrue;
+
+
+}else{
+cursorzz.close();
+Log.d(TAG,"queryIfChannelInDatabase:returnfalse");
+returnfalse;
+}
+
+}
+//EndofVanzo:tanglei
+
privatevoidhandleCBMessageReceived(Intentintent){
//TODOneedreplacewithcbmessage.
Bundleextras=intent.getExtras();
@@-200,7+486,37@@publicclassCBMessageReceiverServiceextendsService{
}

if(messageUri!=null){
-CBMessagingNotification.updateNewMessageIndicator(subId,this,true);
+if(message.getServiceCategory()==919||
+message.getServiceCategory()==50||
+message.getServiceCategory()==921){
+//alertrepeatwithaudioandvibrate
+CellBroadcastAlertWakeLock.acquireScreenCpuWakeLock(this);
+IntentaudioIntent=newIntent(this,CellBroadcastAlertAudio.class);
+audioIntent.setAction(CellBroadcastAlertAudio.ACTION_START_ALERT_AUDIO);
+audioIntent.putExtra(CellBroadcastAlertAudio.ALERT_AUDIO_DURATION_EXTRA,10500);
+audioIntent.putExtra(CellBroadcastAlertAudio.ALERT_AUDIO_VIBRATE_EXTRA,true);
+startService(audioIntent);
+SimpleDateFormatsdf=newSimpleDateFormat("hh:mmaa.|dd/MM/yyyy");
+Stringtime=sdf.format(newDate(System.currentTimeMillis())).toString();
+finalContextsContext=getApplicationContext();
+AlertDialogalert=newAlertDialog.Builder(sContext)
+.setTitle("AlertadeEmergencia")
+.setMessage(message.getMessageBody()+"\n\n"+time)
+.setPositiveButton(android.R.string.ok,newDialogInterface.OnClickListener(){
+@Override
+publicvoidonClick(DialogInterfacedialog,intwhich){
+sContext.stopService(newIntent(sContext,CellBroadcastAlertAudio.class));
+dialog.dismiss();
+}
+})
+.create();
+alert.getWindow().setType(
+WindowManager.LayoutParams.TYPE_SYSTEM_ALERT);
+alert.setCancelable(false);
+alert.show();
+}else{
+CBMessagingNotification.updateNewMessageIndicator(subId,this,true);
+}
}
}

diff--gita/mediatek/proprietary/packages/apps/Mms/src/com/mediatek/cb/cbmsg/CBMessagingNotification.javab/mediatek/proprietary/packages/apps/Mms/src/com/mediatek/cb/cbmsg/CBMessagingNotification.java
indexf9c161e..addf59d100755
---a/mediatek/proprietary/packages/apps/Mms/src/com/mediatek/cb/cbmsg/CBMessagingNotification.java
+++b/mediatek/proprietary/packages/apps/Mms/src/com/mediatek/cb/cbmsg/CBMessagingNotification.java
@@-268,7+268,6@@publicclassCBMessagingNotification{
//Stringaddress=Conversation.getChannelNameFromId(context,channel_id);
Stringaddress;
address=CBMessage.getCBChannelName(subId,channelId);
-address=address+"("+channelId+")";
CBNotificationInfoinfo=getNewMessageNotificationInfo(
address,body,context,R.drawable.stat_notify_sms,
null,threadId,timeMillis,cursor.getCount(),
diff--gita/mediatek/proprietary/packages/apps/Mms/src/com/mediatek/cb/cbmsg/CellBroadcastAlertAudio.javab/mediatek/proprietary/packages/apps/Mms/src/com/mediatek/cb/cbmsg/CellBroadcastAlertAudio.java
newfilemode100644
index0000000..f868e44
---/dev/null
+++b/mediatek/proprietary/packages/apps/Mms/src/com/mediatek/cb/cbmsg/CellBroadcastAlertAudio.java
@@-0,0+1,435@@
+/*
+*Copyright(C)2011TheAndroidOpenSourceProject
+*
+*LicensedundertheApacheLicense,Version2.0(the"License");
+*youmaynotusethisfileexceptincompliancewiththeLicense.
+*YoumayobtainacopyoftheLicenseat
+*
+*http://www.apache.org/licenses/LICENSE-2.0+*
+*Unlessrequiredbyapplicablelaworagreedtoinwriting,software
+*distributedundertheLicenseisdistributedonan"ASIS"BASIS,
+*WITHOUTWARRANTIESORCONDITIONSOFANYKIND,eitherexpressorimplied.
+*SeetheLicenseforthespecificlanguagegoverningpermissionsand
+*limitationsundertheLicense.
+*/
+
+packagecom.mediatek.cb.cbmsg;
+
+importandroid.app.Service;
+importandroid.content.BroadcastReceiver;
+importandroid.content.Context;
+importandroid.content.Intent;
+importandroid.content.IntentFilter;
+importandroid.content.SharedPreferences;
+importandroid.content.res.AssetFileDescriptor;
+importandroid.content.res.Resources;
+importandroid.media.AudioManager;
+importandroid.media.MediaPlayer;
+importandroid.media.MediaPlayer.OnErrorListener;
+importandroid.os.Handler;
+importandroid.os.IBinder;
+importandroid.os.Message;
+importandroid.os.Vibrator;
+importandroid.speech.tts.TextToSpeech;
+importandroid.telephony.PhoneStateListener;
+importandroid.telephony.TelephonyManager;
+importandroid.util.Log;
+importjava.io.IOException;
+importjava.util.HashMap;
+importjava.util.ArrayList;
+importjava.util.Locale;
+importcom.android.mms.R;
+
+/**
+*Managesalertaudioandvibrationandtext-to-speech.Runsasaservicesothat
+*itcancontinuetoplayifanotheractivityoverridestheCellBroadcastListActivity.
+*/
+publicclassCellBroadcastAlertAudioextendsService{
+privatestaticfinalStringTAG="CellBroadcastAlertAudio";
+privatestaticfinalintPRESIDENT_ALERT_ID=4370;
+/**Actiontostartplayingalertaudio/vibration/speech.*/
+staticfinalStringACTION_START_ALERT_AUDIO="ACTION_START_ALERT_AUDIO";
+
+/**Extraforalertaudioduration(fromsettings).*/
+publicstaticfinalStringALERT_AUDIO_DURATION_EXTRA=
+"com.mediatek.cellbroadcastreceiver.ALERT_AUDIO_DURATION";
+
+/**Extraformessagebodytospeak(ifspeechenabledinsettings).*/
+publicstaticfinalStringALERT_AUDIO_MESSAGE_BODY=
+"com.mediatek.cellbroadcastreceiver.ALERT_AUDIO_MESSAGE_BODY";
+
+/**Extrafortext-to-speechlanguage(ifspeechenabledinsettings).*/
+publicstaticfinalStringALERT_AUDIO_MESSAGE_LANGUAGE=
+"com.mediatek.cellbroadcastreceiver.ALERT_AUDIO_MESSAGE_LANGUAGE";
+
+/**ExtraformessageID.*/
+publicstaticfinalStringALERT_AUDIO_MESSAGE_ID=
+"com.mediatek.cellbroadcastreceiver.ALERT_AUDIO_MESSAGE_ID";
+
+/**Extraforalertaudiovibrationenabled(fromsettings).*/
+publicstaticfinalStringALERT_AUDIO_VIBRATE_EXTRA=
+"com.mediatek.cellbroadcastreceiver.ALERT_AUDIO_VIBRATE";
+
+/**ExtraforalertaudioETWSbehavior(alwaysvibrate,eveninsilentmode).*/
+publicstaticfinalStringALERT_AUDIO_ETWS_VIBRATE_EXTRA=
+"com.mediatek.cellbroadcastreceiver.ALERT_AUDIO_ETWS_VIBRATE";
+
+privatestaticfinalStringTTS_UTTERANCE_ID=
+"com.mediatek.cellbroadcastreceiver.UTTERANCE_ID";
+
+/**Pausedurationbetweenalertsoundandalertspeech.*/
+privatestaticfinalintPAUSE_DURATION_BEFORE_SPEAKING_MSEC=1000;
+
+//volumechangeaction
+privatestaticfinalStringVOLUME_CHANGED_ACTION="android.media.VOLUME_CHANGED_ACTION";
+
+/**Vibrationusesthesameon/offpatternastheCMASalerttone*/
+privatestaticfinallong[]sVibratePattern={0,2000,500,1000,500,1000,500,
+2000,500,1000,500,1000};
+
+privatestaticfinalintSTATE_IDLE=0;
+privatestaticfinalintSTATE_ALERTING=1;
+privatestaticfinalintSTATE_PAUSING=2;
+privatestaticfinalintSTATE_SPEAKING=3;
+
+//Internalmessages
+privatestaticfinalintALERT_SOUND_FINISHED=1000;
+privatestaticfinalintALERT_PAUSE_FINISHED=1001;
+///M:addforrepeatalertfeature.@{
+privatestaticfinalStringPREF_NAME="com.mediatek.cellbroadcastreceiver_preferences";
+privatestaticfinalintREPEAT_ALERT_START=1002;
+privatestaticfinalint[]sRepeatTimes={60000,60000*3,60000*5};
+privatebooleanmEnableRepeat=true;
+privateintmDuration;
+privateArrayList<Integer>mRepeatPattern;
+///@}
+
+privateintmState;
+
+privateintmMessageId;
+privateStringmMessageBody;
+privateStringmMessageLanguage;
+privatebooleanmEnableVibrate;
+privatebooleanmEnableAudio;
+privatebooleanmRegisteredVolumeReceiver=false;
+
+privateVibratormVibrator;
+privateMediaPlayermMediaPlayer;
+privateAudioManagermAudioManager;
+privateTelephonyManagermTelephonyManager;
+privateintmInitialCallState;
+
+privatefinalHandlermHandler=newHandler(){
+@Override
+publicvoidhandleMessage(Messagemsg){
+switch(msg.what){
+caseALERT_SOUND_FINISHED:
+///@}
+stop();//stopalertsound
+//ifwecanspeakthemessagetext
+if(mMessageBody!=null){
+mHandler.sendMessageDelayed(mHandler.obtainMessage(ALERT_PAUSE_FINISHED),
+PAUSE_DURATION_BEFORE_SPEAKING_MSEC);
+mState=STATE_PAUSING;
+}elseif(!mEnableRepeat||mRepeatPattern.isEmpty()){///M:
+//addforrepeatalertfeature.donotstopserviceuntilendrepeat.
+stopSelf();
+mState=STATE_IDLE;
+}
+break;
+
+caseALERT_PAUSE_FINISHED:
+if(mMessageBody!=null){
+mState=STATE_SPEAKING;
+}elseif(!mEnableRepeat||mRepeatPattern.isEmpty()){///M:
+//addforrepeatalertfeature.donotstopserviceuntilendrepeat.
+Log.w(TAG,"TTSenginenotreadyorlanguagenotsupported");
+stopSelf();
+mState=STATE_IDLE;
+}
+
+break;
+
+///M:addforrepeatalertfeature.@{
+caseREPEAT_ALERT_START:
+schedulePlay();
+break;
+///@}
+default:
+Log.e(TAG,"Handlerreceivedunknownmessage,what="+msg.what);
+}
+}
+};
+
+privatefinalPhoneStateListenermPhoneStateListener=newPhoneStateListener(){
+@Override
+publicvoidonCallStateChanged(intstate,Stringignored){
+//Stopthealertsoundandspeechifthecallstatechanges.
+if(state!=TelephonyManager.CALL_STATE_IDLE
+&&state!=mInitialCallState){
+stopSelf();
+}
+}
+};
+
+privateBroadcastReceivervolumeChangeReceiver=newBroadcastReceiver(){
+
+@Override
+publicvoidonReceive(Contextarg0,Intentarg1){
+Log.d(TAG,"receivevolumechangebroadcast,stopsoundandvibrationalert");
+//stop();
+}
+
+};
+
+
+@Override
+publicvoidonCreate(){
+mVibrator=(Vibrator)getSystemService(Context.VIBRATOR_SERVICE);
+mAudioManager=(AudioManager)getSystemService(Context.AUDIO_SERVICE);
+//Listenforincomingcallstokillthealarm.
+mTelephonyManager=
+(TelephonyManager)getSystemService(Context.TELEPHONY_SERVICE);
+mTelephonyManager.listen(
+mPhoneStateListener,PhoneStateListener.LISTEN_CALL_STATE);
+}
+
+@Override
+publicvoidonDestroy(){
+//unregistervolumeregister
+if(mRegisteredVolumeReceiver){
+mRegisteredVolumeReceiver=false;
+unregisterReceiver(volumeChangeReceiver);
+}
+
+///M:addforrepeatalertfeature.cancelthenextschedulewhendestroy.@{
+if(mEnableRepeat){
+cancelRepeat();
+}
+///@}
+
+//stopaudio,vibrationandTTS
+stop();
+//Stoplisteningforincomingcalls.
+mTelephonyManager.listen(mPhoneStateListener,0);
+//releaseCPUwakelockacquiredbyCellBroadcastAlertService
+CellBroadcastAlertWakeLock.releaseCpuLock();
+}
+
+@Override
+publicIBinderonBind(Intentintent){
+returnnull;
+}
+
+@Override
+publicintonStartCommand(Intentintent,intflags,intstartId){
+//Nointent,tellthesystemnottorestartus.
+if(intent==null){
+stopSelf();
+returnSTART_NOT_STICKY;
+}
+
+///M:addforrepeatalertfeature.
+cancelRepeat();
+initAlertSequence();
+
+//ThisextrashouldalwaysbeprovidedbyCellBroadcastAlertService,
+//butdefaultto10.5secondsjusttobesafe(CMASrequirement).
+intduration=intent.getIntExtra(ALERT_AUDIO_DURATION_EXTRA,10500);
+mMessageId=intent.getIntExtra(ALERT_AUDIO_MESSAGE_ID,0);
+//Gettexttospeak(ifenabledbyuser)
+mMessageBody=intent.getStringExtra(ALERT_AUDIO_MESSAGE_BODY);
+mMessageLanguage=intent.getStringExtra(ALERT_AUDIO_MESSAGE_LANGUAGE);
+
+mEnableVibrate=intent.getBooleanExtra(ALERT_AUDIO_VIBRATE_EXTRA,true);
+booleanforceVibrate=intent.getBooleanExtra(ALERT_AUDIO_ETWS_VIBRATE_EXTRA,false);
+
+mEnableAudio=true;
+Log.d(TAG,"mEnableAudio:"+mEnableAudio+",mEnableVibrate:"+mEnableVibrate);
+///M:addforrepeatalert.@{
+mDuration=duration;
+schedulePlay();
+///@}
+//registervolumechangereceiver
+if(!mRegisteredVolumeReceiver){
+IntentFilterintentFilter=newIntentFilter();
+intentFilter.addAction(VOLUME_CHANGED_ACTION);
+registerReceiver(volumeChangeReceiver,intentFilter);
+mRegisteredVolumeReceiver=true;
+}
+
+//Recordtheinitialcallstateheresothatthenewalarmhasthe
+//neweststate.
+mInitialCallState=mTelephonyManager.getCallState();
+
+returnSTART_STICKY;
+}
+
+//Volumesuggestedbymediateamforin-callalarms.
+privatestaticfinalfloatIN_CALL_VOLUME=0.125f;
+
+/**
+*Startplayingthealertsound,andsenddelayedmessagewhenit'stimetostop.
+*@paramdurationthealertsounddurationinmilliseconds
+*/
+privatevoidplay(){
+//stop()checkstoseeifwearealreadyplaying.
+stop();
+
+
+//Startthevibrationfirst.
+if(mEnableVibrate||forceAlert()){
+mVibrator.vibrate(sVibratePattern,-1);
+}
+
+if(mEnableAudio||forceAlert()){
+//futureoptimization:reusemediaplayerobject
+mMediaPlayer=newMediaPlayer();
+mMediaPlayer.setOnErrorListener(newOnErrorListener(){
+publicbooleanonError(MediaPlayermp,intwhat,intextra){
+Log.e(TAG,"Erroroccurredwhileplayingaudio.");
+mp.stop();
+mp.release();
+mMediaPlayer=null;
+returntrue;
+}
+});
+
+try{
+//Checkifweareinacall.Ifweare,playthealert
+//soundatalowvolumetonotdisruptthecall.
+if(mTelephonyManager.getCallState()
+!=TelephonyManager.CALL_STATE_IDLE){
+Log.v(TAG,"incall:reducingvolume");
+mMediaPlayer.setVolume(IN_CALL_VOLUME,IN_CALL_VOLUME);
+}
+else{
+floatvolume=1.0f;
+
+Log.d(TAG,"Alertvolume:"+volume);
+mMediaPlayer.setVolume(volume,volume);
+}
+
+//startplayingalertaudio(unlessmastervolumeisvibrateonlyorsilent).
+setDataSourceFromResource(getResources(),mMediaPlayer,
+R.raw.attention_signal);
+
+intstreamType=AudioManager.STREAM_NOTIFICATION;
+streamType=AudioManager.STREAM_ALARM;
+mAudioManager.setStreamVolume(streamType,
+mAudioManager.getStreamMaxVolume(streamType),
+AudioManager.FLAG_PLAY_SOUND);
+mAudioManager.requestAudioFocus(null,streamType,
+AudioManager.AUDIOFOCUS_GAIN_TRANSIENT);
+startAlarm(mMediaPlayer);
+}catch(IllegalStateExceptionex){
+Log.e(TAG,"Failedtoplayalertsound",ex);
+}catch(IOExceptione){
+Log.e(TAG,"IOException");
+}
+}
+
+//stopalertafterthespecifiedduration
+mHandler.sendMessageDelayed(mHandler.obtainMessage(ALERT_SOUND_FINISHED),mDuration);
+
+mState=STATE_ALERTING;
+}
+
+//Dothecommonstuffwhenstartingthealarm.
+privatevoidstartAlarm(MediaPlayerplayer)
+throwsjava.io.IOException,IllegalArgumentException,IllegalStateException{
+intstreamType=AudioManager.STREAM_NOTIFICATION;
+streamType=AudioManager.STREAM_ALARM;
+player.setAudioStreamType(streamType);
+player.setLooping(true);
+player.prepare();
+player.start();
+}
+
+privatestaticvoidsetDataSourceFromResource(Resourcesresources,
+MediaPlayerplayer,intres)throwsjava.io.IOException{
+AssetFileDescriptorafd=resources.openRawResourceFd(res);
+if(afd!=null){
+player.setDataSource(afd.getFileDescriptor(),afd.getStartOffset(),
+afd.getLength());
+afd.close();
+}
+}
+
+/**
+*Stopsalertaudioandspeech.
+*/
+publicvoidstop(){
+
+mHandler.removeMessages(ALERT_SOUND_FINISHED);
+mHandler.removeMessages(ALERT_PAUSE_FINISHED);
+
+if(mState==STATE_ALERTING){
+//Stopaudioplaying
+if(mMediaPlayer!=null){
+try{
+mMediaPlayer.stop();
+mMediaPlayer.release();
+}catch(IllegalStateExceptione){
+//catch"UnabletoretrieveAudioTrackpointerforstop()"exception
+Log.e(TAG,"exceptiontryingtostopmediaplayer");
+}
+mMediaPlayer=null;
+}
+
+//Stopvibrator
+mVibrator.cancel();
+}
+mAudioManager.abandonAudioFocus(null);
+mState=STATE_IDLE;
+}
+
+privatestaticvoidlog(Stringmsg){
+Log.d(TAG,msg);
+}
+
+/**
+*M:addforrepeatalertfeature.
+*/
+privatevoidinitAlertSequence(){
+mEnableRepeat=true;
+mRepeatPattern=newArrayList<Integer>();
+if(mEnableRepeat){
+for(inti:sRepeatTimes){
+mRepeatPattern.add(i);
+}
+}
+}
+
+/**
+*M:addforrepeatalertfeature.
+*@paramdurationthedurationofonealerttime.
+*/
+privatevoidschedulePlay(){
+//if(mAudioManager.getRingerMode()!=AudioManager.RINGER_MODE_SILENT){
+play();
+//}
+if(mEnableRepeat){
+mHandler.sendMessageDelayed(mHandler.obtainMessage(REPEAT_ALERT_START),mDuration+500);
+}
+}
+
+/**
+*M:addforrepeatalertfeature.
+*/
+publicvoidcancelRepeat(){
+mHandler.removeMessages(REPEAT_ALERT_START);
+}
+
+/**
+*M:forcealarm(exceptfirstalert)insilentmode.
+*@return
+*/
+privatebooleanforceAlert(){
+booleanisSilentMode=mAudioManager.getRingerMode()==AudioManager.RINGER_MODE_SILENT;
+booleanisRepeating=mEnableRepeat&&(mRepeatPattern.size()<sRepeatTimes.length);
+returnisSilentMode&&isRepeating;
+}
+
+}
diff--gita/mediatek/proprietary/packages/apps/Mms/src/com/mediatek/cb/cbmsg/CellBroadcastAlertWakeLock.javab/mediatek/proprietary/packages/apps/Mms/src/com/mediatek/cb/cbmsg/CellBroadcastAlertWakeLock.java
newfilemode100644
index0000000..ac296db
---/dev/null
+++b/mediatek/proprietary/packages/apps/Mms/src/com/mediatek/cb/cbmsg/CellBroadcastAlertWakeLock.java
@@-0,0+1,52@@
+/*
+*Copyright(C)2012TheAndroidOpenSourceProject
+*
+*LicensedundertheApacheLicense,Version2.0(the"License");
+*youmaynotusethisfileexceptincompliancewiththeLicense.
+*YoumayobtainacopyoftheLicenseat
+*
+*http://www.apache.org/licenses/LICENSE-2.0+*
+*Unlessrequiredbyapplicablelaworagreedtoinwriting,software
+*distributedundertheLicenseisdistributedonan"ASIS"BASIS,
+*WITHOUTWARRANTIESORCONDITIONSOFANYKIND,eitherexpressorimplied.
+*SeetheLicenseforthespecificlanguagegoverningpermissionsand
+*limitationsundertheLicense.
+*/
+
+packagecom.mediatek.cb.cbmsg;
+
+importandroid.content.Context;
+importandroid.os.PowerManager;
+importandroid.util.Log;
+
+/**
+*HoldawakelockthatcanbeacquiredintheCellBroadcastAlertServiceand
+*releasedintheCellBroadcastAlertFullScreenActivity.
+*/
+classCellBroadcastAlertWakeLock{
+privatestaticfinalStringTAG="CellBroadcastAlertWakeLock";
+
+privatestaticPowerManager.WakeLocksCpuWakeLock;
+
+privateCellBroadcastAlertWakeLock(){}
+
+staticvoidacquireScreenCpuWakeLock(Contextcontext){
+if(sCpuWakeLock!=null){
+return;
+}
+PowerManagerpm=(PowerManager)context.getSystemService(Context.POWER_SERVICE);
+sCpuWakeLock=pm.newWakeLock(PowerManager.PARTIAL_WAKE_LOCK
+|PowerManager.ACQUIRE_CAUSES_WAKEUP|PowerManager.ON_AFTER_RELEASE,TAG);
+sCpuWakeLock.acquire();
+Log.d(TAG,"acquiredscreen+CPUwakelock");
+}
+
+staticvoidreleaseCpuLock(){
+if(sCpuWakeLock!=null){
+sCpuWakeLock.release();
+sCpuWakeLock=null;
+Log.d(TAG,"releasedscreen+CPUwakelock");
+}
+}
+}
diff--gita/mediatek/proprietary/packages/apps/Mms/src/com/mediatek/cb/cbsettings/CellBroadcastSettings.javab/mediatek/proprietary/packages/apps/Mms/src/com/mediatek/cb/cbsettings/CellBroadcastSettings.java
indexc6a152b..a15c329100755
---a/mediatek/proprietary/packages/apps/Mms/src/com/mediatek/cb/cbsettings/CellBroadcastSettings.java
+++b/mediatek/proprietary/packages/apps/Mms/src/com/mediatek/cb/cbsettings/CellBroadcastSettings.java
@@-218,6+218,13@@publicclassCellBroadcastSettingsextendsTimeConsumingPreferenceActivity
}else{
channel.setSummary(R.string.disable);
}
+if(title.equals("919(919)")
+||title.equals("50(50)")
+||title.equals("4370(4370)")
+||title.equals("921(921)")){
+channel.setEnabled(false);
+channel.setSelectable(false);
+}

channel.setOnPreferenceClickListener(newOnPreferenceClickListener(){
publicbooleanonPreferenceClick(Preferencearg0){
@@-560,6+567,7@@publicclassCellBroadcastSettingsextendsTimeConsumingPreferenceActivity
}
StringjStr=String.valueOf(j);
CellBroadcastChannelchannel=getChannelObjectFromKey(jStr);
+/*Vanzo:tangleion:Thu,08Sep201610:34:04+0800
if(channel!=null){
channel.setChannelState(state);
}else{
@@-573,6+581,8@@publicclassCellBroadcastSettingsextendsTimeConsumingPreferenceActivity
mChannelArray.add(newChannel);
mChannelMap.put(jStr,newChannel);
}
+*/
+//Endof
}
}
}
diff--gita/mediatek/proprietary/packages/apps/CMASReceiver/res/values-es-rUS/mtk_string.xmlb/mediatek/proprietary/packages/apps/CMASReceiver/res/values-es-rUS/mtk_string.xml
index38f7aa5..dcf14db100755
---a/mediatek/proprietary/packages/apps/CMASReceiver/res/values-es-rUS/mtk_string.xml
+++b/mediatek/proprietary/packages/apps/CMASReceiver/res/values-es-rUS/mtk_string.xml
@@-43,7+43,7@@
   <stringname="enable_repeat_alert_summary">Pararecalusuariodealertasnoleídosinterm</string>
   <stringname="enable_all_alert_title">Todasalertasact</string>
   <stringname="enable_all_imminent_alerts_title">Todosmensdeameninm</string>
-  <stringname="enable_cell_broadcast_title">AlertasdeEm</string>
+  <stringname="enable_cell_broadcast_title">AlertadeEmergencia</string>
   <stringname="alert_sound_volume">Volumendesonidodealerta</string>
   <stringname="alert_volume_summary">Ajdevoldelsonido</string>
-</resources>
\Nonewlineatendoffile
+</resources>
diff--gita/mediatek/proprietary/packages/apps/CMASReceiver/res/values-es-rUS/strings.xmlb/mediatek/proprietary/packages/apps/CMASReceiver/res/values-es-rUS/strings.xml
indexa2460bb..e8fc8ab100755
---a/mediatek/proprietary/packages/apps/CMASReceiver/res/values-es-rUS/strings.xml
+++b/mediatek/proprietary/packages/apps/CMASReceiver/res/values-es-rUS/strings.xml
@@-11,10+11,10@@
   limitationsundertheLicense.
 -->
 <resourcesxmlns:android="http://schemas.android.com/apk/res/android"xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
-  <stringname="app_label">AlertasdeEm</string>
+  <stringname="app_label">AlertadeEmergencia</string>
   <stringname="sms_cb_settings">ConfigdelConmdeAlertas</string>
   <stringname="button_dismiss">"Aceptar"</string>
-  <stringname="no_cell_broadcasts">"Nohayalertasactivasentuzona.PuedesmodificarlaconfiguracióndelasalertasenelmenúConfiguración."</string>
+  <stringname="no_cell_broadcasts">"Nohayalertasactivasentuzona."</string>
   <stringname="menu_preferences">"Configuración"</string>
   <stringname="menu_delete_all">Elimtodasalertas</string>
   <stringname="message_options">"Opcionesdemensaje"</string>
@@-30,11+30,11@@
   <stringname="etws_earthquake_and_tsunami_warning">"Alertadeterremotosytsunamis"</string>
   <stringname="etws_test_message">"MensajedepruebadeETWS"</string>
   <stringname="etws_other_emergency_type">"Advertenciadeemergencia"</string>
-  <stringname="cmas_presidential_level_alert">"Alertapresidencial"</string>
+  <stringname="cmas_presidential_level_alert">"AlertadeEmergencia"</string>
   <stringname="cmas_extreme_alert">"Alertadeemergencia:extrema"</string>
   <stringname="cmas_severe_alert">"Alertadeemergencia:grave"</string>
   <stringname="cmas_amber_alert">AlerÁMBAR</string>
-  <stringname="cmas_required_monthly_test">"Pruebamensualdealertadeemergencia"</string>
+  <stringname="cmas_required_monthly_test">"AlertadeEmergencia"</string>
   <stringname="cmas_exercise_alert">"Alertadeemergencia(ejercicio)"</string>
   <stringname="cmas_operator_defined_alert">"Alertadeemergencia(operador)"</string>
   <stringname="pws_other_message_identifiers">"Alertadeemergencia"</string>
diff--gita/mediatek/proprietary/packages/apps/CMASReceiver/res/values-zh-rCN/strings.xmlb/mediatek/proprietary/packages/apps/CMASReceiver/res/values-zh-rCN/strings.xml
indexa97c363..d66f27b100644
---a/mediatek/proprietary/packages/apps/CMASReceiver/res/values-zh-rCN/strings.xml
+++b/mediatek/proprietary/packages/apps/CMASReceiver/res/values-zh-rCN/strings.xml
@@-19,7+19,7@@
   <stringname="app_label"msgid="7559008249836700599">"紧急警报"</string>
   <stringname="sms_cb_settings"msgid="971917159442705371">"警报开关设置"</string>
   <stringname="button_dismiss"msgid="1234221657930516287">"确定"</string>
-  <stringname="no_cell_broadcasts"msgid="5409324337492758562">"您所在的区域没有任何活动的警报。您可以使用“设置”菜单选项更改警报设置。"</string>
+  <stringname="no_cell_broadcasts"msgid="5409324337492758562">"您所在的区域没有任何活动的警报。"</string>
   <stringname="menu_preferences"msgid="3596514894131599202">"设置"</string>
   <stringname="menu_delete_all"msgid="3940997343921149800">"删除所有警报"</string>
   <stringname="message_options"msgid="3178489901903589574">"短信选项"</string>
diff--gita/mediatek/proprietary/packages/apps/CMASReceiver/res/values/strings.xmlb/mediatek/proprietary/packages/apps/CMASReceiver/res/values/strings.xml
index46e2d51..85599b7100755
---a/mediatek/proprietary/packages/apps/CMASReceiver/res/values/strings.xml
+++b/mediatek/proprietary/packages/apps/CMASReceiver/res/values/strings.xml
@@-27,7+27,7@@
   <stringname="button_dismiss">OK</string>
 
   <!--Textforlistviewwhenempty(nobroadcasts).[CHARLIMIT=200]-->
-  <stringname="no_cell_broadcasts">Therearenoactivealertsinyourarea.YoucanchangetheAlertsettingsusingtheSettingsmenuoption.</string>
+  <stringname="no_cell_broadcasts">Therearenoactivealertsinyourarea.</string>
 
   <!--Menuitemforaccessingapplicationsettings.[CHARLIMIT=30]-->
   <stringname="menu_preferences">Settings</string>
diff--gita/mediatek/proprietary/packages/apps/CMASReceiver/res/xml/default_preference.xmlb/mediatek/proprietary/packages/apps/CMASReceiver/res/xml/default_preference.xml
indexc86e3d2..2230494100755
---a/mediatek/proprietary/packages/apps/CMASReceiver/res/xml/default_preference.xml
+++b/mediatek/proprietary/packages/apps/CMASReceiver/res/xml/default_preference.xml
@@-4,11+4,11@@
   <settingkey="enable_cmas_presidential_threat_alerts"defaultValue="true"/>
   <settingkey="enable_cmas_imminent_threat_alerts"defaultValue="true"/>
   <settingkey="enable_cmas_amber_threat_alerts"defaultValue="true"/>
-  <settingkey="enable_cmas_speech_threat_alerts"defaultValue="true"/>
+  <settingkey="enable_cmas_speech_threat_alerts"defaultValue="false"/>
   <settingkey="cmas_preview_alert_tone"defaultValue="true"/>
   <settingkey="enable_cmas_extreme_threat_alerts" defaultValue="true"/>
   <settingkey="enable_cmas_severe_threat_alerts" defaultValue="true"/>
-  <settingkey="enable_cmas_rmt_support" defaultValue="false"/>
-  <settingkey="enable_cmas_exercise_support" defaultValue="false"/>
+  <settingkey="enable_cmas_rmt_support" defaultValue="true"/>
+  <settingkey="enable_cmas_exercise_support" defaultValue="true"/>
   <settingkey="enable_cmas_repeat_alert"defaultValue="true"/>
 </resources>
diff--gita/mediatek/proprietary/packages/apps/CMASReceiver/res/xml/preferences.xmlb/mediatek/proprietary/packages/apps/CMASReceiver/res/xml/preferences.xml
index340830a..e509d73100755
---a/mediatek/proprietary/packages/apps/CMASReceiver/res/xml/preferences.xml
+++b/mediatek/proprietary/packages/apps/CMASReceiver/res/xml/preferences.xml
@@-57,7+57,7@@
               android:summary="@string/enable_alert_vibrate_summary"
               android:title="@string/enable_alert_vibrate_title"/>
 
-    <CheckBoxPreferenceandroid:defaultValue="true"
+    <CheckBoxPreferenceandroid:defaultValue="false"
               android:key="enable_alert_speech"
               android:summary="@string/enable_alert_speech_summary"
               android:title="@string/enable_alert_speech_title"/>
diff--gita/mediatek/proprietary/packages/apps/CMASReceiver/res/xml/preferences_main.xmlb/mediatek/proprietary/packages/apps/CMASReceiver/res/xml/preferences_main.xml
index18a8dce..a8dee3e100755
---a/mediatek/proprietary/packages/apps/CMASReceiver/res/xml/preferences_main.xml
+++b/mediatek/proprietary/packages/apps/CMASReceiver/res/xml/preferences_main.xml
@@-67,7+67,7@@
 
     <!--EnableSpeakalertmessage-->
     <com.mediatek.cellbroadcastreceiver.CheckBoxAndSettingsPreference
-      android:defaultValue="true"
+      android:defaultValue="false"
       android:key="enable_cmas_speech_threat_alerts"
       android:summary="@string/enable_alert_speech_summary"
       android:title="@string/enable_alert_speech_title"/>
diff--gita/mediatek/proprietary/packages/apps/CMASReceiver/src/com/mediatek/cellbroadcastreceiver/CMASAlertFullWindow.javab/mediatek/proprietary/packages/apps/CMASReceiver/src/com/mediatek/cellbroadcastreceiver/CMASAlertFullWindow.java
index3fa2394..f3c8601100755
---a/mediatek/proprietary/packages/apps/CMASReceiver/src/com/mediatek/cellbroadcastreceiver/CMASAlertFullWindow.java
+++b/mediatek/proprietary/packages/apps/CMASReceiver/src/com/mediatek/cellbroadcastreceiver/CMASAlertFullWindow.java
@@-417,6+417,11@@publicclassCMASAlertFullWindow{
       Log.i(TAG,"updateAlertIcon::thisisnormalmessage");
       titleTextView.setText(titleId);
     }
+    if(message.getServiceCategory()==4370){
+      titleTextView.setText("AlertadeEmergencia");
+    }elseif(message.getServiceCategory()==4380){
+      titleTextView.setText("AlertadeEmergencia");
+    }
 
     TextViewtextViewMsgBody=(TextView)view.findViewById(R.id.message);
 /*    if(getShowMsgId()){
diff--gita/mediatek/proprietary/packages/apps/CMASReceiver/src/com/mediatek/cellbroadcastreceiver/CMASPresentationService.javab/mediatek/proprietary/packages/apps/CMASReceiver/src/com/mediatek/cellbroadcastreceiver/CMASPresentationService.java
index1eb829d..f701f0e100755
---a/mediatek/proprietary/packages/apps/CMASReceiver/src/com/mediatek/cellbroadcastreceiver/CMASPresentationService.java
+++b/mediatek/proprietary/packages/apps/CMASReceiver/src/com/mediatek/cellbroadcastreceiver/CMASPresentationService.java
@@-255,7+255,7@@publicclassCMASPresentationServiceextendsService{
 
   privatebooleangetEnbaleAlertSpeech(){
     returnPreferenceManager.getDefaultSharedPreferences(this).getBoolean(
-        CheckBoxAndSettingsPreference.KEY_ENABLE_ALERT_SPEECH,true);
+        CheckBoxAndSettingsPreference.KEY_ENABLE_ALERT_SPEECH,false);
   }
 
 }
diff--gita/mediatek/proprietary/packages/apps/CMASReceiver/src/com/mediatek/cellbroadcastreceiver/CellBroadcastAlertAudio.javab/mediatek/proprietary/packages/apps/CMASReceiver/src/com/mediatek/cellbroadcastreceiver/CellBroadcastAlertAudio.java
index429634f..5695da0100755
---a/mediatek/proprietary/packages/apps/CMASReceiver/src/com/mediatek/cellbroadcastreceiver/CellBroadcastAlertAudio.java
+++b/mediatek/proprietary/packages/apps/CMASReceiver/src/com/mediatek/cellbroadcastreceiver/CellBroadcastAlertAudio.java
@@-171,11+171,7@@publicclassCellBroadcastAlertAudioextendsServiceimplementsTextToSpeech.OnI
 
         ///M:addforrepeatalertfeature.@{
         caseREPEAT_ALERT_START:
-          if(DBG)log("REPEAT_ALERT_START");
-          if(!mRepeatPattern.isEmpty()){
-            mRepeatPattern.remove(0);
-            play();
-          }
+          schedulePlay();
           break;
         ///@}
         default:
@@-200,7+196,7@@publicclassCellBroadcastAlertAudioextendsServiceimplementsTextToSpeech.OnI
     @Override
     publicvoidonReceive(Contextarg0,Intentarg1){
       Log.d(TAG,"receivevolumechangebroadcast,stopsoundandvibrationalert");
-      stop();
+      //stop();
     }
 
   };
@@-274,7+270,7@@publicclassCellBroadcastAlertAudioextendsServiceimplementsTextToSpeech.OnI
     }
 
     ///M:addforrepeatalertfeature.cancelthenextschedulewhendestroy.@{
-    if(mEnableRepeat&&(mRepeatPattern!=null)&&!mRepeatPattern.isEmpty()){
+    if(mEnableRepeat){
       cancelRepeat();
     }
     ///@}
@@-324,37+320,7@@publicclassCellBroadcastAlertAudioextendsServiceimplementsTextToSpeech.OnI
     mEnableVibrate=intent.getBooleanExtra(ALERT_AUDIO_VIBRATE_EXTRA,true);
     booleanforceVibrate=intent.getBooleanExtra(ALERT_AUDIO_ETWS_VIBRATE_EXTRA,false);
 
-    switch(mAudioManager.getRingerMode()){
-      caseAudioManager.RINGER_MODE_SILENT:
-        if(DBG)log("Ringermode:silent");
-        mEnableVibrate=forceVibrate;
-        mEnableAudio=false;
-        break;
-
-      caseAudioManager.RINGER_MODE_VIBRATE:
-        if(DBG)log("Ringermode:vibrate");
-        mEnableAudio=false;
-        break;
-
-      caseAudioManager.RINGER_MODE_NORMAL:
-      default:
-        if(DBG)log("Ringermode:normal");
-        ///M:addtodistinguishgeneralandoutdoormode.Donotvibrate
-        //ingeneralmode.@{
-        if(!mAudioManager.shouldVibrate(AudioManager.VIBRATE_TYPE_NOTIFICATION)){
-          mEnableVibrate=forceVibrate;
-        }
-        ///@}
-        mEnableAudio=true;
-        break;
-    }
-
-    ICmasMainSettingsExtoptSetAlertAudioVibration=(ICmasMainSettingsExt)
-        CellBroadcastPluginManager.getCellBroadcastPluginObject(
-        CellBroadcastPluginManager.CELLBROADCAST_PLUGIN_TYPE_MAIN_SETTINGS);
-
-      mEnableAudio=optSetAlertAudioVibration.setAlertVolumeVibrate(mMessageId,mEnableAudio);
-      mEnableVibrate=optSetAlertAudioVibration.setAlertVolumeVibrate(mMessageId,mEnableVibrate);
+    mEnableAudio=true;
 
     Log.d(TAG,"mEnableAudio:"+mEnableAudio+",mEnableVibrate:"+mEnableVibrate);
     if(mMessageBody!=null&&mEnableAudio){
@@-432,15+398,7@@publicclassCellBroadcastAlertAudioextendsServiceimplementsTextToSpeech.OnI
         else{
           floatvolume=1.0f;
 
-          ICmasMainSettingsExtoptGetAlertVolume=(ICmasMainSettingsExt)
-            CellBroadcastPluginManager.getCellBroadcastPluginObject(
-            CellBroadcastPluginManager.CELLBROADCAST_PLUGIN_TYPE_MAIN_SETTINGS);
-
-        if(optGetAlertVolume!=null){
-          volume=optGetAlertVolume.getAlertVolume(mMessageId);
-         }
-        Log.d(TAG,"Alertvolume:"+volume);
-        mMediaPlayer.setVolume(volume,volume);
+          mMediaPlayer.setVolume(volume,volume);
        }
 
         //startplayingalertaudio(unlessmastervolumeisvibrateonlyorsilent).
@@-455,9+413,10@@publicclassCellBroadcastAlertAudioextendsServiceimplementsTextToSpeech.OnI
         }
 
         intstreamType=AudioManager.STREAM_NOTIFICATION;
-        if(forceAlert()||forcePresidentAlert()){
-          streamType=AudioManager.STREAM_ALARM;
-        }
+        streamType=AudioManager.STREAM_ALARM;
+        mAudioManager.setStreamVolume(streamType,
+            mAudioManager.getStreamMaxVolume(streamType),
+            AudioManager.FLAG_PLAY_SOUND);
         mAudioManager.requestAudioFocus(null,streamType,
             AudioManager.AUDIOFOCUS_GAIN_TRANSIENT);
         startAlarm(mMediaPlayer);
@@-484,9+443,7@@publicclassCellBroadcastAlertAudioextendsServiceimplementsTextToSpeech.OnI
   privatevoidstartAlarm(MediaPlayerplayer)
       throwsjava.io.IOException,IllegalArgumentException,IllegalStateException{
     intstreamType=AudioManager.STREAM_NOTIFICATION;
-    if(forceAlert()||forcePresidentAlert()){
-      streamType=AudioManager.STREAM_ALARM;
-    }
+    streamType=AudioManager.STREAM_ALARM;
     player.setAudioStreamType(streamType);
     player.setLooping(true);
     player.prepare();
@@-566,10+523,7@@publicclassCellBroadcastAlertAudioextendsServiceimplementsTextToSpeech.OnI
       play();
     //}
     if(mEnableRepeat){
-      for(inti=0;i<mRepeatPattern.size();i++){
-        mHandler.sendMessageDelayed(mHandler.obtainMessage(REPEAT_ALERT_START),
-            mRepeatPattern.get(i));
-      }
+      mHandler.sendMessageDelayed(mHandler.obtainMessage(REPEAT_ALERT_START),mDuration+500);
     }
   }
 
diff--gita/mediatek/proprietary/packages/apps/CMASReceiver/src/com/mediatek/cellbroadcastreceiver/CellBroadcastAlertService.javab/mediatek/proprietary/packages/apps/CMASReceiver/src/com/mediatek/cellbroadcastreceiver/CellBroadcastAlertService.java
index56a6fce..1763563100755
---a/mediatek/proprietary/packages/apps/CMASReceiver/src/com/mediatek/cellbroadcastreceiver/CellBroadcastAlertService.java
+++b/mediatek/proprietary/packages/apps/CMASReceiver/src/com/mediatek/cellbroadcastreceiver/CellBroadcastAlertService.java
@@-217,9+217,6@@publicclassCellBroadcastAlertServiceextendsService{
               returntrue;
             caseICmasDuplicateMessageExt.NEW_CMAS_PROCESS://NewCMASProcess
               //handleupdatemsg
-              if(!handleUpdatedCB(provider,cbm)){
-                returntrue;
-              }
               Log.d(TAG,"beforeinsertNewBroadcast,sn"+cbm.getSerialNumber());
               //if(provider.insertNewBroadcast(cbm)){
               longrowId=provider.addNewBroadcast(cbm);
@@-421,7+418,7@@publicclassCellBroadcastAlertServiceextendsService{
             SharedPreferencesrmtPrefs=this.getSharedPreferences(
               PREF_NAME,MODE_WORLD_READABLE|MODE_WORLD_WRITEABLE
               |MODE_MULTI_PROCESS);
-          booleanresOfRmt=rmtPrefs.getBoolean(CellBroadcastConfigService.ENABLE_CMAS_RMT_SUPPORT,false);
+          booleanresOfRmt=rmtPrefs.getBoolean(CellBroadcastConfigService.ENABLE_CMAS_RMT_SUPPORT,true);
           Log.d(TAG,"inisMessageEnabledByUser,CMASsetting"+resOfRmt);
           returnresOfRmt;
           }
@@-431,7+428,7@@publicclassCellBroadcastAlertServiceextendsService{
           SharedPreferencesexePrefs=this.getSharedPreferences(
               PREF_NAME,MODE_WORLD_READABLE|MODE_WORLD_WRITEABLE
               |MODE_MULTI_PROCESS);
-          booleanresOfexe=exePrefs.getBoolean(CellBroadcastConfigService.ENABLE_CMAS_EXERCISE_SUPPORT,false);
+          booleanresOfexe=exePrefs.getBoolean(CellBroadcastConfigService.ENABLE_CMAS_EXERCISE_SUPPORT,true);
           Log.d(TAG,"inisMessageEnabledByUser,EXERsetting"+resOfexe);
           returnresOfexe;
         default:
@@-482,7+479,7@@publicclassCellBroadcastAlertServiceextendsService{
 
     StringmessageBody=message.getMessageBody();
 
-    if(prefs.getBoolean(CellBroadcastSettings.KEY_ENABLE_ALERT_SPEECH,true)){
+    if(prefs.getBoolean(CellBroadcastSettings.KEY_ENABLE_ALERT_SPEECH,false)){
       audioIntent.putExtra(CellBroadcastAlertAudio.ALERT_AUDIO_MESSAGE_BODY,messageBody);
 
       Stringlanguage=message.getLanguageCode();
diff--gita/mediatek/proprietary/packages/apps/CMASReceiver/src/com/mediatek/cellbroadcastreceiver/CellBroadcastConfigService.javab/mediatek/proprietary/packages/apps/CMASReceiver/src/com/mediatek/cellbroadcastreceiver/CellBroadcastConfigService.java
index8937670..4678655100755
---a/mediatek/proprietary/packages/apps/CMASReceiver/src/com/mediatek/cellbroadcastreceiver/CellBroadcastConfigService.java
+++b/mediatek/proprietary/packages/apps/CMASReceiver/src/com/mediatek/cellbroadcastreceiver/CellBroadcastConfigService.java
@@-242,10+242,10@@publicclassCellBroadcastConfigServiceextendsIntentService{
       if(intent.getBooleanExtra("isBootCompleted",false)){
         SharedPreferences.Editoreditor=prefs.edit();
         if(!prefs.contains(ENABLE_CMAS_RMT_SUPPORT)){
-          editor.putBoolean(ENABLE_CMAS_RMT_SUPPORT,false);
+          editor.putBoolean(ENABLE_CMAS_RMT_SUPPORT,true);
         }
         if(!prefs.contains(ENABLE_CMAS_EXERCISE_SUPPORT)){
-          editor.putBoolean(ENABLE_CMAS_EXERCISE_SUPPORT,false);
+          editor.putBoolean(ENABLE_CMAS_EXERCISE_SUPPORT,true);
         }
         editor.commit();
         editor.clear();
@@-255,10+255,11@@publicclassCellBroadcastConfigServiceextendsIntentService{
       booleanenableCB=false;
       if(!prefs.contains(CheckBoxAndSettingsPreference.KEY_ENABLE_CELLBROADCAST)){
         enableCB=true;
+        prefs.edit().putBoolean(CheckBoxAndSettingsPreference.KEY_ENABLE_CELLBROADCAST,true).commit();
         Log.d(TAG,"donotcontaintheenable_cell_broadcast");
       }else{
         enableCB=prefs.getBoolean(CheckBoxAndSettingsPreference.KEY_ENABLE_CELLBROADCAST,
-            false);
+            true);
         Log.d(TAG,"containtheenable_cell_broadcast,enableCB="+enableCB);
       }
       Log.d(TAG,"SMS_STATE_CHANGED_ACTIONenableCB"+enableCB);
diff--gita/mediatek/proprietary/packages/apps/CMASReceiver/src/com/mediatek/cellbroadcastreceiver/CellBroadcastListActivity.javab/mediatek/proprietary/packages/apps/CMASReceiver/src/com/mediatek/cellbroadcastreceiver/CellBroadcastListActivity.java
index26658cd..bf1b4e7100755
---a/mediatek/proprietary/packages/apps/CMASReceiver/src/com/mediatek/cellbroadcastreceiver/CellBroadcastListActivity.java
+++b/mediatek/proprietary/packages/apps/CMASReceiver/src/com/mediatek/cellbroadcastreceiver/CellBroadcastListActivity.java
@@-188,8+188,6@@publicclassCellBroadcastListActivityextendsListActivity{
   publicbooleanonCreateOptionsMenu(Menumenu){
     menu.add(0,MENU_DELETE_ALL,0,R.string.menu_delete_all).setIcon(
         android.R.drawable.ic_menu_delete);
-    menu.add(0,MENU_PREFERENCES,0,R.string.menu_preferences).setIcon(
-        android.R.drawable.ic_menu_preferences);
     returnsuper.onCreateOptionsMenu(menu);
   }
 
@@-200,11+198,6@@publicclassCellBroadcastListActivityextendsListActivity{
         confirmDeleteThread(true,null);
         break;
 
-      caseMENU_PREFERENCES:
-        Intentintent=newIntent(this,CellBroadcastMainSettings.class);
-        startActivity(intent);
-        break;
-
       default:
         returntrue;
     }
diff--gita/mediatek/proprietary/packages/apps/CMASReceiver/src/com/mediatek/cellbroadcastreceiver/CellBroadcastReceiver.javab/mediatek/proprietary/packages/apps/CMASReceiver/src/com/mediatek/cellbroadcastreceiver/CellBroadcastReceiver.java
index63785e4..d2b3c9c100755
---a/mediatek/proprietary/packages/apps/CMASReceiver/src/com/mediatek/cellbroadcastreceiver/CellBroadcastReceiver.java
+++b/mediatek/proprietary/packages/apps/CMASReceiver/src/com/mediatek/cellbroadcastreceiver/CellBroadcastReceiver.java
@@-98,7+98,7@@publicclassCellBroadcastReceiverextendsBroadcastReceiver{
       //ignoreincomingmessagesifCMASoptionisoff.
       SharedPreferencesprefs=PreferenceManager.getDefaultSharedPreferences(context);
       booleanenableCB=prefs.getBoolean(
-          CheckBoxAndSettingsPreference.KEY_ENABLE_CELLBROADCAST,false);
+          CheckBoxAndSettingsPreference.KEY_ENABLE_CELLBROADCAST,true);
 
       if(!enableCB){
         if(CellBroadcastReceiverApp.isCellAreaInTw()){
diff--gita/mediatek/proprietary/packages/apps/CMASReceiver/src/com/mediatek/cellbroadcastreceiver/CellBroadcastSubSettings.javab/mediatek/proprietary/packages/apps/CMASReceiver/src/com/mediatek/cellbroadcastreceiver/CellBroadcastSubSettings.java
index7ab34bc..0efe6ca100755
---a/mediatek/proprietary/packages/apps/CMASReceiver/src/com/mediatek/cellbroadcastreceiver/CellBroadcastSubSettings.java
+++b/mediatek/proprietary/packages/apps/CMASReceiver/src/com/mediatek/cellbroadcastreceiver/CellBroadcastSubSettings.java
@@-41,7+41,7@@publicclassCellBroadcastSubSettingsextendsPreferenceActivityimplements
     mEnableSevereCheckBox=(CheckBoxAndSettingsPreference)findPreference(CheckBoxAndSettingsPreference.KEY_ENABLE_CMAS_SEVERE_ALERTS);
     setAlertPreferenceEnable(!mEnableAllCheckBox.isChecked());
     SharedPreferencespre=getSharedPreferences("com.mediatek.cellbroadcastreceiver_preferences",0);
-    booleanimminentAlertChecked=pre.getBoolean(CheckBoxAndSettingsPreference.KEY_ENABLE_CMAS_IMMINENT_ALERTS,false);
+    booleanimminentAlertChecked=pre.getBoolean(CheckBoxAndSettingsPreference.KEY_ENABLE_CMAS_IMMINENT_ALERTS,true);
     if(!imminentAlertChecked){
       mEnableAllCheckBox.setEnabled(false);
       mEnableSevereCheckBox.setEnabled(false);
diff--gita/mediatek/proprietary/packages/apps/CmasEM/src/com/mediatek/engineermodecmas/CmasSettings.javab/mediatek/proprietary/packages/apps/CmasEM/src/com/mediatek/engineermodecmas/CmasSettings.java
indexd49ddb7..aef1aa1100644
---a/mediatek/proprietary/packages/apps/CmasEM/src/com/mediatek/engineermodecmas/CmasSettings.java
+++b/mediatek/proprietary/packages/apps/CmasEM/src/com/mediatek/engineermodecmas/CmasSettings.java
@@-95,8+95,8@@publicclassCmasSettingsextendsPreferenceActivityimplements
     SharedPreferencesprefs=mCmasContext.getSharedPreferences(PREF_NAME,
         MODE_WORLD_READABLE|MODE_WORLD_WRITEABLE);
 
-    booleanrmtValue=prefs.getBoolean(CMAS_RMT_KEY,false);
-    booleanexerciseValue=prefs.getBoolean(CMAS_EXERCISE_KEY,false);
+    booleanrmtValue=prefs.getBoolean(CMAS_RMT_KEY,true);
+    booleanexerciseValue=prefs.getBoolean(CMAS_EXERCISE_KEY,true);
 
     mCheckBoxRmt.setChecked(rmtValue);
     mCheckBoxExercise.setChecked(exerciseValue);

二十三:彩信附件最大600K,超过了需要弹出警告

(vendor/)

diff--gita/mediatek/proprietary/packages/apps/Mms/res/values/mtk_arrays.xmlb/mediatek/proprietary/packages/apps/Mms/res/values/mtk_arrays.xml
indexda3f0dc..70c4b87100755
---a/mediatek/proprietary/packages/apps/Mms/res/values/mtk_arrays.xml
+++b/mediatek/proprietary/packages/apps/Mms/res/values/mtk_arrays.xml
@@-44,11+44,13@@
<item>100K</item>
<item>200K</item>
<item>300K</item>
+<item>600K</item>
</string-array>
<string-arrayname="pref_mms_size_limit_values"translatable="false">
<item>100</item>
<item>200</item>
<item>300</item>
+<item>600</item>
</string-array>
<string-arrayname="pref_key_mms_priority_choices">
<item>High</item>
diff--gita/mediatek/proprietary/packages/apps/Mms/res/xml-sw600dp/multicardpreferences.xmlb/mediatek/proprietary/packages/apps/Mms/res/xml-sw600dp/multicardpreferences.xml
index4c7a6ca..782b6b8100755
---a/mediatek/proprietary/packages/apps/Mms/res/xml-sw600dp/multicardpreferences.xml
+++b/mediatek/proprietary/packages/apps/Mms/res/xml-sw600dp/multicardpreferences.xml
@@-130,7+130,7@@
android:title="@string/pref_title_mms_size_limit"
android:dialogTitle="@string/pref_title_mms_size_limit"
android:summary="@string/pref_summary_mms_size_limit"
-android:defaultValue="300"
+android:defaultValue="600"
android:entries="@array/pref_mms_size_limit_choices"
android:entryValues="@array/pref_mms_size_limit_values"/>
<ListPreference
diff--gita/mediatek/proprietary/packages/apps/Mms/res/xml-sw600dp/preferences.xmlb/mediatek/proprietary/packages/apps/Mms/res/xml-sw600dp/preferences.xml
indexe6dd519..3eda079100644
---a/mediatek/proprietary/packages/apps/Mms/res/xml-sw600dp/preferences.xml
+++b/mediatek/proprietary/packages/apps/Mms/res/xml-sw600dp/preferences.xml
@@-135,7+135,7@@
android:title="@string/pref_title_mms_size_limit"
android:dialogTitle="@string/pref_title_mms_size_limit"
android:summary="@string/pref_summary_mms_size_limit"
-android:defaultValue="300"
+android:defaultValue="600"
android:entries="@array/pref_mms_size_limit_choices"
android:entryValues="@array/pref_mms_size_limit_values"/>
<ListPreference
diff--gita/mediatek/proprietary/packages/apps/Mms/res/xml/generalslotpreference.xmlb/mediatek/proprietary/packages/apps/Mms/res/xml/generalslotpreference.xml
indexe5ff096..dd77bcd100755
---a/mediatek/proprietary/packages/apps/Mms/res/xml/generalslotpreference.xml
+++b/mediatek/proprietary/packages/apps/Mms/res/xml/generalslotpreference.xml
@@-82,7+82,7@@
android:title="@string/pref_title_mms_size_limit"
android:dialogTitle="@string/pref_title_mms_size_limit"
android:summary="@string/pref_summary_mms_size_limit"
-android:defaultValue="300"
+android:defaultValue="600"
android:entries="@array/pref_mms_size_limit_choices"
android:entryValues="@array/pref_mms_size_limit_values"/>
<ListPreference
diff--gita/mediatek/proprietary/packages/apps/Mms/res/xml/mms_config.xmlb/mediatek/proprietary/packages/apps/Mms/res/xml/mms_config.xml
index3e87525..261b7a3100644
---a/mediatek/proprietary/packages/apps/Mms/res/xml/mms_config.xml
+++b/mediatek/proprietary/packages/apps/Mms/res/xml/mms_config.xml
@@-26,13+26,13@@
<boolname="enabledMMS">true</bool>

<!--MaximummessagesizeinbytesforaMMSmessage-->
-<intname="maxMessageSize">307200</int>
+<intname="maxMessageSize">614400</int>

<!--Maximumheightforanattachedimage-->
-<intname="maxImageHeight">480</int>
+<intname="maxImageHeight">960</int>

<!--Maximumwidthforanattachedimage-->
-<intname="maxImageWidth">640</int>
+<intname="maxImageWidth">1280</int>

<!--MaximumnumberofSMSmessagetosaveperthreadbeforeauto-deletekicksin.
Thisisthedefaultvalue.-->
diff--gita/mediatek/proprietary/packages/apps/Mms/res/xml/mmsmulticardpreferences.xmlb/mediatek/proprietary/packages/apps/Mms/res/xml/mmsmulticardpreferences.xml
indexa584201..c4d8149100755
---a/mediatek/proprietary/packages/apps/Mms/res/xml/mmsmulticardpreferences.xml
+++b/mediatek/proprietary/packages/apps/Mms/res/xml/mmsmulticardpreferences.xml
@@-43,7+43,7@@
android:title="@string/pref_title_mms_size_limit"
android:dialogTitle="@string/pref_title_mms_size_limit"
android:summary="@string/pref_summary_mms_size_limit"
-android:defaultValue="300"android:entries="@array/pref_mms_size_limit_choices"
+android:defaultValue="600"android:entries="@array/pref_mms_size_limit_choices"
android:entryValues="@array/pref_mms_size_limit_values"/>
<ListPreferenceandroid:key="pref_key_mms_priority"
android:title="@string/mms_priority_label"android:dialogTitle="@string/mms_priority_label"
diff--gita/mediatek/proprietary/packages/apps/Mms/res/xml/mmspreferences.xmlb/mediatek/proprietary/packages/apps/Mms/res/xml/mmspreferences.xml
index7219d8d..87ea5ff100755
---a/mediatek/proprietary/packages/apps/Mms/res/xml/mmspreferences.xml
+++b/mediatek/proprietary/packages/apps/Mms/res/xml/mmspreferences.xml
@@-45,7+45,7@@
android:title="@string/pref_title_mms_size_limit"
android:dialogTitle="@string/pref_title_mms_size_limit"
android:summary="@string/pref_summary_mms_size_limit"
-android:defaultValue="300"android:entries="@array/pref_mms_size_limit_choices"
+android:defaultValue="600"android:entries="@array/pref_mms_size_limit_choices"
android:entryValues="@array/pref_mms_size_limit_values"/>
<ListPreferenceandroid:key="pref_key_mms_priority"
android:title="@string/mms_priority_label"android:dialogTitle="@string/mms_priority_label"
diff--gita/mediatek/proprietary/packages/apps/Mms/res/xml/multicardpreferences.xmlb/mediatek/proprietary/packages/apps/Mms/res/xml/multicardpreferences.xml
index70a9ebe..3aba9d1100755
---a/mediatek/proprietary/packages/apps/Mms/res/xml/multicardpreferences.xml
+++b/mediatek/proprietary/packages/apps/Mms/res/xml/multicardpreferences.xml
@@-119,7+119,7@@
android:title="@string/pref_title_mms_size_limit"
android:dialogTitle="@string/pref_title_mms_size_limit"
android:summary="@string/pref_summary_mms_size_limit"
-android:defaultValue="300"
+android:defaultValue="1000"
android:entries="@array/pref_mms_size_limit_choices"
android:entryValues="@array/pref_mms_size_limit_values"/>
<ListPreference
diff--gita/mediatek/proprietary/packages/apps/Mms/res/xml/preferences.xmlb/mediatek/proprietary/packages/apps/Mms/res/xml/preferences.xml
index0017a83..20f636d100644
---a/mediatek/proprietary/packages/apps/Mms/res/xml/preferences.xml
+++b/mediatek/proprietary/packages/apps/Mms/res/xml/preferences.xml
@@-127,7+127,7@@
android:title="@string/pref_title_mms_size_limit"
android:dialogTitle="@string/pref_title_mms_size_limit"
android:summary="@string/pref_summary_mms_size_limit"
-android:defaultValue="300"
+android:defaultValue="600"
android:entries="@array/pref_mms_size_limit_choices"
android:entryValues="@array/pref_mms_size_limit_values"/>
<ListPreference
diff--gita/mediatek/proprietary/packages/apps/Mms/src/com/android/mms/MmsConfig.javab/mediatek/proprietary/packages/apps/Mms/src/com/android/mms/MmsConfig.java
index590e8f0..745a4f1100755
---a/mediatek/proprietary/packages/apps/Mms/src/com/android/mms/MmsConfig.java
+++b/mediatek/proprietary/packages/apps/Mms/src/com/android/mms/MmsConfig.java
@@-95,7+95,7@@publicclassMmsConfig{
*/
privatestaticbooleanmTransIdEnabled=false;
privatestaticintmMmsEnabled=1;//defaulttotrue
-privatestaticintmMaxMessageSize=300*1024;//defaultto300kmaxsize
+privatestaticintmMaxMessageSize=600*1024;//defaultto300kmaxsize
privatestaticStringmUserAgent=DEFAULT_USER_AGENT;
privatestaticStringmUaProfTagName=DEFAULT_HTTP_KEY_X_WAP_PROFILE;
privatestaticStringmUaProfUrl=null;
@@-152,7+152,7@@publicclassMmsConfig{
privatestaticfinalintRECIPIENTS_LIMIT=50;

///M:Mmssizelimit,default300K.
-privatestaticintmUserSetMmsSizeLimit=300;
+privatestaticintmUserSetMmsSizeLimit=600;
///M:ReceiveMmssizelimitfor2Gnetwork
privatestaticintmReceiveMmsSizeLimitFor2G=200;
///M:ReceiveMmssizelimitforTDnetwork
diff--gita/mediatek/proprietary/packages/apps/Mms/src/com/android/mms/ui/MessageUtils.javab/mediatek/proprietary/packages/apps/Mms/src/com/android/mms/ui/MessageUtils.java
index91f4ed0..b63b37f100644
---a/mediatek/proprietary/packages/apps/Mms/src/com/android/mms/ui/MessageUtils.java
+++b/mediatek/proprietary/packages/apps/Mms/src/com/android/mms/ui/MessageUtils.java
@@-3095,14+3095,16@@publicclassMessageUtils{
StringmSizeLimitTemp=null;
intmMmsSizeLimit=0;
if(sp!=null){
-mSizeLimitTemp=sp.getString("pref_key_mms_size_limit","300");
+mSizeLimitTemp=sp.getString("pref_key_mms_size_limit","600");
}
if(mSizeLimitTemp!=null&&0==mSizeLimitTemp.compareTo("100")){
mMmsSizeLimit=100;
}elseif(mSizeLimitTemp!=null&&0==mSizeLimitTemp.compareTo("200")){
mMmsSizeLimit=200;
-}else{
+}elseif(mSizeLimitTemp!=null&&0==mSizeLimitTemp.compareTo("300")){
mMmsSizeLimit=300;
+}else{
+mMmsSizeLimit=600;
}
MmsConfig.setUserSetMmsSizeLimit(mMmsSizeLimit);
}
diff--gita/mediatek/proprietary/packages/apps/Mms/src/com/mediatek/mms/op/ClassifyGeneralFragment.javab/mediatek/proprietary/packages/apps/Mms/src/com/mediatek/mms/op/ClassifyGeneralFragment.java
index0446eaa..291f039100755
---a/mediatek/proprietary/packages/apps/Mms/src/com/mediatek/mms/op/ClassifyGeneralFragment.java
+++b/mediatek/proprietary/packages/apps/Mms/src/com/mediatek/mms/op/ClassifyGeneralFragment.java
@@-211,7+211,7@@publicclassClassifyGeneralFragmentextendsPreferenceFragment

publicstaticfinalintMIN_MESSAGE_COUNT_PER_THREAD=2;

-publicstaticfinalStringSIZE_LIMIT_300="300";
+publicstaticfinalStringSIZE_LIMIT_300="600";

publicstaticfinalStringCREATION_MODE_FREE="FREE";

diff--gita/mediatek/proprietary/packages/apps/Mms/src/com/mediatek/setting/MmsPreferenceActivity.javab/mediatek/proprietary/packages/apps/Mms/src/com/mediatek/setting/MmsPreferenceActivity.java
index5b3ac68..dd2769f100755
---a/mediatek/proprietary/packages/apps/Mms/src/com/mediatek/setting/MmsPreferenceActivity.java
+++b/mediatek/proprietary/packages/apps/Mms/src/com/mediatek/setting/MmsPreferenceActivity.java
@@-146,7+146,7@@publicclassMmsPreferenceActivityextendsPreferenceActivity

privatestaticfinalStringSIZE_LIMIT_200="200";

-privatestaticfinalStringSIZE_LIMIT_300="300";
+privatestaticfinalStringSIZE_LIMIT_300="600";

privateHandlermSMSHandler=newHandler();
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息