[Android-Frameworks] My commit on USB Mass Storage

My Commit on USB Mass Storage


【修改】

mMountService  .setExternalUsbMassStorageEnabled ( true );     @MountService.java
     
     ->  enableExternalUsbMassStorage()     @StorageManager.java

               ->  onStorageStateChanged()      @UsbStorageActivity.java, CALLBACK 

                         -> Condition,condition,condition,condition



  1. UsbSettings上的Mass Storage选项怎样添加上去?     
     【观察】
     【结果】
     在UsbDeviceManager.java代码中 updateUsbNotification部分,通过读取volume allowMassStorage配置信息,决定了是否显示USB Notification。
     
     "Touch for other USB options"@Notification     ->      "PTP, MTP" @PreferenceFragment         

     一旦用户点击了Notification,会跳转到UsbSettings preference fragment界面。现在的问题是UMS
是怎样添加到UsbSettings Fragment中的呢?

      【修改】     配置storage 属性
          FILE:     vendor/intel/mfld_pr2/overlays/frameworks/base/core/res/res/xml/storage_list.xml
          LINE:          +39       android:allowMassStorage  = "true"
                            +45      android:allowMassStorage  = "true"

     2.  步骤规划
          
          step1: 实现mass storage
          step2: 实现external sd mass storage feature


     【修改】    vold.fstab 让vold挂载到mmc
           FILE:     vendor/intel/mfld_pr2/vold.fstab
          LINE:     
   #dev_mount sdcard_ext / mnt /sdcard_ext auto /devices/pci0000:00/0000:00:04.0/mmc_host/mmc1   
 #/devices/pci0000:00/0000:00:02.3/gadget/lun0

# build-in memory
dev_mount  sdcard  / mnt / sdcard 7  /devices/pci0000:00/0000:00:01.0/mmc_host/mmc0    /devices/pci0000:00/0000:00:02.3/gadget/lun0

# external sdcard memory
dev_mount sdcard_ext / mnt /sdcard_ext auto  /devices/pci0000:00/0000:00:04.0/mmc_host/mmc1  /devices/pci0000:00/0000:00:02.3/gadget/lun1


----------------------------------------------------------------------------------------------------------------------------------


-
     FILE:     UsbManager.java
     *  <li>  {@link #USB_FUNCTION_MASS_STORAGE }  boolean extra indicating whether the
     * mass storage function is enabled



     FILE:     IMountService.java
     *
        /**
             * Enables / disables USB mass storage. The caller should check
             * actual status of enabling/disabling USB mass storage via
             * StorageEventListener.
             */
             public  void  setUsbMassStorageEnabled( boolean  enable)  throws  RemoteException
     *


     FILE:     MountServiceListener.java
     *
        /**
     * USB Mass storage connection state has changed.
     *
     *  @param  connected True if UMS is connected.
     */
     void  onUsbMassStorageConnectionChanged ( boolean  connected) {
     *

     <search>  onUsbMassStorageConnectionChanged  



      FILE:     DatabaseHelper.java
     *
         loadBooleanSetting(stmt, Settings.Secure.  USB_MASS_STORAGE_ENABLED  ,
                    R.bool.def_usb_mass _storage_enabled);
     *

     FILE:     frameworks/base/packages/SettingsProvider/res/values/defaults.xml
     *
           < bool  name =  "def_usb_mass_storage_enabled" > true  </ bool >
     *
     
-
          01-01 00:22:57.469: E/UsbSettings(527): UsbAccessoryMode false














     
     
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值