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
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)
三:wifi默认关闭
(packages/apps/Launcher3/)
四:手机插入SD卡时,默认存储器为SD卡
(packages/apps/Settings/)
五:GPS默认节电模式
(packages/apps/Settings/src/com/android/settings/location/LocationSettings.java)
六:更改在线壁纸名称
(packages/apps/Settings/src/com/android/settings/WallpaperTypeSettings.java)
七:相机默认防闪做到60
(vendor/mediatek/proprietary/packages/apps/Camera/res/values/arrays.xml)
八:文件管理改变可用空间到4.16G和总容量8G
(vendor/mediatek/proprietary/packages/apps/FileManager/src/com/mediatek/filemanager/FileInfoAdapter.java)
九:添加内存信息
(vendor/mediatek/proprietary/packages/apps/EngineerMode/src/com/mediatek/engineermode/DeviceInfoSettings.java)
十:默认浏览器--------本地浏览器设为默认浏览,打开链接(消费提示音等)不会弹出选择浏览器提示框,默认搜索引擎----Google
(frameworks/base/services/core/java/com/android/server/pm/PackageManagerService.java)
十一:浏览器正下载时,点击取消或者中止下载,需要弹出警告:Are
yousuretodeleteit?/¿estásseguroparaeliminarlo?
(frameworks/)
十二:改关机时间长短
(frameworks/base/services/core/java/com/android/server/power/ShutdownThread.java)
十三:wifi热点上限数
(frameworks/base/core/java/android/provider/Settings.java)
十四:默认打开CB(小区广播)消息
(modems/lwtg/custom/service/nvram/nvram_cust_pack.c)
十五:进入工程模式,进入"*#*#3646633#*#*"-->engineermode---->Telephony---》Fast
Dormancy--》ConfigFD--》默认选择第三项(TurnonR8FD&TurnoffLegacyFD)。(如附件是在MTK平台下)
(modems/lwtg/custom/service/nvram/nvram_data_items.c)
十六:通讯录新建联系人默认保存在sim卡(点击新建,弹出两个选项sim,phone,默认选sim)
(packages/apps/Contacts/src/com/android/contacts/activities/ContactEditorAccountsChangedActivity.java)
十七:第一次开机是如果无sim卡加提示
(packages/apps/Launcher3/)
十八:wifi要内置两个名字分别为MOVISTARWIFIandVIVO-WIFI的无线网。安全类型为802.1XEAP.密码为空。
类似用户进入wifi界面,手机创建一个wifi后的效果。如附件图片
(packages/apps/Settings/)
十九:主菜单--》设置--》语言和输入法--》Androidkeyboard右边的设置图标---》showcorrection
suggestions--》改成默认选中alwayshide
(packages/inputmethods/)
二十:浏览器下载的文件,
默认保存在”Downloads“名字的文件夹
(vendor/mediatek/proprietary/packages/apps/Browser/ext/src/com/mediatek/browser/ext/DefaultBrowserSettingExt.java)
二十一:UA
string需要加上项目名GomoibleGO1003(根据具体的项目名称修改),查看的网址为:whatsmyuseragent.com
(vendor/mediatek/proprietary/packages/apps/Browser/src/com/android/browser/BrowserSettings.java)
二十二:添加通道(50,919,921,4370),通道号和名字都设为50,919,921,4370。(通道-channel(英文)-canal(西班牙语)),默认都是enable的,并且默认可以接受所有语言的。
(packages/providers/)
二十三:彩信附件最大600K,超过了需要弹出警告
(vendor/)
(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(vendor/mediatek/proprietary/hardware/connectivity/wlan/config/mtk-wpa_supplicant-overlay.conf)
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();
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(vendor/)
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);
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();
相关文章推荐
- Android6.0 MTK 需求文档(六)
- Android6.0 MTK 需求文档(四)
- Android6.0 MTK 需求文档(七)
- Android6.0 MTK 需求文档(二)
- Android6.0 MTK 需求文档(三)
- Android7.0 MTK 需求文档(一)
- Android7.0 MTK 需求文档(二)
- 文档管理app端需求实现方案关键点记录
- PSP个人软件开发系统面向对象需求分析与设计文档
- 软件工程之— 项目开发文档(需求说明书)
- 产品需求文档的写作(一) – 写前准备(信息结构图)
- 关于产品需求文档的各种D
- 项目需求文档突出要点和软件生命周期模型
- 需求分析文档
- 永远不要奢望客户清楚的告诉你他们想要什么东西,更加别异想天开的他们会给我们整理一份非常完美的需求文档。如果有客户为你做了很好的一份需求文档,那是因为你的善良感动了上帝。
- 产品设计(1) – 产品需求文档(PRD)介绍
- 谁有软件需求分析文档??不论什么项目的都可以!!
- PRD产品需求文档
- 存储dlp的需求文档,整理于赛门铁克的文档
- 没有需求文档的时候如何来设计测试用例?