└── MyWiFiDirectActivity0618
├── lint.xml
├── .settings
├── org.eclipse.core.resources.prefs
└── org.eclipse.jdt.core.prefs
├── bin
├── classes.dex
├── resources.ap_
├── MyWiFiDirectActivity0617.apk
├── res
│ └── crunch
│ │ ├── drawable
│ │ ├── machine.png
│ │ ├── wenjian.png
│ │ ├── wenjianjia.png
│ │ ├── btn_check_on.png
│ │ ├── btn_check_off.png
│ │ ├── btn_check_on_disable.png
│ │ ├── btn_check_off_pressed.png
│ │ └── btn_check_on_selected.png
│ │ ├── drawable-hdpi
│ │ ├── icon.png
│ │ ├── high_wjj1.png
│ │ ├── empty_photo.png
│ │ ├── ic_launcher.png
│ │ ├── selected_dg.png
│ │ ├── icon_wifidirect.png
│ │ ├── unselected_dg.png
│ │ ├── ic_action_on_off.png
│ │ └── ic_action_discover.png
│ │ ├── drawable-ldpi
│ │ ├── icon.png
│ │ ├── ic_action_on_off.png
│ │ └── ic_action_discover.png
│ │ ├── drawable-mdpi
│ │ ├── icon.png
│ │ ├── icon_wifidirect.png
│ │ ├── ic_action_on_off.png
│ │ └── ic_action_discover.png
│ │ ├── drawable-xhdpi
│ │ ├── ic_action_on_off.png
│ │ ├── icon_wifidirect.png
│ │ └── ic_action_discover.png
│ │ ├── drawable-xxhdpi
│ │ └── ic_image_flash_on.png
│ │ └── drawable-xxxhdpi
│ │ └── ic_image_flash_on.png
├── classes
│ ├── com
│ │ ├── fl
│ │ │ ├── database
│ │ │ │ ├── Info.class
│ │ │ │ ├── Device.class
│ │ │ │ ├── DBHelper.class
│ │ │ │ ├── DBManager.class
│ │ │ │ ├── Transfer.class
│ │ │ │ └── TransferInfo.class
│ │ │ ├── utils
│ │ │ │ ├── KeyUtil.class
│ │ │ │ ├── DateUtil.class
│ │ │ │ └── MimeUtil.class
│ │ │ ├── test
│ │ │ │ └── DatabaseTest.class
│ │ │ └── adapter
│ │ │ │ ├── ImageAdapter.class
│ │ │ │ ├── ExpandAdapter$1.class
│ │ │ │ ├── ExpandAdapter.class
│ │ │ │ ├── MyImageAdapter.class
│ │ │ │ ├── MySubImageAdapter.class
│ │ │ │ ├── ImageAdapter$ViewHolder.class
│ │ │ │ ├── MyImageAdapter$ViewHolder.class
│ │ │ │ ├── ExpandAdapter$ChildViewHolder.class
│ │ │ │ ├── ExpandAdapter$GroupViewHolder.class
│ │ │ │ ├── MyImageAdapter$subImageHolder.class
│ │ │ │ ├── MySubImageAdapter$ViewHolder.class
│ │ │ │ ├── ExpandAdapter$TransferViewHolder.class
│ │ │ │ └── MyImageAdapter$OnMultiSelectListener.class
│ │ ├── example
│ │ │ ├── android
│ │ │ │ └── wifidirect
│ │ │ │ │ ├── R.class
│ │ │ │ │ ├── R$id.class
│ │ │ │ │ ├── R$attr.class
│ │ │ │ │ ├── R$menu.class
│ │ │ │ │ ├── Utils.class
│ │ │ │ │ ├── R$color.class
│ │ │ │ │ ├── R$dimen.class
│ │ │ │ │ ├── R$layout.class
│ │ │ │ │ ├── R$string.class
│ │ │ │ │ ├── R$style.class
│ │ │ │ │ ├── BuildConfig.class
│ │ │ │ │ ├── FileBrowser.class
│ │ │ │ │ ├── R$drawable.class
│ │ │ │ │ ├── R$styleable.class
│ │ │ │ │ ├── FileBrowser$1.class
│ │ │ │ │ ├── FileBrowser$2.class
│ │ │ │ │ ├── FileBrowser$3.class
│ │ │ │ │ ├── FileBrowser$4.class
│ │ │ │ │ ├── FileBrowser$5.class
│ │ │ │ │ ├── FileBrowser$6.class
│ │ │ │ │ ├── FileBrowser$7.class
│ │ │ │ │ ├── FileBrowser$8.class
│ │ │ │ │ ├── FileListFragment.class
│ │ │ │ │ ├── MainApplication.class
│ │ │ │ │ ├── DeviceListFragment.class
│ │ │ │ │ ├── FileListFragment$1.class
│ │ │ │ │ ├── FileRecieveService.class
│ │ │ │ │ ├── FileTransferService.class
│ │ │ │ │ ├── NewFileListFragment.class
│ │ │ │ │ ├── WiFiDirectActivity.class
│ │ │ │ │ ├── DeviceDetailFragment.class
│ │ │ │ │ ├── DeviceListFragment$1.class
│ │ │ │ │ ├── DeviceListFragment$2.class
│ │ │ │ │ ├── FileTransmitFragment.class
│ │ │ │ │ ├── WiFiDirectActivity$1.class
│ │ │ │ │ ├── WiFiDirectActivity$2.class
│ │ │ │ │ ├── WiFiDirectActivity$3.class
│ │ │ │ │ ├── WiFiDirectActivity$4.class
│ │ │ │ │ ├── DeviceDetailFragment$1.class
│ │ │ │ │ ├── DeviceDetailFragment$2.class
│ │ │ │ │ ├── DeviceDetailFragment$3.class
│ │ │ │ │ ├── DeviceDetailFragment$4.class
│ │ │ │ │ ├── FileBrowser$ImageAdapter.class
│ │ │ │ │ ├── FileTransmitFragment$1$1.class
│ │ │ │ │ ├── FileTransmitFragment$1.class
│ │ │ │ │ ├── FileRecieveService$MsgBinder.class
│ │ │ │ │ ├── NewFileListFragment$MyHandler.class
│ │ │ │ │ ├── WiFiDirectBroadcastReceiver.class
│ │ │ │ │ ├── DeviceDetailFragment$MyHandler.class
│ │ │ │ │ ├── DeviceDetailFragment$SendMsgClient.class
│ │ │ │ │ ├── DeviceDetailFragment$SendMsgServer.class
│ │ │ │ │ ├── WiFiDirectActivity$MyPagerAdapter.class
│ │ │ │ │ ├── FileBrowser$ImageAdapter$ViewHolder.class
│ │ │ │ │ ├── FileBrowser$SendFileCallbackListener.class
│ │ │ │ │ ├── DeviceListFragment$DeviceActionListener.class
│ │ │ │ │ ├── DeviceListFragment$DeviceListListener.class
│ │ │ │ │ ├── DeviceListFragment$WiFiPeerListAdapter.class
│ │ │ │ │ ├── DeviceDetailFragment$DeviceDetailListener.class
│ │ │ │ │ └── DeviceDetailFragment$FileServerAsyncTask.class
│ │ │ └── filebrowser
│ │ │ │ └── utils
│ │ │ │ ├── L.class
│ │ │ │ ├── ImageAware.class
│ │ │ │ ├── ImageCache.class
│ │ │ │ ├── ViewAware.class
│ │ │ │ ├── ImageCache$1.class
│ │ │ │ ├── ImageLoader.class
│ │ │ │ ├── ImageWorker.class
│ │ │ │ ├── MemoryCache.class
│ │ │ │ ├── ImageViewAware.class
│ │ │ │ ├── ImageWorker$1.class
│ │ │ │ ├── LruMemoryCache.class
│ │ │ │ ├── ViewScaleType.class
│ │ │ │ ├── DisplayBitmapTask.class
│ │ │ │ ├── ImageLoaderConfig.class
│ │ │ │ ├── ImageLoaderEngine.class
│ │ │ │ ├── ImageLoadingInfo.class
│ │ │ │ ├── LruMemoryCache$1.class
│ │ │ │ ├── ImageLoaderEngine$1.class
│ │ │ │ ├── ImageWorker$AsyncDrawable.class
│ │ │ │ ├── LoadAndDisplayImageTask.class
│ │ │ │ ├── ImageWorker$BitmapWorkerTask.class
│ │ │ │ └── LoadAndDisplayImageTask$TaskCancelledException.class
│ │ ├── wifidirect
│ │ │ ├── entity
│ │ │ │ └── ImageGroup.class
│ │ │ └── ui
│ │ │ │ ├── MyStickyLayout.class
│ │ │ │ ├── MyStickyLayout$1.class
│ │ │ │ ├── MyStickyLayout$1$1.class
│ │ │ │ ├── MyExpandableListView.class
│ │ │ │ ├── MyStickyLayout$OnGiveUpTouchEventListener.class
│ │ │ │ └── MyExpandableListView$OnHeaderUpdateListener.class
│ │ ├── astuetz
│ │ │ └── pagerslidingtabstrip
│ │ │ │ ├── R.class
│ │ │ │ ├── R$attr.class
│ │ │ │ ├── R$color.class
│ │ │ │ ├── R$drawable.class
│ │ │ │ └── R$styleable.class
│ │ ├── numberprogressbar
│ │ │ ├── NumberProgressBar.class
│ │ │ ├── OnProgressBarListener.class
│ │ │ └── NumberProgressBar$ProgressTextVisibility.class
│ │ └── todddavies
│ │ │ └── components
│ │ │ └── progressbar
│ │ │ └── ProgressWheel.class
│ └── mySocket
│ │ ├── NotificationBean.class
│ │ ├── TransferClient$1.class
│ │ ├── TransferClient.class
│ │ ├── TransferServer.class
│ │ └── TransferServer$SocketHandler.class
├── dexedLibs
│ ├── library-6de620048959caa57feebe0319603d1e.jar
│ ├── library-c5f36e28c4f6413c90796fd394dc6cde.jar
│ └── android-support-v4-a89c23fe7441d2309adcc9e03d72d8c5.jar
├── jarlist.cache
└── AndroidManifest.xml
├── res
├── drawable
│ ├── machine.png
│ ├── wenjian.png
│ ├── wenjianjia.png
│ ├── btn_check_off.png
│ ├── btn_check_on.png
│ ├── btn_check_off_pressed.png
│ ├── btn_check_on_disable.png
│ ├── btn_check_on_selected.png
│ ├── selector_item.xml
│ ├── selector_group.xml
│ ├── details_view.xml
│ ├── child_bg.xml
│ ├── section_header.xml
│ ├── button_send.xml
│ ├── button_discover.xml
│ ├── button_recieve.xml
│ ├── button_transmit.xml
│ └── button.xml
├── drawable-hdpi
│ ├── icon.png
│ ├── high_wjj.png
│ ├── empty_photo.png
│ ├── high_wjj1.png
│ ├── ic_launcher.png
│ ├── selected_dg.png
│ ├── unselected_dg.png
│ ├── ic_action_on_off.png
│ ├── icon_wifidirect.png
│ └── ic_action_discover.png
├── drawable-ldpi
│ ├── icon.png
│ ├── ic_action_on_off.png
│ └── ic_action_discover.png
├── drawable-mdpi
│ ├── icon.png
│ ├── ic_action_on_off.png
│ ├── icon_wifidirect.png
│ └── ic_action_discover.png
├── drawable-xhdpi
│ ├── icon_wifidirect.png
│ ├── ic_action_on_off.png
│ └── ic_action_discover.png
├── drawable-xxhdpi
│ └── ic_image_flash_on.png
├── drawable-xxxhdpi
│ └── ic_image_flash_on.png
├── values
│ ├── colors.xml
│ ├── color.xml
│ ├── dimens.xml
│ └── attrs.xml
├── layout
│ ├── my_xml.xml
│ ├── testgridview.xml
│ ├── listline.xml
│ ├── image_child_list.xml
│ ├── vlist.xml
│ ├── new_file_list.xml
│ ├── main.xml
│ ├── file_list_group_item.xml
│ ├── gridline.xml
│ ├── filetransmit.xml
│ ├── image_list_line.xml
│ ├── file_list.xml
│ ├── notify_content.xml
│ ├── row_devices.xml
│ ├── image_group_list.xml
│ ├── file_list_transfer.xml
│ ├── file_list_child_item.xml
│ ├── device_detail.xml
│ └── filebrowser.xml
├── menu
│ └── action_items.xml
├── layout-land
│ ├── main.xml
│ ├── filetransmit.xml
│ ├── file_list.xml
│ └── filebrowser.xml
└── layout-large
│ └── main.xml
├── libs
└── android-support-v4.jar
├── src
├── com
│ ├── fl
│ │ ├── test
│ │ │ └── DatabaseTest.java
│ │ ├── utils
│ │ │ ├── KeyUtil.java
│ │ │ ├── DateUtil.java
│ │ │ └── MimeUtil.java
│ │ ├── database
│ │ │ ├── TransferInfo.java
│ │ │ ├── Device.java
│ │ │ ├── DBHelper.java
│ │ │ ├── Transfer.java
│ │ │ ├── Info.java
│ │ │ └── DBManager.java
│ │ └── adapter
│ │ │ ├── ImageAdapter.java
│ │ │ ├── MyImageAdapter.java
│ │ │ └── MySubImageAdapter.java
│ ├── numberprogressbar
│ │ └── OnProgressBarListener.java
│ ├── example
│ │ ├── filebrowser
│ │ │ └── utils
│ │ │ │ ├── ImageLoaderConfig.java
│ │ │ │ ├── MemoryCache.java
│ │ │ │ ├── ImageLoadingInfo.java
│ │ │ │ ├── DisplayBitmapTask.java
│ │ │ │ ├── ViewScaleType.java
│ │ │ │ ├── L.java
│ │ │ │ ├── ImageLoader.java
│ │ │ │ ├── ImageCache.java
│ │ │ │ ├── LruMemoryCache.java
│ │ │ │ └── ImageViewAware.java
│ │ └── android
│ │ │ └── wifidirect
│ │ │ ├── MainApplication.java
│ │ │ ├── FileTransferService.java
│ │ │ ├── FileRecieveService.java
│ │ │ ├── Utils.java
│ │ │ └── FileListFragment.java
│ └── wifidirect
│ │ ├── entity
│ │ └── ImageGroup.java
│ │ └── ui
│ │ └── MyExpandableListView.java
└── mySocket
│ └── NotificationBean.java
├── assets
└── sample_file.txt
├── gen
└── com
│ ├── example
│ └── android
│ │ └── wifidirect
│ │ └── BuildConfig.java
│ └── astuetz
│ └── pagerslidingtabstrip
│ └── R.java
├── README.txt
├── .classpath
├── project.properties
├── .project
└── AndroidManifest.xml
/MyWiFiDirectActivity0618/lint.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
--------------------------------------------------------------------------------
/MyWiFiDirectActivity0618/.settings/org.eclipse.core.resources.prefs:
--------------------------------------------------------------------------------
1 | eclipse.preferences.version=1
2 | encoding/=UTF-8
3 |
--------------------------------------------------------------------------------
/MyWiFiDirectActivity0618/bin/classes.dex:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/OurAndroid/myWifiDirectApp/HEAD/MyWiFiDirectActivity0618/bin/classes.dex
--------------------------------------------------------------------------------
/MyWiFiDirectActivity0618/bin/resources.ap_:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/OurAndroid/myWifiDirectApp/HEAD/MyWiFiDirectActivity0618/bin/resources.ap_
--------------------------------------------------------------------------------
/MyWiFiDirectActivity0618/res/drawable/machine.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/OurAndroid/myWifiDirectApp/HEAD/MyWiFiDirectActivity0618/res/drawable/machine.png
--------------------------------------------------------------------------------
/MyWiFiDirectActivity0618/res/drawable/wenjian.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/OurAndroid/myWifiDirectApp/HEAD/MyWiFiDirectActivity0618/res/drawable/wenjian.png
--------------------------------------------------------------------------------
/MyWiFiDirectActivity0618/libs/android-support-v4.jar:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/OurAndroid/myWifiDirectApp/HEAD/MyWiFiDirectActivity0618/libs/android-support-v4.jar
--------------------------------------------------------------------------------
/MyWiFiDirectActivity0618/res/drawable-hdpi/icon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/OurAndroid/myWifiDirectApp/HEAD/MyWiFiDirectActivity0618/res/drawable-hdpi/icon.png
--------------------------------------------------------------------------------
/MyWiFiDirectActivity0618/res/drawable-ldpi/icon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/OurAndroid/myWifiDirectApp/HEAD/MyWiFiDirectActivity0618/res/drawable-ldpi/icon.png
--------------------------------------------------------------------------------
/MyWiFiDirectActivity0618/res/drawable-mdpi/icon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/OurAndroid/myWifiDirectApp/HEAD/MyWiFiDirectActivity0618/res/drawable-mdpi/icon.png
--------------------------------------------------------------------------------
/MyWiFiDirectActivity0618/res/drawable/wenjianjia.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/OurAndroid/myWifiDirectApp/HEAD/MyWiFiDirectActivity0618/res/drawable/wenjianjia.png
--------------------------------------------------------------------------------
/MyWiFiDirectActivity0618/res/drawable-hdpi/high_wjj.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/OurAndroid/myWifiDirectApp/HEAD/MyWiFiDirectActivity0618/res/drawable-hdpi/high_wjj.png
--------------------------------------------------------------------------------
/MyWiFiDirectActivity0618/res/drawable/btn_check_off.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/OurAndroid/myWifiDirectApp/HEAD/MyWiFiDirectActivity0618/res/drawable/btn_check_off.png
--------------------------------------------------------------------------------
/MyWiFiDirectActivity0618/res/drawable/btn_check_on.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/OurAndroid/myWifiDirectApp/HEAD/MyWiFiDirectActivity0618/res/drawable/btn_check_on.png
--------------------------------------------------------------------------------
/MyWiFiDirectActivity0618/bin/MyWiFiDirectActivity0617.apk:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/OurAndroid/myWifiDirectApp/HEAD/MyWiFiDirectActivity0618/bin/MyWiFiDirectActivity0617.apk
--------------------------------------------------------------------------------
/MyWiFiDirectActivity0618/res/drawable-hdpi/empty_photo.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/OurAndroid/myWifiDirectApp/HEAD/MyWiFiDirectActivity0618/res/drawable-hdpi/empty_photo.png
--------------------------------------------------------------------------------
/MyWiFiDirectActivity0618/res/drawable-hdpi/high_wjj1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/OurAndroid/myWifiDirectApp/HEAD/MyWiFiDirectActivity0618/res/drawable-hdpi/high_wjj1.png
--------------------------------------------------------------------------------
/MyWiFiDirectActivity0618/res/drawable-hdpi/ic_launcher.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/OurAndroid/myWifiDirectApp/HEAD/MyWiFiDirectActivity0618/res/drawable-hdpi/ic_launcher.png
--------------------------------------------------------------------------------
/MyWiFiDirectActivity0618/res/drawable-hdpi/selected_dg.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/OurAndroid/myWifiDirectApp/HEAD/MyWiFiDirectActivity0618/res/drawable-hdpi/selected_dg.png
--------------------------------------------------------------------------------
/MyWiFiDirectActivity0618/bin/res/crunch/drawable/machine.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/OurAndroid/myWifiDirectApp/HEAD/MyWiFiDirectActivity0618/bin/res/crunch/drawable/machine.png
--------------------------------------------------------------------------------
/MyWiFiDirectActivity0618/bin/res/crunch/drawable/wenjian.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/OurAndroid/myWifiDirectApp/HEAD/MyWiFiDirectActivity0618/bin/res/crunch/drawable/wenjian.png
--------------------------------------------------------------------------------
/MyWiFiDirectActivity0618/res/drawable-hdpi/unselected_dg.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/OurAndroid/myWifiDirectApp/HEAD/MyWiFiDirectActivity0618/res/drawable-hdpi/unselected_dg.png
--------------------------------------------------------------------------------
/MyWiFiDirectActivity0618/bin/classes/com/fl/database/Info.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/OurAndroid/myWifiDirectApp/HEAD/MyWiFiDirectActivity0618/bin/classes/com/fl/database/Info.class
--------------------------------------------------------------------------------
/MyWiFiDirectActivity0618/bin/classes/com/fl/utils/KeyUtil.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/OurAndroid/myWifiDirectApp/HEAD/MyWiFiDirectActivity0618/bin/classes/com/fl/utils/KeyUtil.class
--------------------------------------------------------------------------------
/MyWiFiDirectActivity0618/bin/res/crunch/drawable-hdpi/icon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/OurAndroid/myWifiDirectApp/HEAD/MyWiFiDirectActivity0618/bin/res/crunch/drawable-hdpi/icon.png
--------------------------------------------------------------------------------
/MyWiFiDirectActivity0618/bin/res/crunch/drawable-ldpi/icon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/OurAndroid/myWifiDirectApp/HEAD/MyWiFiDirectActivity0618/bin/res/crunch/drawable-ldpi/icon.png
--------------------------------------------------------------------------------
/MyWiFiDirectActivity0618/bin/res/crunch/drawable-mdpi/icon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/OurAndroid/myWifiDirectApp/HEAD/MyWiFiDirectActivity0618/bin/res/crunch/drawable-mdpi/icon.png
--------------------------------------------------------------------------------
/MyWiFiDirectActivity0618/bin/res/crunch/drawable/wenjianjia.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/OurAndroid/myWifiDirectApp/HEAD/MyWiFiDirectActivity0618/bin/res/crunch/drawable/wenjianjia.png
--------------------------------------------------------------------------------
/MyWiFiDirectActivity0618/res/drawable-hdpi/ic_action_on_off.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/OurAndroid/myWifiDirectApp/HEAD/MyWiFiDirectActivity0618/res/drawable-hdpi/ic_action_on_off.png
--------------------------------------------------------------------------------
/MyWiFiDirectActivity0618/res/drawable-hdpi/icon_wifidirect.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/OurAndroid/myWifiDirectApp/HEAD/MyWiFiDirectActivity0618/res/drawable-hdpi/icon_wifidirect.png
--------------------------------------------------------------------------------
/MyWiFiDirectActivity0618/res/drawable-ldpi/ic_action_on_off.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/OurAndroid/myWifiDirectApp/HEAD/MyWiFiDirectActivity0618/res/drawable-ldpi/ic_action_on_off.png
--------------------------------------------------------------------------------
/MyWiFiDirectActivity0618/res/drawable-mdpi/ic_action_on_off.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/OurAndroid/myWifiDirectApp/HEAD/MyWiFiDirectActivity0618/res/drawable-mdpi/ic_action_on_off.png
--------------------------------------------------------------------------------
/MyWiFiDirectActivity0618/res/drawable-mdpi/icon_wifidirect.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/OurAndroid/myWifiDirectApp/HEAD/MyWiFiDirectActivity0618/res/drawable-mdpi/icon_wifidirect.png
--------------------------------------------------------------------------------
/MyWiFiDirectActivity0618/res/drawable-xhdpi/icon_wifidirect.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/OurAndroid/myWifiDirectApp/HEAD/MyWiFiDirectActivity0618/res/drawable-xhdpi/icon_wifidirect.png
--------------------------------------------------------------------------------
/MyWiFiDirectActivity0618/res/drawable/btn_check_off_pressed.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/OurAndroid/myWifiDirectApp/HEAD/MyWiFiDirectActivity0618/res/drawable/btn_check_off_pressed.png
--------------------------------------------------------------------------------
/MyWiFiDirectActivity0618/res/drawable/btn_check_on_disable.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/OurAndroid/myWifiDirectApp/HEAD/MyWiFiDirectActivity0618/res/drawable/btn_check_on_disable.png
--------------------------------------------------------------------------------
/MyWiFiDirectActivity0618/res/drawable/btn_check_on_selected.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/OurAndroid/myWifiDirectApp/HEAD/MyWiFiDirectActivity0618/res/drawable/btn_check_on_selected.png
--------------------------------------------------------------------------------
/MyWiFiDirectActivity0618/bin/classes/com/fl/database/Device.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/OurAndroid/myWifiDirectApp/HEAD/MyWiFiDirectActivity0618/bin/classes/com/fl/database/Device.class
--------------------------------------------------------------------------------
/MyWiFiDirectActivity0618/bin/classes/com/fl/utils/DateUtil.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/OurAndroid/myWifiDirectApp/HEAD/MyWiFiDirectActivity0618/bin/classes/com/fl/utils/DateUtil.class
--------------------------------------------------------------------------------
/MyWiFiDirectActivity0618/bin/classes/com/fl/utils/MimeUtil.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/OurAndroid/myWifiDirectApp/HEAD/MyWiFiDirectActivity0618/bin/classes/com/fl/utils/MimeUtil.class
--------------------------------------------------------------------------------
/MyWiFiDirectActivity0618/bin/res/crunch/drawable/btn_check_on.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/OurAndroid/myWifiDirectApp/HEAD/MyWiFiDirectActivity0618/bin/res/crunch/drawable/btn_check_on.png
--------------------------------------------------------------------------------
/MyWiFiDirectActivity0618/res/drawable-hdpi/ic_action_discover.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/OurAndroid/myWifiDirectApp/HEAD/MyWiFiDirectActivity0618/res/drawable-hdpi/ic_action_discover.png
--------------------------------------------------------------------------------
/MyWiFiDirectActivity0618/res/drawable-ldpi/ic_action_discover.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/OurAndroid/myWifiDirectApp/HEAD/MyWiFiDirectActivity0618/res/drawable-ldpi/ic_action_discover.png
--------------------------------------------------------------------------------
/MyWiFiDirectActivity0618/res/drawable-mdpi/ic_action_discover.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/OurAndroid/myWifiDirectApp/HEAD/MyWiFiDirectActivity0618/res/drawable-mdpi/ic_action_discover.png
--------------------------------------------------------------------------------
/MyWiFiDirectActivity0618/res/drawable-xhdpi/ic_action_on_off.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/OurAndroid/myWifiDirectApp/HEAD/MyWiFiDirectActivity0618/res/drawable-xhdpi/ic_action_on_off.png
--------------------------------------------------------------------------------
/MyWiFiDirectActivity0618/bin/classes/com/fl/database/DBHelper.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/OurAndroid/myWifiDirectApp/HEAD/MyWiFiDirectActivity0618/bin/classes/com/fl/database/DBHelper.class
--------------------------------------------------------------------------------
/MyWiFiDirectActivity0618/bin/classes/com/fl/database/DBManager.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/OurAndroid/myWifiDirectApp/HEAD/MyWiFiDirectActivity0618/bin/classes/com/fl/database/DBManager.class
--------------------------------------------------------------------------------
/MyWiFiDirectActivity0618/bin/classes/com/fl/database/Transfer.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/OurAndroid/myWifiDirectApp/HEAD/MyWiFiDirectActivity0618/bin/classes/com/fl/database/Transfer.class
--------------------------------------------------------------------------------
/MyWiFiDirectActivity0618/bin/classes/com/fl/test/DatabaseTest.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/OurAndroid/myWifiDirectApp/HEAD/MyWiFiDirectActivity0618/bin/classes/com/fl/test/DatabaseTest.class
--------------------------------------------------------------------------------
/MyWiFiDirectActivity0618/bin/classes/mySocket/NotificationBean.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/OurAndroid/myWifiDirectApp/HEAD/MyWiFiDirectActivity0618/bin/classes/mySocket/NotificationBean.class
--------------------------------------------------------------------------------
/MyWiFiDirectActivity0618/bin/classes/mySocket/TransferClient$1.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/OurAndroid/myWifiDirectApp/HEAD/MyWiFiDirectActivity0618/bin/classes/mySocket/TransferClient$1.class
--------------------------------------------------------------------------------
/MyWiFiDirectActivity0618/bin/classes/mySocket/TransferClient.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/OurAndroid/myWifiDirectApp/HEAD/MyWiFiDirectActivity0618/bin/classes/mySocket/TransferClient.class
--------------------------------------------------------------------------------
/MyWiFiDirectActivity0618/bin/classes/mySocket/TransferServer.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/OurAndroid/myWifiDirectApp/HEAD/MyWiFiDirectActivity0618/bin/classes/mySocket/TransferServer.class
--------------------------------------------------------------------------------
/MyWiFiDirectActivity0618/bin/res/crunch/drawable-hdpi/high_wjj1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/OurAndroid/myWifiDirectApp/HEAD/MyWiFiDirectActivity0618/bin/res/crunch/drawable-hdpi/high_wjj1.png
--------------------------------------------------------------------------------
/MyWiFiDirectActivity0618/bin/res/crunch/drawable/btn_check_off.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/OurAndroid/myWifiDirectApp/HEAD/MyWiFiDirectActivity0618/bin/res/crunch/drawable/btn_check_off.png
--------------------------------------------------------------------------------
/MyWiFiDirectActivity0618/res/drawable-xhdpi/ic_action_discover.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/OurAndroid/myWifiDirectApp/HEAD/MyWiFiDirectActivity0618/res/drawable-xhdpi/ic_action_discover.png
--------------------------------------------------------------------------------
/MyWiFiDirectActivity0618/res/drawable-xxhdpi/ic_image_flash_on.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/OurAndroid/myWifiDirectApp/HEAD/MyWiFiDirectActivity0618/res/drawable-xxhdpi/ic_image_flash_on.png
--------------------------------------------------------------------------------
/MyWiFiDirectActivity0618/res/drawable-xxxhdpi/ic_image_flash_on.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/OurAndroid/myWifiDirectApp/HEAD/MyWiFiDirectActivity0618/res/drawable-xxxhdpi/ic_image_flash_on.png
--------------------------------------------------------------------------------
/MyWiFiDirectActivity0618/bin/classes/com/fl/adapter/ImageAdapter.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/OurAndroid/myWifiDirectApp/HEAD/MyWiFiDirectActivity0618/bin/classes/com/fl/adapter/ImageAdapter.class
--------------------------------------------------------------------------------
/MyWiFiDirectActivity0618/bin/res/crunch/drawable-hdpi/empty_photo.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/OurAndroid/myWifiDirectApp/HEAD/MyWiFiDirectActivity0618/bin/res/crunch/drawable-hdpi/empty_photo.png
--------------------------------------------------------------------------------
/MyWiFiDirectActivity0618/bin/res/crunch/drawable-hdpi/ic_launcher.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/OurAndroid/myWifiDirectApp/HEAD/MyWiFiDirectActivity0618/bin/res/crunch/drawable-hdpi/ic_launcher.png
--------------------------------------------------------------------------------
/MyWiFiDirectActivity0618/bin/res/crunch/drawable-hdpi/selected_dg.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/OurAndroid/myWifiDirectApp/HEAD/MyWiFiDirectActivity0618/bin/res/crunch/drawable-hdpi/selected_dg.png
--------------------------------------------------------------------------------
/MyWiFiDirectActivity0618/bin/classes/com/fl/adapter/ExpandAdapter$1.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/OurAndroid/myWifiDirectApp/HEAD/MyWiFiDirectActivity0618/bin/classes/com/fl/adapter/ExpandAdapter$1.class
--------------------------------------------------------------------------------
/MyWiFiDirectActivity0618/bin/classes/com/fl/adapter/ExpandAdapter.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/OurAndroid/myWifiDirectApp/HEAD/MyWiFiDirectActivity0618/bin/classes/com/fl/adapter/ExpandAdapter.class
--------------------------------------------------------------------------------
/MyWiFiDirectActivity0618/bin/classes/com/fl/adapter/MyImageAdapter.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/OurAndroid/myWifiDirectApp/HEAD/MyWiFiDirectActivity0618/bin/classes/com/fl/adapter/MyImageAdapter.class
--------------------------------------------------------------------------------
/MyWiFiDirectActivity0618/bin/classes/com/fl/database/TransferInfo.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/OurAndroid/myWifiDirectApp/HEAD/MyWiFiDirectActivity0618/bin/classes/com/fl/database/TransferInfo.class
--------------------------------------------------------------------------------
/MyWiFiDirectActivity0618/bin/res/crunch/drawable-hdpi/icon_wifidirect.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/OurAndroid/myWifiDirectApp/HEAD/MyWiFiDirectActivity0618/bin/res/crunch/drawable-hdpi/icon_wifidirect.png
--------------------------------------------------------------------------------
/MyWiFiDirectActivity0618/bin/res/crunch/drawable-hdpi/unselected_dg.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/OurAndroid/myWifiDirectApp/HEAD/MyWiFiDirectActivity0618/bin/res/crunch/drawable-hdpi/unselected_dg.png
--------------------------------------------------------------------------------
/MyWiFiDirectActivity0618/bin/res/crunch/drawable-mdpi/icon_wifidirect.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/OurAndroid/myWifiDirectApp/HEAD/MyWiFiDirectActivity0618/bin/res/crunch/drawable-mdpi/icon_wifidirect.png
--------------------------------------------------------------------------------
/MyWiFiDirectActivity0618/bin/res/crunch/drawable/btn_check_on_disable.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/OurAndroid/myWifiDirectApp/HEAD/MyWiFiDirectActivity0618/bin/res/crunch/drawable/btn_check_on_disable.png
--------------------------------------------------------------------------------
/MyWiFiDirectActivity0618/src/com/fl/test/DatabaseTest.java:
--------------------------------------------------------------------------------
1 | package com.fl.test;
2 |
3 | import android.test.AndroidTestCase;
4 |
5 | public class DatabaseTest extends AndroidTestCase {
6 |
7 | }
8 |
--------------------------------------------------------------------------------
/MyWiFiDirectActivity0618/bin/classes/com/example/android/wifidirect/R.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/OurAndroid/myWifiDirectApp/HEAD/MyWiFiDirectActivity0618/bin/classes/com/example/android/wifidirect/R.class
--------------------------------------------------------------------------------
/MyWiFiDirectActivity0618/bin/classes/com/example/filebrowser/utils/L.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/OurAndroid/myWifiDirectApp/HEAD/MyWiFiDirectActivity0618/bin/classes/com/example/filebrowser/utils/L.class
--------------------------------------------------------------------------------
/MyWiFiDirectActivity0618/bin/classes/com/fl/adapter/MySubImageAdapter.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/OurAndroid/myWifiDirectApp/HEAD/MyWiFiDirectActivity0618/bin/classes/com/fl/adapter/MySubImageAdapter.class
--------------------------------------------------------------------------------
/MyWiFiDirectActivity0618/bin/classes/com/wifidirect/entity/ImageGroup.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/OurAndroid/myWifiDirectApp/HEAD/MyWiFiDirectActivity0618/bin/classes/com/wifidirect/entity/ImageGroup.class
--------------------------------------------------------------------------------
/MyWiFiDirectActivity0618/bin/classes/com/wifidirect/ui/MyStickyLayout.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/OurAndroid/myWifiDirectApp/HEAD/MyWiFiDirectActivity0618/bin/classes/com/wifidirect/ui/MyStickyLayout.class
--------------------------------------------------------------------------------
/MyWiFiDirectActivity0618/bin/res/crunch/drawable-hdpi/ic_action_on_off.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/OurAndroid/myWifiDirectApp/HEAD/MyWiFiDirectActivity0618/bin/res/crunch/drawable-hdpi/ic_action_on_off.png
--------------------------------------------------------------------------------
/MyWiFiDirectActivity0618/bin/res/crunch/drawable-ldpi/ic_action_on_off.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/OurAndroid/myWifiDirectApp/HEAD/MyWiFiDirectActivity0618/bin/res/crunch/drawable-ldpi/ic_action_on_off.png
--------------------------------------------------------------------------------
/MyWiFiDirectActivity0618/bin/res/crunch/drawable-mdpi/ic_action_on_off.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/OurAndroid/myWifiDirectApp/HEAD/MyWiFiDirectActivity0618/bin/res/crunch/drawable-mdpi/ic_action_on_off.png
--------------------------------------------------------------------------------
/MyWiFiDirectActivity0618/bin/res/crunch/drawable-xhdpi/ic_action_on_off.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/OurAndroid/myWifiDirectApp/HEAD/MyWiFiDirectActivity0618/bin/res/crunch/drawable-xhdpi/ic_action_on_off.png
--------------------------------------------------------------------------------
/MyWiFiDirectActivity0618/bin/res/crunch/drawable-xhdpi/icon_wifidirect.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/OurAndroid/myWifiDirectApp/HEAD/MyWiFiDirectActivity0618/bin/res/crunch/drawable-xhdpi/icon_wifidirect.png
--------------------------------------------------------------------------------
/MyWiFiDirectActivity0618/bin/res/crunch/drawable/btn_check_off_pressed.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/OurAndroid/myWifiDirectApp/HEAD/MyWiFiDirectActivity0618/bin/res/crunch/drawable/btn_check_off_pressed.png
--------------------------------------------------------------------------------
/MyWiFiDirectActivity0618/bin/res/crunch/drawable/btn_check_on_selected.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/OurAndroid/myWifiDirectApp/HEAD/MyWiFiDirectActivity0618/bin/res/crunch/drawable/btn_check_on_selected.png
--------------------------------------------------------------------------------
/MyWiFiDirectActivity0618/bin/classes/com/astuetz/pagerslidingtabstrip/R.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/OurAndroid/myWifiDirectApp/HEAD/MyWiFiDirectActivity0618/bin/classes/com/astuetz/pagerslidingtabstrip/R.class
--------------------------------------------------------------------------------
/MyWiFiDirectActivity0618/bin/classes/com/example/android/wifidirect/R$id.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/OurAndroid/myWifiDirectApp/HEAD/MyWiFiDirectActivity0618/bin/classes/com/example/android/wifidirect/R$id.class
--------------------------------------------------------------------------------
/MyWiFiDirectActivity0618/bin/classes/com/wifidirect/ui/MyStickyLayout$1.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/OurAndroid/myWifiDirectApp/HEAD/MyWiFiDirectActivity0618/bin/classes/com/wifidirect/ui/MyStickyLayout$1.class
--------------------------------------------------------------------------------
/MyWiFiDirectActivity0618/bin/res/crunch/drawable-hdpi/ic_action_discover.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/OurAndroid/myWifiDirectApp/HEAD/MyWiFiDirectActivity0618/bin/res/crunch/drawable-hdpi/ic_action_discover.png
--------------------------------------------------------------------------------
/MyWiFiDirectActivity0618/bin/res/crunch/drawable-ldpi/ic_action_discover.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/OurAndroid/myWifiDirectApp/HEAD/MyWiFiDirectActivity0618/bin/res/crunch/drawable-ldpi/ic_action_discover.png
--------------------------------------------------------------------------------
/MyWiFiDirectActivity0618/bin/res/crunch/drawable-mdpi/ic_action_discover.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/OurAndroid/myWifiDirectApp/HEAD/MyWiFiDirectActivity0618/bin/res/crunch/drawable-mdpi/ic_action_discover.png
--------------------------------------------------------------------------------
/MyWiFiDirectActivity0618/bin/res/crunch/drawable-xhdpi/ic_action_discover.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/OurAndroid/myWifiDirectApp/HEAD/MyWiFiDirectActivity0618/bin/res/crunch/drawable-xhdpi/ic_action_discover.png
--------------------------------------------------------------------------------
/MyWiFiDirectActivity0618/bin/res/crunch/drawable-xxhdpi/ic_image_flash_on.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/OurAndroid/myWifiDirectApp/HEAD/MyWiFiDirectActivity0618/bin/res/crunch/drawable-xxhdpi/ic_image_flash_on.png
--------------------------------------------------------------------------------
/MyWiFiDirectActivity0618/bin/res/crunch/drawable-xxxhdpi/ic_image_flash_on.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/OurAndroid/myWifiDirectApp/HEAD/MyWiFiDirectActivity0618/bin/res/crunch/drawable-xxxhdpi/ic_image_flash_on.png
--------------------------------------------------------------------------------
/MyWiFiDirectActivity0618/assets/sample_file.txt:
--------------------------------------------------------------------------------
1 | This is a sample text file for wifi_direct demo.
2 |
3 | Once the devices are connected, the server i.e. groupOwner will listen for incoming connections and write this file.
--------------------------------------------------------------------------------
/MyWiFiDirectActivity0618/bin/classes/com/example/android/wifidirect/R$attr.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/OurAndroid/myWifiDirectApp/HEAD/MyWiFiDirectActivity0618/bin/classes/com/example/android/wifidirect/R$attr.class
--------------------------------------------------------------------------------
/MyWiFiDirectActivity0618/bin/classes/com/example/android/wifidirect/R$menu.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/OurAndroid/myWifiDirectApp/HEAD/MyWiFiDirectActivity0618/bin/classes/com/example/android/wifidirect/R$menu.class
--------------------------------------------------------------------------------
/MyWiFiDirectActivity0618/bin/classes/com/example/android/wifidirect/Utils.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/OurAndroid/myWifiDirectApp/HEAD/MyWiFiDirectActivity0618/bin/classes/com/example/android/wifidirect/Utils.class
--------------------------------------------------------------------------------
/MyWiFiDirectActivity0618/bin/classes/com/wifidirect/ui/MyStickyLayout$1$1.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/OurAndroid/myWifiDirectApp/HEAD/MyWiFiDirectActivity0618/bin/classes/com/wifidirect/ui/MyStickyLayout$1$1.class
--------------------------------------------------------------------------------
/MyWiFiDirectActivity0618/bin/classes/mySocket/TransferServer$SocketHandler.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/OurAndroid/myWifiDirectApp/HEAD/MyWiFiDirectActivity0618/bin/classes/mySocket/TransferServer$SocketHandler.class
--------------------------------------------------------------------------------
/MyWiFiDirectActivity0618/bin/classes/com/astuetz/pagerslidingtabstrip/R$attr.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/OurAndroid/myWifiDirectApp/HEAD/MyWiFiDirectActivity0618/bin/classes/com/astuetz/pagerslidingtabstrip/R$attr.class
--------------------------------------------------------------------------------
/MyWiFiDirectActivity0618/bin/classes/com/astuetz/pagerslidingtabstrip/R$color.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/OurAndroid/myWifiDirectApp/HEAD/MyWiFiDirectActivity0618/bin/classes/com/astuetz/pagerslidingtabstrip/R$color.class
--------------------------------------------------------------------------------
/MyWiFiDirectActivity0618/bin/classes/com/example/android/wifidirect/R$color.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/OurAndroid/myWifiDirectApp/HEAD/MyWiFiDirectActivity0618/bin/classes/com/example/android/wifidirect/R$color.class
--------------------------------------------------------------------------------
/MyWiFiDirectActivity0618/bin/classes/com/example/android/wifidirect/R$dimen.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/OurAndroid/myWifiDirectApp/HEAD/MyWiFiDirectActivity0618/bin/classes/com/example/android/wifidirect/R$dimen.class
--------------------------------------------------------------------------------
/MyWiFiDirectActivity0618/bin/classes/com/example/android/wifidirect/R$layout.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/OurAndroid/myWifiDirectApp/HEAD/MyWiFiDirectActivity0618/bin/classes/com/example/android/wifidirect/R$layout.class
--------------------------------------------------------------------------------
/MyWiFiDirectActivity0618/bin/classes/com/example/android/wifidirect/R$string.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/OurAndroid/myWifiDirectApp/HEAD/MyWiFiDirectActivity0618/bin/classes/com/example/android/wifidirect/R$string.class
--------------------------------------------------------------------------------
/MyWiFiDirectActivity0618/bin/classes/com/example/android/wifidirect/R$style.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/OurAndroid/myWifiDirectApp/HEAD/MyWiFiDirectActivity0618/bin/classes/com/example/android/wifidirect/R$style.class
--------------------------------------------------------------------------------
/MyWiFiDirectActivity0618/bin/classes/com/example/filebrowser/utils/ImageAware.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/OurAndroid/myWifiDirectApp/HEAD/MyWiFiDirectActivity0618/bin/classes/com/example/filebrowser/utils/ImageAware.class
--------------------------------------------------------------------------------
/MyWiFiDirectActivity0618/bin/classes/com/example/filebrowser/utils/ImageCache.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/OurAndroid/myWifiDirectApp/HEAD/MyWiFiDirectActivity0618/bin/classes/com/example/filebrowser/utils/ImageCache.class
--------------------------------------------------------------------------------
/MyWiFiDirectActivity0618/bin/classes/com/example/filebrowser/utils/ViewAware.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/OurAndroid/myWifiDirectApp/HEAD/MyWiFiDirectActivity0618/bin/classes/com/example/filebrowser/utils/ViewAware.class
--------------------------------------------------------------------------------
/MyWiFiDirectActivity0618/bin/classes/com/fl/adapter/ImageAdapter$ViewHolder.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/OurAndroid/myWifiDirectApp/HEAD/MyWiFiDirectActivity0618/bin/classes/com/fl/adapter/ImageAdapter$ViewHolder.class
--------------------------------------------------------------------------------
/MyWiFiDirectActivity0618/bin/classes/com/fl/adapter/MyImageAdapter$ViewHolder.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/OurAndroid/myWifiDirectApp/HEAD/MyWiFiDirectActivity0618/bin/classes/com/fl/adapter/MyImageAdapter$ViewHolder.class
--------------------------------------------------------------------------------
/MyWiFiDirectActivity0618/bin/classes/com/numberprogressbar/NumberProgressBar.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/OurAndroid/myWifiDirectApp/HEAD/MyWiFiDirectActivity0618/bin/classes/com/numberprogressbar/NumberProgressBar.class
--------------------------------------------------------------------------------
/MyWiFiDirectActivity0618/bin/classes/com/wifidirect/ui/MyExpandableListView.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/OurAndroid/myWifiDirectApp/HEAD/MyWiFiDirectActivity0618/bin/classes/com/wifidirect/ui/MyExpandableListView.class
--------------------------------------------------------------------------------
/MyWiFiDirectActivity0618/bin/dexedLibs/library-6de620048959caa57feebe0319603d1e.jar:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/OurAndroid/myWifiDirectApp/HEAD/MyWiFiDirectActivity0618/bin/dexedLibs/library-6de620048959caa57feebe0319603d1e.jar
--------------------------------------------------------------------------------
/MyWiFiDirectActivity0618/bin/dexedLibs/library-c5f36e28c4f6413c90796fd394dc6cde.jar:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/OurAndroid/myWifiDirectApp/HEAD/MyWiFiDirectActivity0618/bin/dexedLibs/library-c5f36e28c4f6413c90796fd394dc6cde.jar
--------------------------------------------------------------------------------
/MyWiFiDirectActivity0618/bin/classes/com/example/android/wifidirect/BuildConfig.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/OurAndroid/myWifiDirectApp/HEAD/MyWiFiDirectActivity0618/bin/classes/com/example/android/wifidirect/BuildConfig.class
--------------------------------------------------------------------------------
/MyWiFiDirectActivity0618/bin/classes/com/example/android/wifidirect/FileBrowser.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/OurAndroid/myWifiDirectApp/HEAD/MyWiFiDirectActivity0618/bin/classes/com/example/android/wifidirect/FileBrowser.class
--------------------------------------------------------------------------------
/MyWiFiDirectActivity0618/bin/classes/com/example/android/wifidirect/R$drawable.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/OurAndroid/myWifiDirectApp/HEAD/MyWiFiDirectActivity0618/bin/classes/com/example/android/wifidirect/R$drawable.class
--------------------------------------------------------------------------------
/MyWiFiDirectActivity0618/bin/classes/com/example/android/wifidirect/R$styleable.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/OurAndroid/myWifiDirectApp/HEAD/MyWiFiDirectActivity0618/bin/classes/com/example/android/wifidirect/R$styleable.class
--------------------------------------------------------------------------------
/MyWiFiDirectActivity0618/bin/classes/com/example/filebrowser/utils/ImageCache$1.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/OurAndroid/myWifiDirectApp/HEAD/MyWiFiDirectActivity0618/bin/classes/com/example/filebrowser/utils/ImageCache$1.class
--------------------------------------------------------------------------------
/MyWiFiDirectActivity0618/bin/classes/com/example/filebrowser/utils/ImageLoader.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/OurAndroid/myWifiDirectApp/HEAD/MyWiFiDirectActivity0618/bin/classes/com/example/filebrowser/utils/ImageLoader.class
--------------------------------------------------------------------------------
/MyWiFiDirectActivity0618/bin/classes/com/example/filebrowser/utils/ImageWorker.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/OurAndroid/myWifiDirectApp/HEAD/MyWiFiDirectActivity0618/bin/classes/com/example/filebrowser/utils/ImageWorker.class
--------------------------------------------------------------------------------
/MyWiFiDirectActivity0618/bin/classes/com/example/filebrowser/utils/MemoryCache.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/OurAndroid/myWifiDirectApp/HEAD/MyWiFiDirectActivity0618/bin/classes/com/example/filebrowser/utils/MemoryCache.class
--------------------------------------------------------------------------------
/MyWiFiDirectActivity0618/bin/classes/com/astuetz/pagerslidingtabstrip/R$drawable.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/OurAndroid/myWifiDirectApp/HEAD/MyWiFiDirectActivity0618/bin/classes/com/astuetz/pagerslidingtabstrip/R$drawable.class
--------------------------------------------------------------------------------
/MyWiFiDirectActivity0618/bin/classes/com/astuetz/pagerslidingtabstrip/R$styleable.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/OurAndroid/myWifiDirectApp/HEAD/MyWiFiDirectActivity0618/bin/classes/com/astuetz/pagerslidingtabstrip/R$styleable.class
--------------------------------------------------------------------------------
/MyWiFiDirectActivity0618/bin/classes/com/example/android/wifidirect/FileBrowser$1.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/OurAndroid/myWifiDirectApp/HEAD/MyWiFiDirectActivity0618/bin/classes/com/example/android/wifidirect/FileBrowser$1.class
--------------------------------------------------------------------------------
/MyWiFiDirectActivity0618/bin/classes/com/example/android/wifidirect/FileBrowser$2.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/OurAndroid/myWifiDirectApp/HEAD/MyWiFiDirectActivity0618/bin/classes/com/example/android/wifidirect/FileBrowser$2.class
--------------------------------------------------------------------------------
/MyWiFiDirectActivity0618/bin/classes/com/example/android/wifidirect/FileBrowser$3.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/OurAndroid/myWifiDirectApp/HEAD/MyWiFiDirectActivity0618/bin/classes/com/example/android/wifidirect/FileBrowser$3.class
--------------------------------------------------------------------------------
/MyWiFiDirectActivity0618/bin/classes/com/example/android/wifidirect/FileBrowser$4.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/OurAndroid/myWifiDirectApp/HEAD/MyWiFiDirectActivity0618/bin/classes/com/example/android/wifidirect/FileBrowser$4.class
--------------------------------------------------------------------------------
/MyWiFiDirectActivity0618/bin/classes/com/example/android/wifidirect/FileBrowser$5.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/OurAndroid/myWifiDirectApp/HEAD/MyWiFiDirectActivity0618/bin/classes/com/example/android/wifidirect/FileBrowser$5.class
--------------------------------------------------------------------------------
/MyWiFiDirectActivity0618/bin/classes/com/example/android/wifidirect/FileBrowser$6.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/OurAndroid/myWifiDirectApp/HEAD/MyWiFiDirectActivity0618/bin/classes/com/example/android/wifidirect/FileBrowser$6.class
--------------------------------------------------------------------------------
/MyWiFiDirectActivity0618/bin/classes/com/example/android/wifidirect/FileBrowser$7.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/OurAndroid/myWifiDirectApp/HEAD/MyWiFiDirectActivity0618/bin/classes/com/example/android/wifidirect/FileBrowser$7.class
--------------------------------------------------------------------------------
/MyWiFiDirectActivity0618/bin/classes/com/example/android/wifidirect/FileBrowser$8.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/OurAndroid/myWifiDirectApp/HEAD/MyWiFiDirectActivity0618/bin/classes/com/example/android/wifidirect/FileBrowser$8.class
--------------------------------------------------------------------------------
/MyWiFiDirectActivity0618/bin/classes/com/example/filebrowser/utils/ImageViewAware.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/OurAndroid/myWifiDirectApp/HEAD/MyWiFiDirectActivity0618/bin/classes/com/example/filebrowser/utils/ImageViewAware.class
--------------------------------------------------------------------------------
/MyWiFiDirectActivity0618/bin/classes/com/example/filebrowser/utils/ImageWorker$1.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/OurAndroid/myWifiDirectApp/HEAD/MyWiFiDirectActivity0618/bin/classes/com/example/filebrowser/utils/ImageWorker$1.class
--------------------------------------------------------------------------------
/MyWiFiDirectActivity0618/bin/classes/com/example/filebrowser/utils/LruMemoryCache.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/OurAndroid/myWifiDirectApp/HEAD/MyWiFiDirectActivity0618/bin/classes/com/example/filebrowser/utils/LruMemoryCache.class
--------------------------------------------------------------------------------
/MyWiFiDirectActivity0618/bin/classes/com/example/filebrowser/utils/ViewScaleType.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/OurAndroid/myWifiDirectApp/HEAD/MyWiFiDirectActivity0618/bin/classes/com/example/filebrowser/utils/ViewScaleType.class
--------------------------------------------------------------------------------
/MyWiFiDirectActivity0618/bin/classes/com/fl/adapter/ExpandAdapter$ChildViewHolder.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/OurAndroid/myWifiDirectApp/HEAD/MyWiFiDirectActivity0618/bin/classes/com/fl/adapter/ExpandAdapter$ChildViewHolder.class
--------------------------------------------------------------------------------
/MyWiFiDirectActivity0618/bin/classes/com/fl/adapter/ExpandAdapter$GroupViewHolder.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/OurAndroid/myWifiDirectApp/HEAD/MyWiFiDirectActivity0618/bin/classes/com/fl/adapter/ExpandAdapter$GroupViewHolder.class
--------------------------------------------------------------------------------
/MyWiFiDirectActivity0618/bin/classes/com/fl/adapter/MyImageAdapter$subImageHolder.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/OurAndroid/myWifiDirectApp/HEAD/MyWiFiDirectActivity0618/bin/classes/com/fl/adapter/MyImageAdapter$subImageHolder.class
--------------------------------------------------------------------------------
/MyWiFiDirectActivity0618/bin/classes/com/fl/adapter/MySubImageAdapter$ViewHolder.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/OurAndroid/myWifiDirectApp/HEAD/MyWiFiDirectActivity0618/bin/classes/com/fl/adapter/MySubImageAdapter$ViewHolder.class
--------------------------------------------------------------------------------
/MyWiFiDirectActivity0618/bin/classes/com/numberprogressbar/OnProgressBarListener.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/OurAndroid/myWifiDirectApp/HEAD/MyWiFiDirectActivity0618/bin/classes/com/numberprogressbar/OnProgressBarListener.class
--------------------------------------------------------------------------------
/MyWiFiDirectActivity0618/src/com/numberprogressbar/OnProgressBarListener.java:
--------------------------------------------------------------------------------
1 | package com.numberprogressbar;
2 |
3 | public interface OnProgressBarListener {
4 |
5 | void onProgressChange(int current, int max);
6 | }
7 |
8 |
--------------------------------------------------------------------------------
/MyWiFiDirectActivity0618/bin/classes/com/example/android/wifidirect/FileListFragment.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/OurAndroid/myWifiDirectApp/HEAD/MyWiFiDirectActivity0618/bin/classes/com/example/android/wifidirect/FileListFragment.class
--------------------------------------------------------------------------------
/MyWiFiDirectActivity0618/bin/classes/com/example/android/wifidirect/MainApplication.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/OurAndroid/myWifiDirectApp/HEAD/MyWiFiDirectActivity0618/bin/classes/com/example/android/wifidirect/MainApplication.class
--------------------------------------------------------------------------------
/MyWiFiDirectActivity0618/bin/classes/com/example/filebrowser/utils/DisplayBitmapTask.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/OurAndroid/myWifiDirectApp/HEAD/MyWiFiDirectActivity0618/bin/classes/com/example/filebrowser/utils/DisplayBitmapTask.class
--------------------------------------------------------------------------------
/MyWiFiDirectActivity0618/bin/classes/com/example/filebrowser/utils/ImageLoaderConfig.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/OurAndroid/myWifiDirectApp/HEAD/MyWiFiDirectActivity0618/bin/classes/com/example/filebrowser/utils/ImageLoaderConfig.class
--------------------------------------------------------------------------------
/MyWiFiDirectActivity0618/bin/classes/com/example/filebrowser/utils/ImageLoaderEngine.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/OurAndroid/myWifiDirectApp/HEAD/MyWiFiDirectActivity0618/bin/classes/com/example/filebrowser/utils/ImageLoaderEngine.class
--------------------------------------------------------------------------------
/MyWiFiDirectActivity0618/bin/classes/com/example/filebrowser/utils/ImageLoadingInfo.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/OurAndroid/myWifiDirectApp/HEAD/MyWiFiDirectActivity0618/bin/classes/com/example/filebrowser/utils/ImageLoadingInfo.class
--------------------------------------------------------------------------------
/MyWiFiDirectActivity0618/bin/classes/com/example/filebrowser/utils/LruMemoryCache$1.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/OurAndroid/myWifiDirectApp/HEAD/MyWiFiDirectActivity0618/bin/classes/com/example/filebrowser/utils/LruMemoryCache$1.class
--------------------------------------------------------------------------------
/MyWiFiDirectActivity0618/bin/classes/com/fl/adapter/ExpandAdapter$TransferViewHolder.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/OurAndroid/myWifiDirectApp/HEAD/MyWiFiDirectActivity0618/bin/classes/com/fl/adapter/ExpandAdapter$TransferViewHolder.class
--------------------------------------------------------------------------------
/MyWiFiDirectActivity0618/res/values/colors.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | #FF000000
4 | #FF111111
5 |
6 |
--------------------------------------------------------------------------------
/MyWiFiDirectActivity0618/bin/classes/com/example/android/wifidirect/DeviceListFragment.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/OurAndroid/myWifiDirectApp/HEAD/MyWiFiDirectActivity0618/bin/classes/com/example/android/wifidirect/DeviceListFragment.class
--------------------------------------------------------------------------------
/MyWiFiDirectActivity0618/bin/classes/com/example/android/wifidirect/FileListFragment$1.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/OurAndroid/myWifiDirectApp/HEAD/MyWiFiDirectActivity0618/bin/classes/com/example/android/wifidirect/FileListFragment$1.class
--------------------------------------------------------------------------------
/MyWiFiDirectActivity0618/bin/classes/com/example/android/wifidirect/FileRecieveService.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/OurAndroid/myWifiDirectApp/HEAD/MyWiFiDirectActivity0618/bin/classes/com/example/android/wifidirect/FileRecieveService.class
--------------------------------------------------------------------------------
/MyWiFiDirectActivity0618/bin/classes/com/example/android/wifidirect/FileTransferService.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/OurAndroid/myWifiDirectApp/HEAD/MyWiFiDirectActivity0618/bin/classes/com/example/android/wifidirect/FileTransferService.class
--------------------------------------------------------------------------------
/MyWiFiDirectActivity0618/bin/classes/com/example/android/wifidirect/NewFileListFragment.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/OurAndroid/myWifiDirectApp/HEAD/MyWiFiDirectActivity0618/bin/classes/com/example/android/wifidirect/NewFileListFragment.class
--------------------------------------------------------------------------------
/MyWiFiDirectActivity0618/bin/classes/com/example/android/wifidirect/WiFiDirectActivity.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/OurAndroid/myWifiDirectApp/HEAD/MyWiFiDirectActivity0618/bin/classes/com/example/android/wifidirect/WiFiDirectActivity.class
--------------------------------------------------------------------------------
/MyWiFiDirectActivity0618/bin/classes/com/example/filebrowser/utils/ImageLoaderEngine$1.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/OurAndroid/myWifiDirectApp/HEAD/MyWiFiDirectActivity0618/bin/classes/com/example/filebrowser/utils/ImageLoaderEngine$1.class
--------------------------------------------------------------------------------
/MyWiFiDirectActivity0618/bin/classes/com/example/android/wifidirect/DeviceDetailFragment.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/OurAndroid/myWifiDirectApp/HEAD/MyWiFiDirectActivity0618/bin/classes/com/example/android/wifidirect/DeviceDetailFragment.class
--------------------------------------------------------------------------------
/MyWiFiDirectActivity0618/bin/classes/com/example/android/wifidirect/DeviceListFragment$1.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/OurAndroid/myWifiDirectApp/HEAD/MyWiFiDirectActivity0618/bin/classes/com/example/android/wifidirect/DeviceListFragment$1.class
--------------------------------------------------------------------------------
/MyWiFiDirectActivity0618/bin/classes/com/example/android/wifidirect/DeviceListFragment$2.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/OurAndroid/myWifiDirectApp/HEAD/MyWiFiDirectActivity0618/bin/classes/com/example/android/wifidirect/DeviceListFragment$2.class
--------------------------------------------------------------------------------
/MyWiFiDirectActivity0618/bin/classes/com/example/android/wifidirect/FileTransmitFragment.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/OurAndroid/myWifiDirectApp/HEAD/MyWiFiDirectActivity0618/bin/classes/com/example/android/wifidirect/FileTransmitFragment.class
--------------------------------------------------------------------------------
/MyWiFiDirectActivity0618/bin/classes/com/example/android/wifidirect/WiFiDirectActivity$1.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/OurAndroid/myWifiDirectApp/HEAD/MyWiFiDirectActivity0618/bin/classes/com/example/android/wifidirect/WiFiDirectActivity$1.class
--------------------------------------------------------------------------------
/MyWiFiDirectActivity0618/bin/classes/com/example/android/wifidirect/WiFiDirectActivity$2.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/OurAndroid/myWifiDirectApp/HEAD/MyWiFiDirectActivity0618/bin/classes/com/example/android/wifidirect/WiFiDirectActivity$2.class
--------------------------------------------------------------------------------
/MyWiFiDirectActivity0618/bin/classes/com/example/android/wifidirect/WiFiDirectActivity$3.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/OurAndroid/myWifiDirectApp/HEAD/MyWiFiDirectActivity0618/bin/classes/com/example/android/wifidirect/WiFiDirectActivity$3.class
--------------------------------------------------------------------------------
/MyWiFiDirectActivity0618/bin/classes/com/example/android/wifidirect/WiFiDirectActivity$4.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/OurAndroid/myWifiDirectApp/HEAD/MyWiFiDirectActivity0618/bin/classes/com/example/android/wifidirect/WiFiDirectActivity$4.class
--------------------------------------------------------------------------------
/MyWiFiDirectActivity0618/bin/classes/com/fl/adapter/MyImageAdapter$OnMultiSelectListener.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/OurAndroid/myWifiDirectApp/HEAD/MyWiFiDirectActivity0618/bin/classes/com/fl/adapter/MyImageAdapter$OnMultiSelectListener.class
--------------------------------------------------------------------------------
/MyWiFiDirectActivity0618/bin/classes/com/todddavies/components/progressbar/ProgressWheel.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/OurAndroid/myWifiDirectApp/HEAD/MyWiFiDirectActivity0618/bin/classes/com/todddavies/components/progressbar/ProgressWheel.class
--------------------------------------------------------------------------------
/MyWiFiDirectActivity0618/bin/dexedLibs/android-support-v4-a89c23fe7441d2309adcc9e03d72d8c5.jar:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/OurAndroid/myWifiDirectApp/HEAD/MyWiFiDirectActivity0618/bin/dexedLibs/android-support-v4-a89c23fe7441d2309adcc9e03d72d8c5.jar
--------------------------------------------------------------------------------
/MyWiFiDirectActivity0618/src/com/fl/utils/KeyUtil.java:
--------------------------------------------------------------------------------
1 | package com.fl.utils;
2 |
3 | public class KeyUtil {
4 |
5 | public static String getKey(String str){
6 | return str+"/"+System.currentTimeMillis();
7 | }
8 |
9 | }
10 |
--------------------------------------------------------------------------------
/MyWiFiDirectActivity0618/.settings/org.eclipse.jdt.core.prefs:
--------------------------------------------------------------------------------
1 | eclipse.preferences.version=1
2 | org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.6
3 | org.eclipse.jdt.core.compiler.compliance=1.6
4 | org.eclipse.jdt.core.compiler.source=1.6
5 |
--------------------------------------------------------------------------------
/MyWiFiDirectActivity0618/bin/classes/com/example/android/wifidirect/DeviceDetailFragment$1.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/OurAndroid/myWifiDirectApp/HEAD/MyWiFiDirectActivity0618/bin/classes/com/example/android/wifidirect/DeviceDetailFragment$1.class
--------------------------------------------------------------------------------
/MyWiFiDirectActivity0618/bin/classes/com/example/android/wifidirect/DeviceDetailFragment$2.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/OurAndroid/myWifiDirectApp/HEAD/MyWiFiDirectActivity0618/bin/classes/com/example/android/wifidirect/DeviceDetailFragment$2.class
--------------------------------------------------------------------------------
/MyWiFiDirectActivity0618/bin/classes/com/example/android/wifidirect/DeviceDetailFragment$3.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/OurAndroid/myWifiDirectApp/HEAD/MyWiFiDirectActivity0618/bin/classes/com/example/android/wifidirect/DeviceDetailFragment$3.class
--------------------------------------------------------------------------------
/MyWiFiDirectActivity0618/bin/classes/com/example/android/wifidirect/DeviceDetailFragment$4.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/OurAndroid/myWifiDirectApp/HEAD/MyWiFiDirectActivity0618/bin/classes/com/example/android/wifidirect/DeviceDetailFragment$4.class
--------------------------------------------------------------------------------
/MyWiFiDirectActivity0618/bin/classes/com/example/android/wifidirect/FileBrowser$ImageAdapter.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/OurAndroid/myWifiDirectApp/HEAD/MyWiFiDirectActivity0618/bin/classes/com/example/android/wifidirect/FileBrowser$ImageAdapter.class
--------------------------------------------------------------------------------
/MyWiFiDirectActivity0618/bin/classes/com/example/android/wifidirect/FileTransmitFragment$1$1.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/OurAndroid/myWifiDirectApp/HEAD/MyWiFiDirectActivity0618/bin/classes/com/example/android/wifidirect/FileTransmitFragment$1$1.class
--------------------------------------------------------------------------------
/MyWiFiDirectActivity0618/bin/classes/com/example/android/wifidirect/FileTransmitFragment$1.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/OurAndroid/myWifiDirectApp/HEAD/MyWiFiDirectActivity0618/bin/classes/com/example/android/wifidirect/FileTransmitFragment$1.class
--------------------------------------------------------------------------------
/MyWiFiDirectActivity0618/bin/classes/com/example/filebrowser/utils/ImageWorker$AsyncDrawable.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/OurAndroid/myWifiDirectApp/HEAD/MyWiFiDirectActivity0618/bin/classes/com/example/filebrowser/utils/ImageWorker$AsyncDrawable.class
--------------------------------------------------------------------------------
/MyWiFiDirectActivity0618/bin/classes/com/example/filebrowser/utils/LoadAndDisplayImageTask.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/OurAndroid/myWifiDirectApp/HEAD/MyWiFiDirectActivity0618/bin/classes/com/example/filebrowser/utils/LoadAndDisplayImageTask.class
--------------------------------------------------------------------------------
/MyWiFiDirectActivity0618/bin/classes/com/example/android/wifidirect/FileRecieveService$MsgBinder.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/OurAndroid/myWifiDirectApp/HEAD/MyWiFiDirectActivity0618/bin/classes/com/example/android/wifidirect/FileRecieveService$MsgBinder.class
--------------------------------------------------------------------------------
/MyWiFiDirectActivity0618/bin/classes/com/example/android/wifidirect/NewFileListFragment$MyHandler.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/OurAndroid/myWifiDirectApp/HEAD/MyWiFiDirectActivity0618/bin/classes/com/example/android/wifidirect/NewFileListFragment$MyHandler.class
--------------------------------------------------------------------------------
/MyWiFiDirectActivity0618/bin/classes/com/example/android/wifidirect/WiFiDirectBroadcastReceiver.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/OurAndroid/myWifiDirectApp/HEAD/MyWiFiDirectActivity0618/bin/classes/com/example/android/wifidirect/WiFiDirectBroadcastReceiver.class
--------------------------------------------------------------------------------
/MyWiFiDirectActivity0618/bin/classes/com/example/filebrowser/utils/ImageWorker$BitmapWorkerTask.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/OurAndroid/myWifiDirectApp/HEAD/MyWiFiDirectActivity0618/bin/classes/com/example/filebrowser/utils/ImageWorker$BitmapWorkerTask.class
--------------------------------------------------------------------------------
/MyWiFiDirectActivity0618/bin/classes/com/wifidirect/ui/MyStickyLayout$OnGiveUpTouchEventListener.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/OurAndroid/myWifiDirectApp/HEAD/MyWiFiDirectActivity0618/bin/classes/com/wifidirect/ui/MyStickyLayout$OnGiveUpTouchEventListener.class
--------------------------------------------------------------------------------
/MyWiFiDirectActivity0618/gen/com/example/android/wifidirect/BuildConfig.java:
--------------------------------------------------------------------------------
1 | /** Automatically generated file. DO NOT MODIFY */
2 | package com.example.android.wifidirect;
3 |
4 | public final class BuildConfig {
5 | public final static boolean DEBUG = true;
6 | }
--------------------------------------------------------------------------------
/MyWiFiDirectActivity0618/bin/classes/com/example/android/wifidirect/DeviceDetailFragment$MyHandler.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/OurAndroid/myWifiDirectApp/HEAD/MyWiFiDirectActivity0618/bin/classes/com/example/android/wifidirect/DeviceDetailFragment$MyHandler.class
--------------------------------------------------------------------------------
/MyWiFiDirectActivity0618/bin/classes/com/numberprogressbar/NumberProgressBar$ProgressTextVisibility.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/OurAndroid/myWifiDirectApp/HEAD/MyWiFiDirectActivity0618/bin/classes/com/numberprogressbar/NumberProgressBar$ProgressTextVisibility.class
--------------------------------------------------------------------------------
/MyWiFiDirectActivity0618/bin/classes/com/wifidirect/ui/MyExpandableListView$OnHeaderUpdateListener.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/OurAndroid/myWifiDirectApp/HEAD/MyWiFiDirectActivity0618/bin/classes/com/wifidirect/ui/MyExpandableListView$OnHeaderUpdateListener.class
--------------------------------------------------------------------------------
/MyWiFiDirectActivity0618/bin/classes/com/example/android/wifidirect/DeviceDetailFragment$SendMsgClient.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/OurAndroid/myWifiDirectApp/HEAD/MyWiFiDirectActivity0618/bin/classes/com/example/android/wifidirect/DeviceDetailFragment$SendMsgClient.class
--------------------------------------------------------------------------------
/MyWiFiDirectActivity0618/bin/classes/com/example/android/wifidirect/DeviceDetailFragment$SendMsgServer.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/OurAndroid/myWifiDirectApp/HEAD/MyWiFiDirectActivity0618/bin/classes/com/example/android/wifidirect/DeviceDetailFragment$SendMsgServer.class
--------------------------------------------------------------------------------
/MyWiFiDirectActivity0618/bin/classes/com/example/android/wifidirect/WiFiDirectActivity$MyPagerAdapter.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/OurAndroid/myWifiDirectApp/HEAD/MyWiFiDirectActivity0618/bin/classes/com/example/android/wifidirect/WiFiDirectActivity$MyPagerAdapter.class
--------------------------------------------------------------------------------
/MyWiFiDirectActivity0618/bin/classes/com/example/android/wifidirect/FileBrowser$ImageAdapter$ViewHolder.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/OurAndroid/myWifiDirectApp/HEAD/MyWiFiDirectActivity0618/bin/classes/com/example/android/wifidirect/FileBrowser$ImageAdapter$ViewHolder.class
--------------------------------------------------------------------------------
/MyWiFiDirectActivity0618/bin/classes/com/example/android/wifidirect/FileBrowser$SendFileCallbackListener.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/OurAndroid/myWifiDirectApp/HEAD/MyWiFiDirectActivity0618/bin/classes/com/example/android/wifidirect/FileBrowser$SendFileCallbackListener.class
--------------------------------------------------------------------------------
/MyWiFiDirectActivity0618/bin/classes/com/example/android/wifidirect/DeviceListFragment$DeviceActionListener.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/OurAndroid/myWifiDirectApp/HEAD/MyWiFiDirectActivity0618/bin/classes/com/example/android/wifidirect/DeviceListFragment$DeviceActionListener.class
--------------------------------------------------------------------------------
/MyWiFiDirectActivity0618/bin/classes/com/example/android/wifidirect/DeviceListFragment$DeviceListListener.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/OurAndroid/myWifiDirectApp/HEAD/MyWiFiDirectActivity0618/bin/classes/com/example/android/wifidirect/DeviceListFragment$DeviceListListener.class
--------------------------------------------------------------------------------
/MyWiFiDirectActivity0618/bin/classes/com/example/android/wifidirect/DeviceListFragment$WiFiPeerListAdapter.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/OurAndroid/myWifiDirectApp/HEAD/MyWiFiDirectActivity0618/bin/classes/com/example/android/wifidirect/DeviceListFragment$WiFiPeerListAdapter.class
--------------------------------------------------------------------------------
/MyWiFiDirectActivity0618/bin/classes/com/example/android/wifidirect/DeviceDetailFragment$DeviceDetailListener.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/OurAndroid/myWifiDirectApp/HEAD/MyWiFiDirectActivity0618/bin/classes/com/example/android/wifidirect/DeviceDetailFragment$DeviceDetailListener.class
--------------------------------------------------------------------------------
/MyWiFiDirectActivity0618/bin/classes/com/example/android/wifidirect/DeviceDetailFragment$FileServerAsyncTask.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/OurAndroid/myWifiDirectApp/HEAD/MyWiFiDirectActivity0618/bin/classes/com/example/android/wifidirect/DeviceDetailFragment$FileServerAsyncTask.class
--------------------------------------------------------------------------------
/MyWiFiDirectActivity0618/bin/classes/com/example/filebrowser/utils/LoadAndDisplayImageTask$TaskCancelledException.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/OurAndroid/myWifiDirectApp/HEAD/MyWiFiDirectActivity0618/bin/classes/com/example/filebrowser/utils/LoadAndDisplayImageTask$TaskCancelledException.class
--------------------------------------------------------------------------------
/MyWiFiDirectActivity0618/README.txt:
--------------------------------------------------------------------------------
1 | 本工程通过读取/proc/net/arp的内容获地址映射关系,通过Utils.getLocalIPAddress()获得本地IP地址,若本地IP地址不是192.168.49.1,则本机非GroupOwner,它作为发送者时
2 | 则发送到IP地址为192.168.49.1的GroupOwner,若本地地址是192.168.49.1,则发送到ClientIP的终端。
3 |
4 |
5 | 2015.4.22日修改:
6 | 主题改为android:Theme.Light.NoTitleBar
7 | 并且修改了界面布局
8 | 添加了传输成功的文件列表
--------------------------------------------------------------------------------
/MyWiFiDirectActivity0618/res/layout/my_xml.xml:
--------------------------------------------------------------------------------
1 |
2 |
6 |
7 |
8 |
9 |
--------------------------------------------------------------------------------
/MyWiFiDirectActivity0618/res/drawable/selector_item.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
--------------------------------------------------------------------------------
/MyWiFiDirectActivity0618/src/com/fl/database/TransferInfo.java:
--------------------------------------------------------------------------------
1 | package com.fl.database;
2 |
3 | public class TransferInfo extends Info {
4 |
5 | private int position = 0;
6 |
7 | public int getPosition() {
8 | return position;
9 | }
10 |
11 | public void setPosition(int position) {
12 | this.position = position;
13 | }
14 |
15 |
16 |
17 | }
18 |
--------------------------------------------------------------------------------
/MyWiFiDirectActivity0618/res/drawable/selector_group.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
--------------------------------------------------------------------------------
/MyWiFiDirectActivity0618/bin/jarlist.cache:
--------------------------------------------------------------------------------
1 | # cache for current jar dependency. DO NOT EDIT.
2 | # format is
3 | # Encoding is UTF-8
4 | 1403872511000 648327 ded9acc6a9792b8f1afc470f0c9cd36d178914cd D:\work\android\workplace\library\libs\android-support-v4.jar
5 | 1403872511000 648327 ded9acc6a9792b8f1afc470f0c9cd36d178914cd D:\Android\git\myWifiDirectApp\MyWiFiDirectActivity0618\libs\android-support-v4.jar
6 |
--------------------------------------------------------------------------------
/MyWiFiDirectActivity0618/src/com/example/filebrowser/utils/ImageLoaderConfig.java:
--------------------------------------------------------------------------------
1 | package com.example.filebrowser.utils;
2 |
3 | import android.graphics.Bitmap;
4 |
5 | public class ImageLoaderConfig {
6 |
7 | public MemoryCache memoryCache;
8 | public Bitmap loadingbmp;
9 |
10 | public ImageLoaderConfig(MemoryCache memoryCache, Bitmap loadingbmp){
11 | this.loadingbmp = loadingbmp;
12 | this.memoryCache = memoryCache;
13 | }
14 |
15 |
16 | }
17 |
--------------------------------------------------------------------------------
/MyWiFiDirectActivity0618/res/drawable/details_view.xml:
--------------------------------------------------------------------------------
1 |
2 |
5 |
6 |
7 |
10 |
15 |
16 |
--------------------------------------------------------------------------------
/MyWiFiDirectActivity0618/res/drawable/child_bg.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | -
5 |
6 |
12 |
13 |
14 |
15 |
--------------------------------------------------------------------------------
/MyWiFiDirectActivity0618/res/drawable/section_header.xml:
--------------------------------------------------------------------------------
1 |
2 |
5 |
8 |
9 |
14 |
16 |
17 |
--------------------------------------------------------------------------------
/MyWiFiDirectActivity0618/res/layout/testgridview.xml:
--------------------------------------------------------------------------------
1 |
2 |
6 |
7 |
12 |
13 |
14 |
--------------------------------------------------------------------------------
/MyWiFiDirectActivity0618/.classpath:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
--------------------------------------------------------------------------------
/MyWiFiDirectActivity0618/res/menu/action_items.xml:
--------------------------------------------------------------------------------
1 |
2 |
16 |
--------------------------------------------------------------------------------
/MyWiFiDirectActivity0618/project.properties:
--------------------------------------------------------------------------------
1 | # This file is automatically generated by Android Tools.
2 | # Do not modify this file -- YOUR CHANGES WILL BE ERASED!
3 | #
4 | # This file must be checked in Version Control Systems.
5 | #
6 | # To customize properties used by the Ant build system edit
7 | # "ant.properties", and override values to adapt the script to your
8 | # project structure.
9 | #
10 | # To enable ProGuard to shrink and obfuscate your code, uncomment this (available properties: sdk.dir, user.home):
11 | #proguard.config=${sdk.dir}/tools/proguard/proguard-android.txt:proguard-project.txt
12 |
13 | # Project target.
14 | target=android-19
15 | android.library.reference.1=../../../../work/android/workplace/library
16 |
--------------------------------------------------------------------------------
/MyWiFiDirectActivity0618/res/layout/listline.xml:
--------------------------------------------------------------------------------
1 |
2 |
6 |
7 |
12 |
17 |
18 |
19 |
20 |
21 |
22 |
--------------------------------------------------------------------------------
/MyWiFiDirectActivity0618/src/com/fl/database/Device.java:
--------------------------------------------------------------------------------
1 | package com.fl.database;
2 |
3 | public class Device {
4 |
5 | private int _id;
6 | private String deviceAddress;
7 | private String deviceName;
8 | public int get_id() {
9 | return _id;
10 | }
11 | public void set_id(int _id) {
12 | this._id = _id;
13 | }
14 | public String getDeviceAddress() {
15 | return deviceAddress;
16 | }
17 | public void setDeviceAddress(String deviceAddress) {
18 | this.deviceAddress = deviceAddress;
19 | }
20 | public String getDeviceName() {
21 | return deviceName;
22 | }
23 | public void setDeviceName(String deviceName) {
24 | this.deviceName = deviceName;
25 | }
26 |
27 |
28 |
29 | }
30 |
--------------------------------------------------------------------------------
/MyWiFiDirectActivity0618/src/com/wifidirect/entity/ImageGroup.java:
--------------------------------------------------------------------------------
1 | package com.wifidirect.entity;
2 |
3 | public class ImageGroup {
4 |
5 | private String parentName;
6 | private String topImagePath;
7 | private int count;
8 | public String getParentName() {
9 | return parentName;
10 | }
11 | public void setParentName(String parentName) {
12 | this.parentName = parentName;
13 | }
14 | public String getTopImagePath() {
15 | return topImagePath;
16 | }
17 | public void setTopImagePath(String topImagePath) {
18 | this.topImagePath = topImagePath;
19 | }
20 | public int getCount() {
21 | return count;
22 | }
23 | public void setCount(int count) {
24 | this.count = count;
25 | }
26 |
27 |
28 |
29 | }
30 |
--------------------------------------------------------------------------------
/MyWiFiDirectActivity0618/res/layout/image_child_list.xml:
--------------------------------------------------------------------------------
1 |
2 |
6 |
11 |
18 |
19 |
20 |
--------------------------------------------------------------------------------
/MyWiFiDirectActivity0618/res/values/color.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | #ffffff
5 | #00000001
6 | #e0000000
7 | #ffa500
8 | #0066dd
9 | #000000
10 |
11 | #00000000
12 | #fcb75c
13 | #00000000
14 | #D3D3D3
15 | #50000000
16 | #fe0202
17 | #e5e5e5
18 | #50000000
19 | #BEBEBE
20 |
21 |
--------------------------------------------------------------------------------
/MyWiFiDirectActivity0618/src/com/fl/utils/DateUtil.java:
--------------------------------------------------------------------------------
1 | package com.fl.utils;
2 |
3 | import java.text.SimpleDateFormat;
4 | import java.util.Date;
5 |
6 | import android.util.Log;
7 |
8 |
9 | public class DateUtil {
10 |
11 | public static SimpleDateFormat sf = new SimpleDateFormat("yyyy/MM/dd HH:mm:ss");
12 | public static SimpleDateFormat sfDate = new SimpleDateFormat("yyyy/MM/dd");
13 | public static SimpleDateFormat sfTime = new SimpleDateFormat("HH:mm:ss");
14 |
15 | public static String getAllDate(Date date){
16 | return sf.format(date);
17 | }
18 |
19 | public static String getDate(String oldDate){
20 | Log.i("Wifidirect---date", oldDate);
21 |
22 | String current = sfDate.format(new Date());
23 | String date = oldDate.split(" ")[0];
24 | String time = oldDate.split(" ")[1];
25 | if(date.compareTo(current)<0){
26 | return date;
27 | }
28 | return time;
29 | }
30 |
31 | }
32 |
--------------------------------------------------------------------------------
/MyWiFiDirectActivity0618/res/layout/vlist.xml:
--------------------------------------------------------------------------------
1 |
2 |
6 |
7 |
12 |
13 |
17 |
18 |
23 |
24 |
25 |
26 |
27 |
28 |
--------------------------------------------------------------------------------
/MyWiFiDirectActivity0618/res/layout/new_file_list.xml:
--------------------------------------------------------------------------------
1 |
2 |
7 |
8 |
9 |
20 |
21 |
22 |
--------------------------------------------------------------------------------
/MyWiFiDirectActivity0618/res/layout-land/main.xml:
--------------------------------------------------------------------------------
1 |
10 |
11 |
15 |
16 |
21 |
22 |
23 |
--------------------------------------------------------------------------------
/MyWiFiDirectActivity0618/res/layout-large/main.xml:
--------------------------------------------------------------------------------
1 |
10 |
11 |
15 |
16 |
21 |
22 |
23 |
--------------------------------------------------------------------------------
/MyWiFiDirectActivity0618/res/layout/main.xml:
--------------------------------------------------------------------------------
1 |
10 |
11 |
17 |
18 |
23 |
24 |
25 |
--------------------------------------------------------------------------------
/MyWiFiDirectActivity0618/.project:
--------------------------------------------------------------------------------
1 |
2 |
3 | MyWiFiDirectActivity0617
4 |
5 |
6 |
7 |
8 |
9 | com.android.ide.eclipse.adt.ResourceManagerBuilder
10 |
11 |
12 |
13 |
14 | com.android.ide.eclipse.adt.PreCompilerBuilder
15 |
16 |
17 |
18 |
19 | org.eclipse.jdt.core.javabuilder
20 |
21 |
22 |
23 |
24 | com.android.ide.eclipse.adt.ApkBuilder
25 |
26 |
27 |
28 |
29 |
30 | com.android.ide.eclipse.adt.AndroidNature
31 | org.eclipse.jdt.core.javanature
32 |
33 |
34 |
--------------------------------------------------------------------------------
/MyWiFiDirectActivity0618/res/drawable/button_send.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | -
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 | -
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 | -
22 |
23 |
24 |
25 |
26 |
27 |
28 |
29 |
--------------------------------------------------------------------------------
/MyWiFiDirectActivity0618/res/drawable/button_discover.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | -
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 | -
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 | -
22 |
23 |
24 |
25 |
26 |
27 |
28 |
29 |
--------------------------------------------------------------------------------
/MyWiFiDirectActivity0618/res/drawable/button_recieve.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | -
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 | -
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 | -
22 |
23 |
24 |
25 |
26 |
27 |
28 |
29 |
--------------------------------------------------------------------------------
/MyWiFiDirectActivity0618/res/drawable/button_transmit.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | -
4 |
5 |
6 |
11 |
12 |
13 | -
14 |
15 |
19 |
24 |
25 |
26 |
--------------------------------------------------------------------------------
/MyWiFiDirectActivity0618/res/layout/file_list_group_item.xml:
--------------------------------------------------------------------------------
1 |
2 |
8 |
9 |
16 |
17 |
25 |
26 |
--------------------------------------------------------------------------------
/MyWiFiDirectActivity0618/res/values/dimens.xml:
--------------------------------------------------------------------------------
1 |
2 |
17 |
18 | 300dp
19 | 200dp
20 | 70dp
21 | 120dp
22 | 1dp
23 | 16dp
24 | 16dp
25 | 100dp
26 |
27 |
--------------------------------------------------------------------------------
/MyWiFiDirectActivity0618/res/layout/gridline.xml:
--------------------------------------------------------------------------------
1 |
2 |
5 |
6 |
14 |
22 |
31 |
32 |
33 |
--------------------------------------------------------------------------------
/MyWiFiDirectActivity0618/res/layout/filetransmit.xml:
--------------------------------------------------------------------------------
1 |
2 | "
6 |
11 |
16 |
17 |
18 |
23 |
24 |
25 |
26 |
27 |
--------------------------------------------------------------------------------
/MyWiFiDirectActivity0618/res/layout-land/filetransmit.xml:
--------------------------------------------------------------------------------
1 |
2 |
7 |
12 |
17 |
18 |
19 |
24 |
25 |
26 |
27 |
28 |
--------------------------------------------------------------------------------
/MyWiFiDirectActivity0618/res/layout/image_list_line.xml:
--------------------------------------------------------------------------------
1 |
2 |
6 |
7 |
15 |
16 |
24 |
32 |
33 |
34 |
35 |
36 |
--------------------------------------------------------------------------------
/MyWiFiDirectActivity0618/res/layout/file_list.xml:
--------------------------------------------------------------------------------
1 |
2 |
6 |
7 |
11 |
12 |
19 |
20 |
26 |
27 |
28 |
34 |
35 |
--------------------------------------------------------------------------------
/MyWiFiDirectActivity0618/src/mySocket/NotificationBean.java:
--------------------------------------------------------------------------------
1 | package mySocket;
2 |
3 | import com.example.android.wifidirect.R;
4 | import com.example.android.wifidirect.WiFiDirectActivity;
5 |
6 | import android.app.Notification;
7 | import android.app.PendingIntent;
8 | import android.content.Context;
9 | import android.content.Intent;
10 | import android.widget.RemoteViews;
11 |
12 | public class NotificationBean extends Notification{
13 | private Context mContext ;
14 |
15 | public NotificationBean(Context context , int icon , CharSequence tickerText , long when , int id){
16 | super(icon , tickerText , when);
17 | this.mContext = context ;
18 | this.flags = Notification.FLAG_AUTO_CANCEL ;//设置用户点击之后自动消失
19 | //this.defaults = Notification.DEFAULT_SOUND;
20 | RemoteViews mRemoteView = new RemoteViews(mContext.getPackageName(), R.layout.notify_content);
21 | this.contentView = mRemoteView ;
22 | this.contentView.setProgressBar(R.id.pb, 100, 0, false);
23 | this.contentView.setTextViewText(R.id.tv_progress, "进度" + 0 + "%");
24 | this.contentView.setImageViewResource(R.id.iv_show, R.drawable.ic_launcher);
25 | this.contentIntent = PendingIntent.getActivity(mContext, id, new Intent(mContext , WiFiDirectActivity.class), PendingIntent.FLAG_UPDATE_CURRENT);
26 |
27 | }
28 | }
29 |
--------------------------------------------------------------------------------
/MyWiFiDirectActivity0618/res/layout-land/file_list.xml:
--------------------------------------------------------------------------------
1 |
2 |
6 |
7 |
11 |
12 |
19 |
20 |
27 |
28 |
29 |
35 |
36 |
--------------------------------------------------------------------------------
/MyWiFiDirectActivity0618/res/layout/notify_content.xml:
--------------------------------------------------------------------------------
1 |
2 |
5 |
6 |
7 |
16 |
17 |
24 |
25 |
32 |
33 |
--------------------------------------------------------------------------------
/MyWiFiDirectActivity0618/src/com/fl/adapter/ImageAdapter.java:
--------------------------------------------------------------------------------
1 | package com.fl.adapter;
2 |
3 | import java.util.List;
4 |
5 | import android.view.LayoutInflater;
6 | import android.view.View;
7 | import android.view.ViewGroup;
8 | import android.widget.BaseAdapter;
9 | import android.widget.GridView;
10 | import android.widget.ImageView;
11 | import android.widget.TextView;
12 |
13 | import com.wifidirect.entity.ImageGroup;
14 |
15 | public class ImageAdapter extends BaseAdapter {
16 |
17 | private List list;
18 | private GridView mGridView;
19 | protected LayoutInflater mInflater;
20 |
21 | @Override
22 | public int getCount() {
23 | // TODO Auto-generated method stub
24 | return list.size();
25 | }
26 |
27 | @Override
28 | public Object getItem(int position) {
29 | // TODO Auto-generated method stub
30 | return list.get(position);
31 | }
32 |
33 | @Override
34 | public long getItemId(int position) {
35 | // TODO Auto-generated method stub
36 | return position;
37 | }
38 |
39 | @Override
40 | public View getView(int position, View convertView, ViewGroup parent) {
41 | // TODO Auto-generated method stub
42 | return null;
43 | }
44 |
45 | public class ViewHolder{
46 | public ImageView mImageView;
47 | public TextView mTextView;
48 | public TextView counts;
49 | }
50 |
51 | }
52 |
--------------------------------------------------------------------------------
/MyWiFiDirectActivity0618/res/drawable/button.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | -
4 |
5 |
7 |
8 |
9 |
11 |
12 |
13 |
14 | -
15 |
16 |
18 |
19 |
20 |
22 |
23 |
24 |
25 | -
26 |
27 |
29 |
30 |
31 |
33 |
34 |
35 |
--------------------------------------------------------------------------------
/MyWiFiDirectActivity0618/res/layout-land/filebrowser.xml:
--------------------------------------------------------------------------------
1 |
2 |
5 |
6 |
10 |
15 |
21 |
22 |
23 |
27 |
34 |
35 |
36 |
37 |
38 |
--------------------------------------------------------------------------------
/MyWiFiDirectActivity0618/res/layout/row_devices.xml:
--------------------------------------------------------------------------------
1 |
2 |
8 |
14 |
19 |
25 |
32 |
33 |
34 |
35 |
--------------------------------------------------------------------------------
/MyWiFiDirectActivity0618/src/com/fl/database/DBHelper.java:
--------------------------------------------------------------------------------
1 | package com.fl.database;
2 |
3 | import android.content.Context;
4 | import android.database.sqlite.SQLiteDatabase;
5 | import android.database.sqlite.SQLiteDatabase.CursorFactory;
6 | import android.database.sqlite.SQLiteOpenHelper;
7 |
8 | public class DBHelper extends SQLiteOpenHelper {
9 |
10 | //定义数据库的名称和版本
11 | private static final String DATABASE_NAME = "fileTransfer.db";
12 | private static final int DATABASE_VERSION = 1;
13 |
14 | public DBHelper(Context context) {
15 | super(context, DATABASE_NAME, null, DATABASE_VERSION);
16 | // TODO Auto-generated constructor stub
17 | }
18 |
19 | @Override
20 | public void onCreate(SQLiteDatabase db) {
21 | // TODO Auto-generated method stub
22 | //创建设备表
23 | db.execSQL("CREATE TABLE IF NOT EXISTS transfer (_id INTEGER PRIMARY KEY AUTOINCREMENT," +
24 | "file_path VARCHAR, isclient INTEGER, device_id INTEGER, device_address VARCHAR, isdelete INTEGER, time VARCHAR)");
25 | db.execSQL("CREATE TABLE IF NOT EXISTS device (_id INTEGER PRIMARY KEY AUTOINCREMENT, device_address " +
26 | "VARCHAR, device_name VARCHAR)");
27 | }
28 |
29 | @Override
30 | public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
31 | // TODO Auto-generated method stub
32 | db.execSQL("ALTER TABLE transfer ADD COLUMN other STRING");
33 |
34 | }
35 |
36 | }
37 |
--------------------------------------------------------------------------------
/MyWiFiDirectActivity0618/src/com/fl/database/Transfer.java:
--------------------------------------------------------------------------------
1 | package com.fl.database;
2 |
3 | public class Transfer {
4 |
5 | private int _id;
6 | private String filePath;
7 | private int isclient;
8 | private int device_id;
9 | private String device_address;
10 | private int isdelete = 0;
11 | private String time;
12 | public int get_id() {
13 | return _id;
14 | }
15 | public void set_id(int _id) {
16 | this._id = _id;
17 | }
18 | public String getFilePath() {
19 | return filePath;
20 | }
21 | public void setFilePath(String filePath) {
22 | this.filePath = filePath;
23 | }
24 | public int getIsclient() {
25 | return isclient;
26 | }
27 | public void setIsclient(int isclient) {
28 | this.isclient = isclient;
29 | }
30 | public int getDevice_id() {
31 | return device_id;
32 | }
33 | public void setDevice_id(int device_id) {
34 | this.device_id = device_id;
35 | }
36 | public int getIsdelete() {
37 | return isdelete;
38 | }
39 | public void setIsdelete(int isdelete) {
40 | this.isdelete = isdelete;
41 | }
42 | public String getTime() {
43 | return time;
44 | }
45 | public void setTime(String time) {
46 | this.time = time;
47 | }
48 | public String getDevice_address() {
49 | return device_address;
50 | }
51 | public void setDevice_address(String device_address) {
52 | this.device_address = device_address;
53 | }
54 |
55 |
56 | }
57 |
--------------------------------------------------------------------------------
/MyWiFiDirectActivity0618/src/com/fl/database/Info.java:
--------------------------------------------------------------------------------
1 | package com.fl.database;
2 |
3 | public class Info {
4 |
5 | private int isclient;
6 | private String device_name;
7 | private String file_path;
8 | private String time;
9 | private int transfer_id;
10 | private String file_name;
11 | private String size;
12 |
13 |
14 | public int getIsclient() {
15 | return isclient;
16 | }
17 | public void setIsclient(int isclient) {
18 | this.isclient = isclient;
19 | }
20 | public String getDevice_name() {
21 | return device_name;
22 | }
23 | public void setDevice_name(String device_name) {
24 | this.device_name = device_name;
25 | }
26 | public String getFile_path() {
27 | return file_path;
28 | }
29 | public void setFile_path(String file_path) {
30 | this.file_path = file_path;
31 | }
32 | public String getTime() {
33 | return time;
34 | }
35 | public void setTime(String time) {
36 | this.time = time;
37 | }
38 | public int getTransfer_id() {
39 | return transfer_id;
40 | }
41 | public void setTransfer_id(int transfer_id) {
42 | this.transfer_id = transfer_id;
43 | }
44 | public String getFile_name() {
45 | return file_name;
46 | }
47 | public void setFile_name(String file_name) {
48 | this.file_name = file_name;
49 | }
50 | public String getSize() {
51 | return size;
52 | }
53 | public void setSize(String size) {
54 | this.size = size;
55 | }
56 | }
57 |
--------------------------------------------------------------------------------
/MyWiFiDirectActivity0618/res/layout/image_group_list.xml:
--------------------------------------------------------------------------------
1 |
2 |
7 |
13 |
14 |
20 |
21 |
29 |
30 |
38 |
39 |
40 |
41 |
--------------------------------------------------------------------------------
/MyWiFiDirectActivity0618/src/com/example/filebrowser/utils/MemoryCache.java:
--------------------------------------------------------------------------------
1 | /*******************************************************************************
2 | * Copyright 2014 Sergey Tarasevich
3 | *
4 | * Licensed under the Apache License, Version 2.0 (the "License");
5 | * you may not use this file except in compliance with the License.
6 | * You may obtain a copy of the License at
7 | *
8 | * http://www.apache.org/licenses/LICENSE-2.0
9 | *
10 | * Unless required by applicable law or agreed to in writing, software
11 | * distributed under the License is distributed on an "AS IS" BASIS,
12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | * See the License for the specific language governing permissions and
14 | * limitations under the License.
15 | *******************************************************************************/
16 | package com.example.filebrowser.utils;
17 |
18 | import android.graphics.Bitmap;
19 |
20 | import java.util.Collection;
21 |
22 | /**
23 | * Interface for memory cache
24 | *
25 | * @author Sergey Tarasevich (nostra13[at]gmail[dot]com)
26 | * @since 1.9.2
27 | */
28 | public interface MemoryCache {
29 | /**
30 | * Puts value into cache by key
31 | *
32 | * @return true - if value was put into cache successfully, false - if value was not put into
33 | * cache
34 | */
35 | boolean put(String key, Bitmap value);
36 |
37 | /** Returns value by key. If there is no value for key then null will be returned. */
38 | Bitmap get(String key);
39 |
40 | /** Removes item by key */
41 | Bitmap remove(String key);
42 |
43 | /** Returns all keys of cache */
44 | Collection keys();
45 |
46 | /** Remove all items from cache */
47 | void clear();
48 | }
49 |
--------------------------------------------------------------------------------
/MyWiFiDirectActivity0618/src/com/example/filebrowser/utils/ImageLoadingInfo.java:
--------------------------------------------------------------------------------
1 | /*******************************************************************************
2 | * Copyright 2011-2013 Sergey Tarasevich
3 | *
4 | * Licensed under the Apache License, Version 2.0 (the "License");
5 | * you may not use this file except in compliance with the License.
6 | * You may obtain a copy of the License at
7 | *
8 | * http://www.apache.org/licenses/LICENSE-2.0
9 | *
10 | * Unless required by applicable law or agreed to in writing, software
11 | * distributed under the License is distributed on an "AS IS" BASIS,
12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | * See the License for the specific language governing permissions and
14 | * limitations under the License.
15 | *******************************************************************************/
16 | package com.example.filebrowser.utils;
17 |
18 |
19 |
20 | import java.util.concurrent.locks.ReentrantLock;
21 |
22 | /**
23 | * Information for load'n'display image task
24 | *
25 | * @author Sergey Tarasevich (nostra13[at]gmail[dot]com)
26 | * @see com.nostra13.universalimageloader.utils.MemoryCacheUtils
27 | * @see DisplayImageOptions
28 | * @see ImageLoadingListener
29 | * @see com.nostra13.universalimageloader.core.listener.ImageLoadingProgressListener
30 | * @since 1.3.1
31 | */
32 | final class ImageLoadingInfo {
33 |
34 | final String uri;
35 | final String memoryCacheKey;
36 | final ImageAware imageAware;
37 |
38 | int width,height;
39 |
40 |
41 | final ReentrantLock loadFromUriLock;
42 |
43 | public ImageLoadingInfo(String uri, ImageAware imageAware, String memoryCacheKey,
44 | ReentrantLock loadFromUriLock, int width) {
45 | this.uri = uri;
46 | this.imageAware = imageAware;
47 | this.loadFromUriLock = loadFromUriLock;
48 | this.memoryCacheKey = memoryCacheKey;
49 | this.width = this.height = width;
50 | }
51 | }
52 |
--------------------------------------------------------------------------------
/MyWiFiDirectActivity0618/src/com/example/filebrowser/utils/DisplayBitmapTask.java:
--------------------------------------------------------------------------------
1 | package com.example.filebrowser.utils;
2 |
3 | import android.graphics.Bitmap;
4 | import android.os.Handler;
5 |
6 | public class DisplayBitmapTask implements Runnable {
7 |
8 | private static final String LOG_DISPLAY_IMAGE_IN_IMAGEAWARE = "Display image in ImageAware (loaded from %1$s) [%2$s]";
9 | private static final String LOG_TASK_CANCELLED_IMAGEAWARE_REUSED = "ImageAware is reused for another image. Task is cancelled. [%s]";
10 | private static final String LOG_TASK_CANCELLED_IMAGEAWARE_COLLECTED = "ImageAware was collected by GC. Task is cancelled. [%s]";
11 |
12 |
13 | private final Bitmap bitmap;
14 | private final String imageUri;
15 | private final ImageAware imageAware;
16 | private final String memoryCacheKey;
17 | private final ImageLoaderEngine engine;
18 |
19 |
20 | public DisplayBitmapTask(Bitmap bitmap, ImageLoadingInfo imageLoadingInfo, ImageLoaderEngine engine){
21 | this.bitmap = bitmap;
22 | imageUri = imageLoadingInfo.uri;
23 | imageAware = imageLoadingInfo.imageAware;
24 | memoryCacheKey = imageLoadingInfo.memoryCacheKey;
25 | this.engine = engine;
26 | }
27 |
28 | @Override
29 | public void run() {
30 | if(imageAware.isCollected()){
31 | L.d(LOG_TASK_CANCELLED_IMAGEAWARE_COLLECTED, memoryCacheKey);
32 | }else if(isViewWasReuseed()){
33 | L.d(LOG_TASK_CANCELLED_IMAGEAWARE_REUSED, memoryCacheKey);
34 | }else{
35 | engine.cancelDisplayTaskFor(imageAware); //显示前,把当前任务移出
36 | imageAware.setImageBitmap(bitmap);
37 |
38 | }
39 |
40 | }
41 |
42 | public boolean isViewWasReuseed(){
43 | String currentCacheKey = engine.getLoadingUriForView(imageAware);
44 | if(currentCacheKey == null || memoryCacheKey == null){ //TODO:这里为什么会出现currentCachekey为null的情况?
45 | return true;
46 | }
47 | return !currentCacheKey.equals(memoryCacheKey);
48 | }
49 |
50 | }
51 |
--------------------------------------------------------------------------------
/MyWiFiDirectActivity0618/res/values/attrs.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
27 |
28 |
29 |
30 |
31 |
32 |
33 |
34 |
35 |
36 |
37 |
38 |
39 |
40 |
41 |
42 |
--------------------------------------------------------------------------------
/MyWiFiDirectActivity0618/res/layout/file_list_transfer.xml:
--------------------------------------------------------------------------------
1 |
2 |
8 |
9 |
16 |
17 |
24 |
25 |
34 |
46 |
47 |
48 |
--------------------------------------------------------------------------------
/MyWiFiDirectActivity0618/AndroidManifest.xml:
--------------------------------------------------------------------------------
1 |
2 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
24 |
25 |
30 |
31 |
32 |
34 |
36 |
37 |
38 |
40 |
41 |
42 |
43 |
44 |
45 |
46 |
47 |
--------------------------------------------------------------------------------
/MyWiFiDirectActivity0618/bin/AndroidManifest.xml:
--------------------------------------------------------------------------------
1 |
2 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
24 |
25 |
30 |
31 |
32 |
34 |
36 |
37 |
38 |
40 |
41 |
42 |
43 |
44 |
45 |
46 |
47 |
--------------------------------------------------------------------------------
/MyWiFiDirectActivity0618/gen/com/astuetz/pagerslidingtabstrip/R.java:
--------------------------------------------------------------------------------
1 | /* AUTO-GENERATED FILE. DO NOT MODIFY.
2 | *
3 | * This class was automatically generated by the
4 | * aapt tool from the resource data it found. It
5 | * should not be modified by hand.
6 | */
7 | package com.astuetz.pagerslidingtabstrip;
8 |
9 | public final class R {
10 | public static final class attr {
11 | public static final int pstsDividerColor = 0x7f010002;
12 | public static final int pstsDividerPadding = 0x7f010005;
13 | public static final int pstsIndicatorColor = 0x7f010000;
14 | public static final int pstsIndicatorHeight = 0x7f010003;
15 | public static final int pstsScrollOffset = 0x7f010007;
16 | public static final int pstsShouldExpand = 0x7f010009;
17 | public static final int pstsTabBackground = 0x7f010008;
18 | public static final int pstsTabPaddingLeftRight = 0x7f010006;
19 | public static final int pstsTextAllCaps = 0x7f01000a;
20 | public static final int pstsUnderlineColor = 0x7f010001;
21 | public static final int pstsUnderlineHeight = 0x7f010004;
22 | }
23 | public static final class color {
24 | public static final int background_tab_pressed = 0x7f040000;
25 | }
26 | public static final class drawable {
27 | public static final int background_tab = 0x7f020000;
28 | public static final int ic_action_discover = 0x7f020010;
29 | public static final int ic_action_on_off = 0x7f020011;
30 | public static final int ic_launcher = 0x7f020013;
31 | }
32 | public static final class styleable {
33 | public static final int[] PagerSlidingTabStrip = { 0x7f010000, 0x7f010001, 0x7f010002, 0x7f010003, 0x7f010004, 0x7f010005, 0x7f010006, 0x7f010007, 0x7f010008, 0x7f010009, 0x7f01000a };
34 | public static final int PagerSlidingTabStrip_pstsDividerColor = 2;
35 | public static final int PagerSlidingTabStrip_pstsDividerPadding = 5;
36 | public static final int PagerSlidingTabStrip_pstsIndicatorColor = 0;
37 | public static final int PagerSlidingTabStrip_pstsIndicatorHeight = 3;
38 | public static final int PagerSlidingTabStrip_pstsScrollOffset = 7;
39 | public static final int PagerSlidingTabStrip_pstsShouldExpand = 9;
40 | public static final int PagerSlidingTabStrip_pstsTabBackground = 8;
41 | public static final int PagerSlidingTabStrip_pstsTabPaddingLeftRight = 6;
42 | public static final int PagerSlidingTabStrip_pstsTextAllCaps = 10;
43 | public static final int PagerSlidingTabStrip_pstsUnderlineColor = 1;
44 | public static final int PagerSlidingTabStrip_pstsUnderlineHeight = 4;
45 | }
46 | }
47 |
--------------------------------------------------------------------------------
/MyWiFiDirectActivity0618/src/com/example/filebrowser/utils/ViewScaleType.java:
--------------------------------------------------------------------------------
1 | /*******************************************************************************
2 | * Copyright 2011-2013 Sergey Tarasevich
3 | *
4 | * Licensed under the Apache License, Version 2.0 (the "License");
5 | * you may not use this file except in compliance with the License.
6 | * You may obtain a copy of the License at
7 | *
8 | * http://www.apache.org/licenses/LICENSE-2.0
9 | *
10 | * Unless required by applicable law or agreed to in writing, software
11 | * distributed under the License is distributed on an "AS IS" BASIS,
12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | * See the License for the specific language governing permissions and
14 | * limitations under the License.
15 | *******************************************************************************/
16 | package com.example.filebrowser.utils;
17 |
18 | import android.widget.ImageView;
19 | import android.widget.ImageView.ScaleType;
20 |
21 | /**
22 | * Simplify {@linkplain ScaleType ImageView's scale type} to 2 types: {@link #FIT_INSIDE} and {@link #CROP}
23 | *
24 | * @author Sergey Tarasevich (nostra13[at]gmail[dot]com)
25 | * @since 1.6.1
26 | */
27 | public enum ViewScaleType {
28 | /**
29 | * Scale the image uniformly (maintain the image's aspect ratio) so that at least one dimension (width or height) of
30 | * the image will be equal to or less the corresponding dimension of the view.
31 | */
32 | FIT_INSIDE,
33 | /**
34 | * Scale the image uniformly (maintain the image's aspect ratio) so that both dimensions (width and height) of the
35 | * image will be equal to or larger than the corresponding dimension of the view.
36 | */
37 | CROP;
38 |
39 | /**
40 | * Defines scale type of ImageView.
41 | *
42 | * @param imageView {@link ImageView}
43 | * @return {@link #FIT_INSIDE} for
44 | *
45 | * - {@link ScaleType#FIT_CENTER}
46 | * - {@link ScaleType#FIT_XY}
47 | * - {@link ScaleType#FIT_START}
48 | * - {@link ScaleType#FIT_END}
49 | * - {@link ScaleType#CENTER_INSIDE}
50 | *
51 | * {@link #CROP} for
52 | *
53 | * - {@link ScaleType#CENTER}
54 | * - {@link ScaleType#CENTER_CROP}
55 | * - {@link ScaleType#MATRIX}
56 | *
57 | */
58 | public static ViewScaleType fromImageView(ImageView imageView) {
59 | switch (imageView.getScaleType()) {
60 | case FIT_CENTER:
61 | case FIT_XY:
62 | case FIT_START:
63 | case FIT_END:
64 | case CENTER_INSIDE:
65 | return FIT_INSIDE;
66 | case MATRIX:
67 | case CENTER:
68 | case CENTER_CROP:
69 | default:
70 | return CROP;
71 | }
72 | }
73 | }
74 |
--------------------------------------------------------------------------------
/MyWiFiDirectActivity0618/src/com/fl/database/DBManager.java:
--------------------------------------------------------------------------------
1 | package com.fl.database;
2 |
3 | import java.util.ArrayList;
4 | import java.util.List;
5 |
6 | import android.content.ContentValues;
7 | import android.content.Context;
8 | import android.database.Cursor;
9 | import android.database.sqlite.SQLiteDatabase;
10 |
11 | public class DBManager {
12 |
13 | private DBHelper helper;
14 | private SQLiteDatabase db;
15 |
16 | public DBManager(Context context){
17 | //activity初始化时实例化
18 | helper = new DBHelper(context);
19 | db = helper.getWritableDatabase();
20 | }
21 |
22 | public void addDevice(List devices){
23 | db.beginTransaction();
24 | int deviceNum = 0;
25 | try{
26 | for(Device device:devices){
27 | Cursor c = queryTheDevice(device.getDeviceAddress());
28 | while(c.moveToNext())
29 | deviceNum = c.getInt(0);//判断device表中是否已存在相应的设备
30 | if(deviceNum == 0)
31 | db.execSQL("INSERT INTO device VALUES(null, ?, ?)", new Object[]{device.getDeviceAddress(),device.getDeviceName()});
32 | }
33 | db.setTransactionSuccessful();//设置事务成功完成
34 | }finally{
35 | db.endTransaction();
36 | }
37 | }
38 |
39 |
40 | public void addTransfer(List transfers){
41 | db.beginTransaction();
42 | try{
43 | for(Transfer transfer:transfers){
44 | db.execSQL("INSERT INTO transfer VALUES(null, ?, ?, 0, ?, ?, ?)", new Object[]{transfer.getFilePath(), transfer.getIsclient(), transfer.getDevice_address(),
45 | transfer.getIsdelete(), transfer.getTime()});
46 | }
47 | db.setTransactionSuccessful();//设置事务成功完成
48 | }finally{
49 | db.endTransaction();
50 | }
51 | }
52 |
53 | public void updateTransfer(int id){
54 | ContentValues cv = new ContentValues();
55 | cv.put("isdelete", 1);
56 | db.update("transfer", cv, "_id = ?", new String[]{String.valueOf(id)});
57 | }
58 |
59 | public void clearTransferInfo(){
60 | db.beginTransaction();
61 | db.delete("info", null, null);
62 | db.endTransaction();
63 | }
64 |
65 | public List query(String deviceAddress){
66 | ArrayList infos = new ArrayList();
67 | Cursor c;
68 | if(deviceAddress==null){
69 | c = queryTheCurse();
70 | }else{
71 | c = queryTheCurse(deviceAddress);
72 | }
73 | while(c.moveToNext()){
74 | Info info = new Info();
75 | info.setDevice_name(c.getString(c.getColumnIndex("device_name")));
76 | info.setFile_path(c.getString(c.getColumnIndex("file_path")));
77 | info.setIsclient(c.getInt(c.getColumnIndex("isclient")));
78 | info.setTime(c.getString(c.getColumnIndex("time")));
79 | infos.add(info);
80 | }
81 | c.close();
82 | return infos;
83 | }
84 |
85 |
86 | public Cursor queryTheCurse(String address){
87 | Cursor c = db.rawQuery("SELECT d.device_name,t._id,t.file_path,t.isclient,t.time FROM device as d,transfer as t WHERE d.device_address = ? and d.device_address = t.device_address order by t.time" , new String[]{address});
88 | return c;
89 | }
90 |
91 | public Cursor queryTheDevice(String address){
92 | Cursor c = db.rawQuery("SELECT count(device_name) FROM device WHERE device_address = ?" , new String[]{address});
93 | return c;
94 | }
95 |
96 | public Cursor queryTheCurse(){
97 | Cursor c = db.rawQuery("SELECT d.device_name,t._id,t.file_path,t.isclient,t.time FROM device as d,transfer as t WHERE d.device_address = t.device_address" , null);
98 | return c;
99 | }
100 |
101 | }
102 |
--------------------------------------------------------------------------------
/MyWiFiDirectActivity0618/src/com/example/android/wifidirect/MainApplication.java:
--------------------------------------------------------------------------------
1 | package com.example.android.wifidirect;
2 |
3 | import java.util.ArrayList;
4 | import java.util.HashMap;
5 |
6 | import android.annotation.TargetApi;
7 | import android.app.ActivityManager;
8 | import android.app.Application;
9 | import android.content.Context;
10 | import android.content.pm.ApplicationInfo;
11 | import android.graphics.Bitmap;
12 | import android.graphics.BitmapFactory;
13 | import android.os.Build;
14 | import android.os.Handler;
15 |
16 | import com.example.filebrowser.utils.ImageLoader;
17 | import com.example.filebrowser.utils.ImageLoaderConfig;
18 | import com.example.filebrowser.utils.LruMemoryCache;
19 | import com.example.filebrowser.utils.MemoryCache;
20 |
21 | public class MainApplication extends Application {
22 | /**
23 | * 全局的上下文.
24 | */
25 | private static Context mContext;
26 | private Handler mHandler;
27 |
28 | @Override
29 | public void onCreate() {
30 | super.onCreate();
31 |
32 | // mContext = getApplicationContext();
33 | // Stetho.initialize(
34 | // Stetho.newInitializerBuilder(this)
35 | // .enableDumpapp(
36 | // Stetho.defaultDumperPluginsProvider(this))
37 | // .enableWebKitInspector(
38 | // Stetho.defaultInspectorModulesProvider(this))
39 | // .build());
40 | initImageLoader(getApplicationContext());
41 | ArrayList list;
42 | Object object;
43 | HashMap map;
44 |
45 | }
46 |
47 | /**获取Context.
48 | * @return
49 | */
50 | public static Context getContext(){
51 | return mContext;
52 | }
53 |
54 |
55 | public static void initImageLoader(Context context){
56 | MemoryCache memoryCache = createMemoryCache(context, 0);
57 | Bitmap bitmap = BitmapFactory.decodeResource(context.getResources(), R.drawable.empty_photo);
58 | ImageLoaderConfig config = new ImageLoaderConfig(memoryCache, bitmap);
59 | ImageLoader.getInstance().init(config);
60 | }
61 |
62 |
63 | public static MemoryCache createMemoryCache(Context context, int memoryCacheSize) {
64 | if (memoryCacheSize == 0) {
65 | ActivityManager am = (ActivityManager) context.getSystemService(Context.ACTIVITY_SERVICE);
66 | int memoryClass = am.getMemoryClass();
67 | if (hasHoneycomb() && isLargeHeap(context)) {
68 | memoryClass = getLargeMemoryClass(am);
69 | }
70 | memoryCacheSize = 1024 * 1024 * memoryClass / 8;
71 | }
72 | return new LruMemoryCache(memoryCacheSize);
73 | }
74 |
75 |
76 | private static boolean hasHoneycomb() {
77 | return Build.VERSION.SDK_INT >= Build.VERSION_CODES.HONEYCOMB;
78 | }
79 |
80 | @TargetApi(Build.VERSION_CODES.HONEYCOMB)
81 | private static boolean isLargeHeap(Context context) {
82 | return (context.getApplicationInfo().flags & ApplicationInfo.FLAG_LARGE_HEAP) != 0;
83 | }
84 |
85 | @TargetApi(Build.VERSION_CODES.HONEYCOMB)
86 | private static int getLargeMemoryClass(ActivityManager am) {
87 | return am.getLargeMemoryClass();
88 | }
89 |
90 | @Override
91 | public void onLowMemory() {
92 | super.onLowMemory();
93 | }
94 |
95 |
96 | public Handler getmHandler() {
97 | return mHandler;
98 | }
99 |
100 | public void setmHandler(Handler mHandler) {
101 | this.mHandler = mHandler;
102 | }
103 | }
104 |
--------------------------------------------------------------------------------
/MyWiFiDirectActivity0618/src/com/fl/adapter/MyImageAdapter.java:
--------------------------------------------------------------------------------
1 | package com.fl.adapter;
2 |
3 | import java.util.List;
4 |
5 | import android.content.Context;
6 | import android.graphics.Bitmap;
7 | import android.graphics.BitmapFactory;
8 | import android.view.LayoutInflater;
9 | import android.view.View;
10 | import android.view.ViewGroup;
11 | import android.widget.BaseAdapter;
12 | import android.widget.GridView;
13 | import android.widget.ImageView;
14 | import android.widget.TextView;
15 |
16 | import com.example.android.wifidirect.R;
17 | import com.example.filebrowser.utils.ImageLoader;
18 | import com.example.filebrowser.utils.ImageWorker;
19 | import com.wifidirect.entity.ImageGroup;
20 |
21 | public class MyImageAdapter extends BaseAdapter {
22 |
23 | private List list;
24 | private GridView mGridView;
25 | protected LayoutInflater mInflater;
26 | // private ImageWorker imageWorker;
27 | private ImageLoader imageWorker;
28 | private static Bitmap selectedBitmap;
29 | private static Bitmap unSelectedBitmap;
30 | private int bitmapWidth;
31 |
32 | public MyImageAdapter(Context context, List list){
33 | this.list = list;
34 | this.mInflater = LayoutInflater.from(context);
35 | init(context);
36 | }
37 |
38 | public interface OnMultiSelectListener{
39 | public boolean isMultiSelect();
40 | }
41 |
42 | public void init(Context context){
43 | // this.imageWorker = ImageWorker.imageWorkerFactory(context);
44 | // imageWorker.setLoadingImage(R.drawable.empty_photo);
45 | //为多选对勾 初始化
46 | selectedBitmap = BitmapFactory.decodeResource(context.getResources(), R.drawable.btn_check_on_selected);
47 | unSelectedBitmap = BitmapFactory.decodeResource(context.getResources(), R.drawable.btn_check_off);
48 | bitmapWidth = context.getResources().getDimensionPixelSize(R.dimen.image_size);
49 | imageWorker = ImageLoader.getInstance();
50 | }
51 |
52 | @Override
53 | public int getCount() {
54 | // TODO Auto-generated method stub
55 | return list.size();
56 | }
57 |
58 | @Override
59 | public Object getItem(int position) {
60 | // TODO Auto-generated method stub
61 | return list.get(position);
62 | }
63 |
64 | @Override
65 | public long getItemId(int position) {
66 | // TODO Auto-generated method stub
67 | return position;
68 | }
69 |
70 | @Override
71 | public View getView(int position, View convertView, ViewGroup parent) {
72 | final ViewHolder viewHolder;
73 | ImageGroup mImageGroup = list.get(position);
74 | String path = mImageGroup.getTopImagePath();
75 | String parentName = mImageGroup.getParentName();
76 | int count = mImageGroup.getCount();
77 | if(convertView == null){
78 | convertView = mInflater.inflate(R.layout.image_group_list, parent, false);
79 | viewHolder = new ViewHolder();
80 | viewHolder.mImageView = (ImageView) convertView.findViewById(R.id.image_group_image);
81 | viewHolder.mTextView = (TextView)convertView.findViewById(R.id.image_group_dirname);
82 | viewHolder.counts = (TextView)convertView.findViewById(R.id.image_group_count);
83 | convertView.setTag(viewHolder);
84 | }else{
85 | viewHolder = (ViewHolder)convertView.getTag();
86 | }
87 | imageWorker.displayImage(path, viewHolder.mImageView, bitmapWidth, bitmapWidth);
88 | viewHolder.counts.setText(count+"张");
89 | viewHolder.mTextView.setText(parentName);
90 | return convertView;
91 | }
92 |
93 | public class ViewHolder{
94 | public ImageView mImageView;
95 | public TextView mTextView;
96 | public TextView counts;
97 | }
98 |
99 | public class subImageHolder{
100 | public ImageView mImageView;
101 | }
102 |
103 | }
104 |
--------------------------------------------------------------------------------
/MyWiFiDirectActivity0618/src/com/example/android/wifidirect/FileTransferService.java:
--------------------------------------------------------------------------------
1 | // Copyright 2011 Google Inc. All Rights Reserved.
2 |
3 | package com.example.android.wifidirect;
4 |
5 | import java.util.ArrayList;
6 |
7 | import mySocket.TransferClient;
8 | import android.app.IntentService;
9 | import android.content.Context;
10 | import android.content.Intent;
11 | import android.os.Binder;
12 | import android.os.Handler;
13 | import android.os.IBinder;
14 | import android.os.Looper;
15 |
16 | import com.fl.database.DBManager;
17 | import com.fl.database.Transfer;
18 |
19 | /**
20 | * A service that process each file transfer request i.e Intent by opening a
21 | * socket connection with the WiFi Direct Group Owner and writing the file
22 | */
23 | public class FileTransferService extends IntentService {
24 |
25 | private static final int SOCKET_TIMEOUT = 5000;
26 | public static final String ACTION_SEND_FILE = "com.example.android.wifidirect.SEND_FILE";
27 | public static final String EXTRAS_FILE_PATH = "file_url";
28 | //public static final String EXTRAS_GROUP_OWNER_ADDRESS = "go_host";
29 | public static final String EXTRAS_ADDRESS = "go_host";
30 | public static final String EXTRAS_GROUP_OWNER_PORT = "go_port";
31 | public static final String SERIALIZATION_VALUE = "value";
32 | public static final String EXTRAS_MAC = "macIP";
33 | public static final String EXTRAS_DEVICE_NAME = "deviceName";
34 |
35 | private Handler mHandler = null;
36 | private DeviceDetailFragment detailFragment ;
37 | private DBManager dbManager = null;
38 |
39 | private TransferClient tClient = null ;
40 |
41 | public FileTransferService(String name) {
42 | super(name);
43 | }
44 |
45 | public FileTransferService() {
46 | super("FileTransferService");
47 | }
48 |
49 | /*系统服务要在oncreate中创建,不能在构造函数中?
50 | * (non-Javadoc)
51 | * @see android.app.IntentService#onCreate()
52 | */
53 | @Override
54 | public void onCreate() {
55 | // TODO Auto-generated method stub
56 | super.onCreate();
57 |
58 | MainApplication app = (MainApplication) this.getApplication();
59 | //mHandler = app.getmHandler();
60 | mHandler = new NewFileListFragment.MyHandler();
61 | dbManager = new DBManager(getApplicationContext());
62 |
63 | }
64 |
65 | /*
66 | * (non-Javadoc)打开socket,并将文件读入socket输入流,传递给远程主机
67 | * @see android.app.IntentService#onHandleIntent(android.content.Intent)
68 | */
69 | @Override
70 | protected void onHandleIntent(Intent intent) {
71 |
72 | Context context = getApplicationContext();
73 | if (intent.getAction().equals(ACTION_SEND_FILE)) {
74 | //获取文件名List
75 | ArrayList filelist = intent.getStringArrayListExtra(EXTRAS_FILE_PATH);
76 | //获取IP
77 | String host = intent.getExtras().getString(EXTRAS_ADDRESS); //intent.getExtras().getString(EXTRAS_GROUP_OWNER_ADDRESS)
78 | //获取设备信息
79 | String macIP = intent.getExtras().getString(EXTRAS_MAC);
80 | String deviceName = intent.getExtras().getString(EXTRAS_DEVICE_NAME);
81 |
82 | if(dbManager == null)
83 | dbManager = new DBManager(getApplicationContext());
84 | Transfer t = new Transfer();
85 | t.setDevice_address(macIP);
86 | t.setIsclient(1);
87 |
88 | //创建TransferClient对象
89 | tClient = new TransferClient(filelist , host , detailFragment, dbManager, t, mHandler);
90 | tClient.service();
91 | //Socket socket = new Socket();
92 | int port = intent.getExtras().getInt(EXTRAS_GROUP_OWNER_PORT);
93 |
94 | }
95 | }
96 |
97 |
98 | }
99 |
100 |
101 |
--------------------------------------------------------------------------------
/MyWiFiDirectActivity0618/src/com/fl/utils/MimeUtil.java:
--------------------------------------------------------------------------------
1 | package com.fl.utils;
2 |
3 | import java.io.File;
4 |
5 | import android.util.Log;
6 |
7 | /**
8 | * @author fl
9 | * 获取文件对应的mime类型
10 | */
11 | public class MimeUtil {
12 | public static final boolean debug = true;
13 |
14 | public static String getMimeType(File file){
15 | String mimeType = "*/*";
16 | String fileName = file.getName();
17 | int dotIndex = fileName.indexOf(".");
18 | if(dotIndex == -1){
19 | return mimeType;
20 | }
21 | String fileType = fileName.substring(dotIndex, fileName.length());
22 | if(debug){
23 | Log.i("fl---getMimeType", fileType);
24 | }
25 | for(int i = 0; i
60 | * Debug logs are disabled by default.
61 | */
62 | public static void writeDebugLogs(boolean writeDebugLogs) {
63 | L.writeDebugLogs = writeDebugLogs;
64 | }
65 |
66 | /** Enables/disables logging of {@link ImageLoader} completely (even error logs). */
67 | public static void writeLogs(boolean writeLogs) {
68 | L.writeLogs = writeLogs;
69 | }
70 |
71 | public static void d(String message, Object... args) {
72 | if (writeDebugLogs) {
73 | log(Log.DEBUG, null, message, args);
74 | }
75 | }
76 |
77 | public static void i(String message, Object... args) {
78 | log(Log.INFO, null, message, args);
79 | }
80 |
81 | public static void w(String message, Object... args) {
82 | log(Log.WARN, null, message, args);
83 | }
84 |
85 | public static void e(Throwable ex) {
86 | log(Log.ERROR, ex, null);
87 | }
88 |
89 | public static void e(String message, Object... args) {
90 | log(Log.ERROR, null, message, args);
91 | }
92 |
93 | public static void e(Throwable ex, String message, Object... args) {
94 | log(Log.ERROR, ex, message, args);
95 | }
96 |
97 | private static void log(int priority, Throwable ex, String message, Object... args) {
98 | if (!writeLogs) return;
99 | if (args.length > 0) {
100 | message = String.format(message, args);
101 | }
102 |
103 | String log;
104 | if (ex == null) {
105 | log = message;
106 | } else {
107 | String logMessage = message == null ? ex.getMessage() : message;
108 | String logBody = Log.getStackTraceString(ex);
109 | log = String.format(LOG_FORMAT, logMessage, logBody);
110 | }
111 | Log.println(priority, "wifidirect--fl--", log);
112 | }
113 | }
--------------------------------------------------------------------------------
/MyWiFiDirectActivity0618/src/com/example/filebrowser/utils/ImageLoader.java:
--------------------------------------------------------------------------------
1 | package com.example.filebrowser.utils;
2 |
3 | import android.content.Context;
4 | import android.graphics.Bitmap;
5 | import android.os.Handler;
6 | import android.os.Looper;
7 | import android.widget.ImageView;
8 |
9 | public class ImageLoader {
10 |
11 | public static final String TAG = ImageLoader.class.getSimpleName();
12 |
13 | static final String LOG_INIT_CONFIG = "Initialize ImageLoader with configuration";
14 | static final String LOG_DESTROY = "Destroy ImageLoader";
15 | static final String LOG_LOAD_IMAGE_FROM_MEMORY_CACHE = "Load image from memory cache [%s]";
16 |
17 | private static final String WARNING_RE_INIT_CONFIG = "Try to initialize ImageLoader which had already been initialized before. " + "To re-init ImageLoader with new configuration call ImageLoader.destroy() at first.";
18 | private static final String ERROR_WRONG_ARGUMENTS = "Wrong arguments were passed to displayImage() method (ImageView reference must not be null)";
19 | private static final String ERROR_NOT_INIT = "ImageLoader must be init with configuration before using";
20 | private static final String ERROR_INIT_CONFIG_WITH_NULL = "ImageLoader configuration can not be initialized with null";
21 |
22 | private ImageLoaderEngine engine;
23 | private MemoryCache memoryCache;
24 | private Context context;
25 | private ImageLoaderConfig config;
26 |
27 | private volatile static ImageLoader instance;
28 |
29 | /**单例模式获取imageloader**/
30 | public static ImageLoader getInstance(){
31 | if(instance == null){
32 | synchronized(ImageLoader.class){
33 | if(instance == null){
34 | instance = new ImageLoader();
35 | }
36 | }
37 | }
38 | return instance;
39 | }
40 |
41 | protected ImageLoader(){
42 |
43 | }
44 |
45 | /**
46 | * 初始化ImageLoader
47 | * @param config
48 | */
49 | public synchronized void init(ImageLoaderConfig config){
50 | if(config == null){
51 | throw new IllegalArgumentException(ERROR_INIT_CONFIG_WITH_NULL);
52 | }
53 | if(this.config == null){
54 | this.config = config;
55 | this.engine = new ImageLoaderEngine();
56 | this.memoryCache = config.memoryCache;
57 | }else{
58 | L.w(WARNING_RE_INIT_CONFIG);
59 | }
60 | }
61 |
62 | public void displayImage(String uri, ImageAware imageAware, int width, int height ){
63 | if(imageAware == null){
64 | throw new IllegalArgumentException(ERROR_WRONG_ARGUMENTS);
65 | }
66 | if(uri == null || uri.equals("")){
67 | engine.cancelDisplayTaskFor(imageAware);//取消该imageAware的上一个任务
68 | imageAware.setImageDrawable(null);
69 | return;
70 | }
71 | String memoryCacheKey = uri+width+width; //TODO:这里后续可以加上不同的图片尺寸
72 | engine.prepareDisplayTaskFor(imageAware, memoryCacheKey);
73 | //下面可以加上开始加载的监听器处理
74 |
75 | //再一次判断该图像是否已经被缓存
76 | Bitmap bmp = memoryCache.get(memoryCacheKey);
77 | if(bmp != null && !bmp.isRecycled()){
78 | //这里直接加载到imageView中
79 | imageAware.setImageBitmap(bmp);
80 | return;
81 | }else{
82 | imageAware.setImageBitmap(config.loadingbmp);
83 | }
84 | ImageLoadingInfo imageLoadingInfo = new ImageLoadingInfo(uri, imageAware, memoryCacheKey, engine.getLockForUri(uri), width);
85 | LoadAndDisplayImageTask displayTask = new LoadAndDisplayImageTask(memoryCache, engine, imageLoadingInfo, defineHandler());
86 | engine.submit(displayTask);
87 | }
88 |
89 | public void displayImage(String uri, ImageView imageView, int width, int height){
90 | this.displayImage(uri, new ImageViewAware(imageView), width, height);
91 | }
92 |
93 | public Handler defineHandler(){
94 | Handler handler = null;
95 | if(Looper.myLooper() == Looper.getMainLooper()){
96 | handler = new Handler();
97 | }
98 | return handler;
99 |
100 | }
101 |
102 | }
103 |
--------------------------------------------------------------------------------
/MyWiFiDirectActivity0618/src/com/example/android/wifidirect/FileRecieveService.java:
--------------------------------------------------------------------------------
1 | package com.example.android.wifidirect;
2 |
3 | import com.fl.database.DBManager;
4 | import com.fl.database.Transfer;
5 |
6 | import mySocket.TransferServer;
7 | import android.app.IntentService;
8 | import android.app.Service;
9 | import android.content.Intent;
10 | import android.os.Binder;
11 | import android.os.Handler;
12 | import android.os.IBinder;
13 | import android.util.Log;
14 |
15 | public class FileRecieveService extends IntentService {
16 |
17 |
18 |
19 | public static final String ACTION_RECEIVE_FILE = "com.example.android.wifidirect.RECEIVE_FILE";
20 | public static final String EXTRAS_MAC = "macIP";
21 | public static final String EXTRAS_DEVICE_NAME = "deviceName";
22 |
23 | public static TransferServer transferServer = null;
24 | public Handler mHandler;
25 | private DBManager dbManager = null;
26 |
27 |
28 | public FileRecieveService(String name) {
29 | super(name);
30 |
31 | }
32 |
33 | public FileRecieveService(){
34 | super("FileRecieveService");
35 | }
36 |
37 | @Override
38 | public void onCreate() {
39 | // TODO Auto-generated method stub
40 | super.onCreate();
41 | MainApplication app = (MainApplication) this.getApplication();
42 | //mHandler = app.getmHandler();
43 | dbManager = new DBManager(getApplicationContext());
44 | mHandler = new NewFileListFragment.MyHandler();
45 | }
46 |
47 |
48 | // @Override
49 | // public int onStartCommand(Intent intent, int flags, int startId) {
50 | // // TODO Auto-generated method stub
51 | //
52 | //
53 | // Log.i("fl----", "fileRecieveService进入");
54 | // //获取设备信息
55 | // String macIP = intent.getExtras().getString(EXTRAS_MAC);
56 | // String deviceName = intent.getExtras().getString(EXTRAS_DEVICE_NAME);
57 | //
58 | // if(dbManager == null)
59 | // dbManager = new DBManager(getApplicationContext());
60 | // Transfer t = new Transfer();
61 | // t.setDevice_address(macIP);
62 | // t.setIsclient(0);//设置为接收端
63 | //
64 | // try {
65 | // transferServer = new TransferServer(mHandler, t, dbManager);
66 | // transferServer.service();
67 | // } catch (Exception e) {
68 | // // TODO Auto-generated catch block
69 | // e.printStackTrace();
70 | // }
71 | //
72 | //
73 | // return START_NOT_STICKY;
74 | // //return super.onStartCommand(intent, flags, startId);
75 | // }
76 |
77 | @Override
78 | public void onDestroy() {
79 | // TODO Auto-generated method stub
80 | super.onDestroy();
81 | stopSelf();
82 | }
83 |
84 | @Override
85 | protected void onHandleIntent(Intent intent) {
86 | // TODO Auto-generated method stub
87 | Log.i("fl----", "fileRecieveService进入");
88 | //获取设备信息
89 | String macIP = intent.getExtras().getString(EXTRAS_MAC);
90 | String deviceName = intent.getExtras().getString(EXTRAS_DEVICE_NAME);
91 |
92 | if(dbManager == null)
93 | dbManager = new DBManager(getApplicationContext());
94 | Transfer t = new Transfer();
95 | t.setDevice_address(macIP);
96 | t.setIsclient(0);//设置为接收端
97 |
98 | try {
99 | transferServer = new TransferServer(mHandler, t, dbManager);
100 | transferServer.service();
101 | } catch (Exception e) {
102 | // TODO Auto-generated catch block
103 | e.printStackTrace();
104 | }
105 |
106 | }
107 |
108 | public void closeServerSocket(){
109 | transferServer.ServerSocketClose();
110 | }
111 |
112 | @Override
113 | public IBinder onBind(Intent intent) {
114 | // TODO Auto-generated method stub
115 | return new MsgBinder();
116 | }
117 |
118 |
119 | class MsgBinder extends Binder {
120 | public FileRecieveService getService(){
121 | return FileRecieveService.this ;
122 | }
123 | }
124 |
125 | }
126 |
--------------------------------------------------------------------------------
/MyWiFiDirectActivity0618/src/com/example/filebrowser/utils/ImageCache.java:
--------------------------------------------------------------------------------
1 | package com.example.filebrowser.utils;
2 |
3 | import java.lang.ref.SoftReference;
4 | import java.util.Collections;
5 | import java.util.HashSet;
6 | import java.util.Iterator;
7 | import java.util.Set;
8 |
9 | import android.annotation.TargetApi;
10 | import android.graphics.Bitmap;
11 | import android.graphics.BitmapFactory;
12 | import android.graphics.Bitmap.Config;
13 | import android.graphics.drawable.BitmapDrawable;
14 | import android.os.Build.VERSION_CODES;
15 | import android.util.Log;
16 | import android.util.LruCache;
17 |
18 | public class ImageCache {
19 |
20 | //ͼƬ����
21 | private static LruCache mMemoryCache;
22 | //����������������
23 | private static Set> reusableSet = Collections.synchronizedSet(new HashSet>());
24 |
25 |
26 | public ImageCache(int cacheSize){
27 | mMemoryCache = new LruCache(cacheSize){
28 |
29 | @Override
30 | protected int sizeOf(String key, BitmapDrawable value) {
31 | // TODO Auto-generated method stub
32 | return value.getBitmap().getByteCount()/1024;
33 | }
34 |
35 | @Override
36 | protected void entryRemoved(boolean evicted, String key,
37 | BitmapDrawable oldValue, BitmapDrawable newValue) {
38 | // �����������Դ�����������
39 | Log.i("fl----entryRemove", "���������С"+reusableSet.size());
40 | reusableSet.add(new SoftReference(oldValue.getBitmap()));
41 | }
42 |
43 |
44 |
45 | };
46 | }
47 |
48 |
49 | public void addBitmapToMemCache(String key, BitmapDrawable value){
50 | if(key == null||value == null){
51 | return;
52 | }
53 |
54 | Log.i("fl---addBitmap", ""+mMemoryCache.size());
55 | mMemoryCache.put(key, value);
56 | }
57 |
58 | public BitmapDrawable getBitmapFromMemCache(String key){
59 | Log.i("fl---getBitmap", "��ȡ����");
60 | return mMemoryCache.get(key);
61 | }
62 |
63 | public Bitmap getBitmapFromReuseableSet(BitmapFactory.Options options){
64 |
65 | Log.i("fl---getBitmapFromReusableSet", reusableSet.size()+"���������С");
66 | Bitmap bitmap = null;
67 | if(null !=reusableSet&&!reusableSet.isEmpty()){
68 |
69 |
70 | synchronized (reusableSet) {
71 | final Iterator> iterator = reusableSet
72 | .iterator();
73 | Bitmap item;
74 | while(iterator.hasNext()){
75 | item = iterator.next().get();
76 |
77 | if(item != null && item.isMutable()){ //���item��mutable����addInbitmap�����õ�
78 |
79 | if(canUseForInbitmap(item, options)){
80 | bitmap = item;
81 |
82 | iterator.remove();//�������������
83 | break;
84 | }
85 |
86 | }else{
87 | iterator.remove();
88 | }
89 | }
90 | }
91 |
92 | }
93 | return bitmap;
94 | }
95 |
96 |
97 |
98 | public boolean canUseForInbitmap(Bitmap bitmap, BitmapFactory.Options options){
99 | //������Ҫ��4.4����ϵͳ��������
100 | int height = options.outHeight/options.inSampleSize;
101 | int width = options.outWidth/options.inSampleSize;
102 | int byteCount = width * height *getBytesPerPixel(bitmap.getConfig());
103 |
104 | Log.i("fl---canUseForInbitmap", ""+byteCount +"----"+bitmap.getByteCount());
105 | return byteCount<= bitmap.getByteCount();
106 | }
107 |
108 |
109 | private static int getBytesPerPixel(Config config) {
110 | if (config == Config.ARGB_8888) {
111 | return 4;
112 | } else if (config == Config.RGB_565) {
113 | return 2;
114 | } else if (config == Config.ARGB_4444) {
115 | return 2;
116 | } else if (config == Config.ALPHA_8) {
117 | return 1;
118 | }
119 | return 1;
120 | }
121 |
122 | }
123 |
--------------------------------------------------------------------------------
/MyWiFiDirectActivity0618/src/com/example/android/wifidirect/Utils.java:
--------------------------------------------------------------------------------
1 | package com.example.android.wifidirect;
2 |
3 | import java.io.BufferedReader;
4 | import java.io.FileReader;
5 | import java.io.IOException;
6 | import java.net.Inet4Address;
7 | import java.net.InetAddress;
8 | import java.net.NetworkInterface;
9 | import java.net.SocketException;
10 | import java.util.Enumeration;
11 |
12 | import android.content.Context;
13 | import android.net.wifi.WifiInfo;
14 | import android.net.wifi.WifiManager;
15 | import android.util.Log;
16 |
17 | public class Utils {
18 |
19 | private final static String p2pInt = "p2p";
20 |
21 | public static String getIPFromMac() {
22 | /*
23 | * method modified from:
24 | *
25 | * http://www.flattermann.net/2011/02/android-howto-find-the-hardware-mac-address-of-a-remote-host/
26 | *
27 | * */
28 | BufferedReader br = null;
29 | try {
30 | br = new BufferedReader(new FileReader("/proc/net/arp"));
31 | String line;
32 | while ((line = br.readLine()) != null) {
33 | Log.d(WiFiDirectActivity.TAG,"arp内容:"+line ); //打印出arp的信息
34 | String[] splitted = line.split("\\s+");
35 | /*Log.d(WiFiDirectActivity.TAG,"splitted[0]:"+splitted[0]);
36 | Log.d(WiFiDirectActivity.TAG,"splitted[1]:"+splitted[1]);
37 | Log.d(WiFiDirectActivity.TAG,"splitted[2]:"+splitted[2]);
38 | Log.d(WiFiDirectActivity.TAG,"splitted[3]:"+splitted[3]);
39 | Log.d(WiFiDirectActivity.TAG,"splitted[4]:"+splitted[4]);
40 | Log.d(WiFiDirectActivity.TAG,"splitted[5]:"+splitted[5]);*/
41 | if (splitted != null && splitted.length >= 4) {
42 | // Basic sanity check
43 | String p2p_device = splitted[5];
44 | //如果是P2P设备连接的,则返回IP地址
45 | //可以使用匹配规则.*p2p-p2p0.*
46 | if (p2p_device.contains(p2pInt)){
47 |
48 | //String mac = splitted[3];
49 | //if (mac.matches(MAC)) {
50 |
51 | return splitted[0];
52 | //}
53 | }
54 | }
55 | }
56 | } catch (Exception e) {
57 | e.printStackTrace();
58 | } finally {
59 | try {
60 | br.close();
61 | } catch (IOException e) {
62 | e.printStackTrace();
63 | }
64 | }
65 | return null;
66 |
67 | }
68 |
69 |
70 | public static String getMacFromFile() {
71 | /*
72 | * method modified from:
73 | *
74 | * http://www.flattermann.net/2011/02/android-howto-find-the-hardware-mac-address-of-a-remote-host/
75 | *
76 | * */
77 | BufferedReader br = null;
78 | try {
79 | br = new BufferedReader(new FileReader("/sys/class/net/p2p0/address"));
80 | String line;
81 | while ((line = br.readLine()) != null) {
82 | Log.d(WiFiDirectActivity.TAG,"p2p0内容:"+line ); //打印出arp的信息
83 | return line;
84 |
85 | }
86 | } catch (Exception e) {
87 | e.printStackTrace();
88 | } finally {
89 | try {
90 | br.close();
91 | } catch (IOException e) {
92 | e.printStackTrace();
93 | }
94 | }
95 | return null;
96 |
97 | }
98 |
99 |
100 | public static String getLocalIPAddress() {
101 | /*
102 | * modified from:
103 | *
104 | * http://thinkandroid.wordpress.com/2010/03/27/incorporating-socket-programming-into-your-applications/
105 | *
106 | * */
107 | try {
108 | for (Enumeration en = NetworkInterface.getNetworkInterfaces(); en.hasMoreElements();) {
109 | NetworkInterface intf = en.nextElement();
110 | for (Enumeration enumIpAddr = intf.getInetAddresses(); enumIpAddr.hasMoreElements();) {
111 | InetAddress inetAddress = enumIpAddr.nextElement();
112 |
113 | String iface = intf.getName();
114 | if(iface.matches(".*" +p2pInt+ ".*")){
115 | if (inetAddress instanceof Inet4Address) { // fix for Galaxy Nexus. IPv4 is easy to use :-)
116 | return getDottedDecimalIP(inetAddress.getAddress());
117 | }
118 | }
119 | }
120 | }
121 | } catch (SocketException ex) {
122 | Log.e("AndroidNetworkAddressFactory", "getLocalIPAddress()", ex);
123 | } catch (NullPointerException ex) {
124 | Log.e("AndroidNetworkAddressFactory", "getLocalIPAddress()", ex);
125 | }
126 | return null;
127 | }
128 |
129 | public static String getDottedDecimalIP(byte[] ipAddr) {
130 | /*
131 | * ripped from:
132 | *
133 | * http://stackoverflow.com/questions/10053385/how-to-get-each-devices-ip-address-in-wifi-direct-scenario
134 | *
135 | * */
136 | String ipAddrStr = "";
137 | for (int i=0; i 0) {
139 | ipAddrStr += ".";
140 | }
141 | ipAddrStr += ipAddr[i]&0xFF;
142 | }
143 | return ipAddrStr;
144 | }
145 |
146 |
147 |
148 | }
149 |
--------------------------------------------------------------------------------
/MyWiFiDirectActivity0618/res/layout/file_list_child_item.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
59 |
60 |
64 |
65 |
74 |
75 |
76 |
84 |
92 |
93 |
102 |
103 |
104 |
105 |
106 |
107 |
119 |
120 |
121 |
122 |
--------------------------------------------------------------------------------
/MyWiFiDirectActivity0618/res/layout/device_detail.xml:
--------------------------------------------------------------------------------
1 |
2 |
10 |
14 |
15 |
19 |
20 | ;
32 |
33 |
40 |
41 |
42 |
43 |
47 |
48 |
60 |
61 |
73 |
74 |
75 |
76 |
81 |
82 |
87 |
92 |
97 |
98 |
106 |
112 |
113 |
114 |
115 |
116 |
--------------------------------------------------------------------------------
/MyWiFiDirectActivity0618/src/com/fl/adapter/MySubImageAdapter.java:
--------------------------------------------------------------------------------
1 | package com.fl.adapter;
2 |
3 | import java.util.HashMap;
4 | import java.util.List;
5 | import java.util.Map;
6 |
7 | import com.example.android.wifidirect.R;
8 | import com.example.filebrowser.utils.ImageLoader;
9 | import com.example.filebrowser.utils.ImageWorker;
10 |
11 | import android.content.Context;
12 | import android.graphics.Bitmap;
13 | import android.graphics.BitmapFactory;
14 | import android.util.Log;
15 | import android.view.LayoutInflater;
16 | import android.view.View;
17 | import android.view.ViewGroup;
18 | import android.widget.BaseAdapter;
19 | import android.widget.ImageView;
20 | import android.widget.TextView;
21 |
22 | public class MySubImageAdapter extends BaseAdapter {
23 |
24 | ImageLoader imageWorker;
25 |
26 | //记录每个位置是否被选择
27 | private Map itemStatus = new HashMap();
28 |
29 | private boolean isMultiSelect;
30 |
31 | private Bitmap selectedBitmap;
32 | private Bitmap unSelectedBitmap;
33 | private int bitmapWidth;
34 |
35 | private Context context;
36 | private LayoutInflater mInflater;
37 | private List data;
38 |
39 | public MySubImageAdapter(Context context, List list, Map map){
40 | mInflater = LayoutInflater.from(context);
41 | data = list;
42 | this.context = context;
43 | init(context);
44 | this.itemStatus = map;
45 | }
46 |
47 | public void init(Context context){
48 | // this.imageWorker = ImageWorker.imageWorkerFactory(context);
49 | this.imageWorker = ImageLoader.getInstance();
50 | // imageWorker.setLoadingImage(R.drawable.empty_photo);
51 | //为多选对勾 初始化
52 | selectedBitmap = BitmapFactory.decodeResource(context.getResources(), R.drawable.btn_check_on_selected);
53 | unSelectedBitmap = BitmapFactory.decodeResource(context.getResources(), R.drawable.btn_check_off);
54 | bitmapWidth = context.getResources().getDimensionPixelSize(R.dimen.image_size_big);
55 |
56 |
57 | }
58 |
59 | public void changeStatus(int position){
60 |
61 | if(position != -1){
62 | if(itemStatus.get(position) == null || !itemStatus.get(position)) //如果position所在位置为null或者为false
63 | itemStatus.put(position, true);
64 | else
65 | itemStatus.put(position, false);
66 | }
67 |
68 | //通知适配器进行更新
69 | notifyDataSetChanged();
70 | }
71 |
72 | /*
73 | * 进入多选模式
74 | */
75 | public void notifyIsSelect(boolean bl){
76 | this.isMultiSelect = bl;
77 | notifyDataSetChanged();
78 | }
79 |
80 | public void setDataSet(List list){
81 | this.data = list;
82 | }
83 |
84 |
85 |
86 |
87 | //返回视图类型总数
88 | @Override
89 | public int getViewTypeCount() {
90 | return 1;
91 | }
92 |
93 | //返回数据总数
94 | @Override
95 | public int getCount() {
96 | // TODO Auto-generated method stub
97 | return data.size();
98 | }
99 |
100 |
101 | @Override
102 | public Object getItem(int position) {
103 | // TODO Auto-generated method stub
104 | return data.get(position);
105 | }
106 |
107 | @Override
108 | public long getItemId(int position) {
109 | // TODO Auto-generated method stub
110 | return position;
111 | }
112 |
113 | //填充视图并返回
114 | @Override
115 | public View getView(int position, View convertView, ViewGroup parent) {
116 | // TODO Auto-generated method stub
117 | String name = data.get(position);
118 | ViewHolder viewHolder;
119 | Log.i("fl---getView", name);
120 |
121 | //如果对应的视图不存在,创建
122 | if(convertView == null){
123 | viewHolder = new ViewHolder();
124 |
125 | //为contentView填充,并绑定控件
126 | convertView = mInflater.inflate(R.layout.image_child_list, parent, false);
127 | viewHolder.imageView = (ImageView) convertView.findViewById(R.id.image_child_list_image);
128 | viewHolder.check_imageView = (ImageView) convertView.findViewById(R.id.image_child_list_select);
129 | convertView.setTag(viewHolder);
130 |
131 |
132 | }else{
133 | Log.i("fl", "复用view");
134 | viewHolder = (ViewHolder) convertView.getTag();
135 |
136 | }
137 |
138 |
139 | Bitmap isCheckImg;
140 | if(isMultiSelect){
141 | if(itemStatus.get(position) == null || !itemStatus.get(position)){
142 | isCheckImg = unSelectedBitmap;
143 | }else{
144 | isCheckImg = selectedBitmap;
145 | }
146 |
147 | }else{
148 | isCheckImg = null;
149 | //viewHolder.check_imageView.setVisibility(View.GONE);
150 | }
151 | //多选状态改变以后,重新设置check_imageView
152 | viewHolder.check_imageView.setImageBitmap(isCheckImg);
153 |
154 |
155 |
156 | //加载图片
157 | // imageWorker.loadImage(name, viewHolder.imageView);
158 | imageWorker.displayImage(name, viewHolder.imageView, bitmapWidth, bitmapWidth);
159 |
160 |
161 | return convertView;
162 | }
163 |
164 | private class ViewHolder{
165 |
166 | private ImageView imageView;
167 | private ImageView check_imageView;
168 | }
169 |
170 | }
171 |
172 |
173 |
--------------------------------------------------------------------------------
/MyWiFiDirectActivity0618/src/com/wifidirect/ui/MyExpandableListView.java:
--------------------------------------------------------------------------------
1 | package com.wifidirect.ui;
2 |
3 | import android.content.Context;
4 | import android.graphics.Canvas;
5 | import android.graphics.Rect;
6 | import android.util.AttributeSet;
7 | import android.view.View;
8 | import android.widget.AbsListView;
9 | import android.widget.AbsListView.OnScrollListener;
10 | import android.widget.ExpandableListView;
11 |
12 | public class MyExpandableListView extends ExpandableListView implements OnScrollListener{
13 |
14 | private static final String TAG = "MyExpandableListView";
15 |
16 | public interface OnHeaderUpdateListener{
17 |
18 | public View getHeader();
19 |
20 | public void updateHeader(View headerView, int firstVisibleGroupPos);
21 | }
22 |
23 | private View mHeaderView;
24 | private int mHeaderWidth;
25 | private int mHeaderHeight;
26 |
27 | private OnHeaderUpdateListener mHeaderUpdateListener;
28 |
29 | protected boolean mIsHeaderGroupClickable = false;
30 |
31 | public MyExpandableListView(Context context){
32 | super(context);
33 | initView();
34 | }
35 |
36 | public MyExpandableListView(Context context, AttributeSet attrs){
37 | super(context, attrs);
38 | initView();
39 | }
40 |
41 | public MyExpandableListView(Context context, AttributeSet attrs, int defStyle){
42 | super(context, attrs, defStyle);
43 | initView();
44 | }
45 |
46 |
47 | private void initView(){
48 | setFadingEdgeLength(0);//消除listView中的上下阴影?
49 | setOnScrollListener(this);
50 | }
51 |
52 | public void setOnHeaderUpdateListener(OnHeaderUpdateListener listener){
53 | mHeaderUpdateListener = listener;
54 | if(listener == null){
55 | mHeaderView = null;
56 | mHeaderWidth = mHeaderHeight = 0;
57 | return;
58 | }
59 | mHeaderView = listener.getHeader();
60 | int firstVisiblePos = getFirstVisiblePosition(); //获取第一个可见的子元素
61 | int firstVisibleGroupPos = getPackedPositionGroup(getExpandableListPosition(firstVisiblePos));//获取该子元素所在的组
62 | listener.updateHeader(mHeaderView, firstVisibleGroupPos);
63 | requestLayout();//刷新页面布局 实现原理?为什么和下面的一起用?
64 | postInvalidate();//在UI线程外异步刷新界面
65 | }
66 |
67 | /**
68 | * 测量界面布局
69 | */
70 |
71 | @Override
72 | protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) {
73 | super.onMeasure(widthMeasureSpec, heightMeasureSpec);
74 | if(mHeaderView == null){
75 | return;
76 | }
77 | measureChild(mHeaderView, widthMeasureSpec, heightMeasureSpec);
78 | mHeaderWidth = mHeaderView.getMeasuredWidth();
79 | mHeaderHeight = mHeaderView.getMeasuredHeight();
80 | }
81 |
82 | @Override
83 | protected void onLayout(boolean changed, int l, int t, int r, int b) {
84 | super.onLayout(changed, l, t, r, b);
85 | if(mHeaderView == null){
86 | return;
87 | }
88 | int headPosition = mHeaderView.getTop();
89 | //设置headView的位置
90 | mHeaderView.layout(0, headPosition, mHeaderWidth, headPosition+mHeaderHeight);
91 | }
92 |
93 | @Override
94 | protected void dispatchDraw(Canvas canvas){
95 | super.dispatchDraw(canvas);
96 | if(mHeaderView != null){
97 | drawChild(canvas, mHeaderView, getDrawingTime());//绘制headView
98 | }
99 | }
100 |
101 | /**
102 | * TODO:group点击事件,重写dispatchTouchEvent,
103 | * 实现思路:判断触摸的位置是否在header范围内
104 | */
105 |
106 |
107 |
108 |
109 | public void requestRefreshHeader(){
110 | refreshHeader();
111 | invalidate(new Rect(0, 0, mHeaderWidth, mHeaderHeight));
112 | }
113 |
114 | protected void refreshHeader(){
115 | if(mHeaderView == null){
116 | return;
117 | }
118 | int firstVisiblePos = getFirstVisiblePosition();
119 | int second = firstVisiblePos + 1;
120 | int firstVisibleGroupPos = getPackedPositionGroup(getExpandableListPosition(firstVisiblePos));
121 | int group = getPackedPositionGroup(getExpandableListPosition(second));
122 |
123 | if(group == firstVisibleGroupPos + 1){ //如果前两个可见子元素所在group不同
124 | View view = getChildAt(1); //获取第二个子元素,这个子元素是父标题还是子元素??
125 | if(view == null){
126 | return;
127 | }
128 | if(view.getTop() <= mHeaderHeight){
129 | int position = mHeaderHeight - view.getTop();
130 | mHeaderView.layout(0, -position, mHeaderWidth, mHeaderHeight-position);//将原先的group挤出界面
131 | }else{
132 | mHeaderView.layout(0, 0, mHeaderWidth, mHeaderHeight);
133 | }
134 | }else{//前两个子元素属于同一个group
135 | mHeaderView.layout(0, 0, mHeaderWidth, mHeaderHeight);
136 | }
137 |
138 | if(mHeaderUpdateListener != null){
139 | mHeaderUpdateListener.updateHeader(mHeaderView, firstVisibleGroupPos);
140 | }
141 | }
142 |
143 |
144 | @Override
145 | public void onScrollStateChanged(AbsListView view, int scrollState) {
146 | // TODO Auto-generated method stub
147 |
148 | }
149 |
150 | //在滑动完成后调用
151 | @Override
152 | public void onScroll(AbsListView view, int firstVisibleItem,
153 | int visibleItemCount, int totalItemCount) {
154 | if(totalItemCount > 0){
155 | refreshHeader();
156 | }
157 |
158 | }
159 |
160 | }
161 |
--------------------------------------------------------------------------------
/MyWiFiDirectActivity0618/src/com/example/filebrowser/utils/LruMemoryCache.java:
--------------------------------------------------------------------------------
1 | package com.example.filebrowser.utils;
2 |
3 | import android.annotation.SuppressLint;
4 | import android.graphics.Bitmap;
5 | import android.graphics.drawable.BitmapDrawable;
6 | import android.util.Log;
7 | import android.util.LruCache;
8 |
9 |
10 | import java.lang.ref.SoftReference;
11 | import java.util.Collection;
12 | import java.util.HashSet;
13 | import java.util.LinkedHashMap;
14 | import java.util.Map;
15 |
16 | /**
17 | * A cache that holds strong references to a limited number of Bitmaps. Each time a Bitmap is accessed, it is moved to
18 | * the head of a queue. When a Bitmap is added to a full cache, the Bitmap at the end of that queue is evicted and may
19 | * become eligible for garbage collection.
20 | *
21 | * NOTE: This cache uses only strong references for stored Bitmaps.
22 | *
23 | * @author Sergey Tarasevich (nostra13[at]gmail[dot]com)
24 | * @since 1.8.1
25 | */
26 | public class LruMemoryCache implements MemoryCache {
27 |
28 | // private final LinkedHashMap map;
29 | private static LruCache map;
30 |
31 | private final int maxSize;
32 | /** Size of this cache in bytes */
33 | private int size;
34 |
35 | /** @param maxSize Maximum sum of the sizes of the Bitmaps in this cache */
36 | public LruMemoryCache(int maxSize) {
37 | if (maxSize <= 0) {
38 | throw new IllegalArgumentException("maxSize <= 0");
39 | }
40 | this.maxSize = maxSize;
41 | // this.map = new LinkedHashMap(0, 0.75f, true);
42 | map = new LruCache(maxSize){
43 |
44 | @Override
45 | protected int sizeOf(String key, Bitmap value) {
46 | // TODO Auto-generated method stub
47 | return value.getByteCount()/1024;
48 | }
49 |
50 | };
51 | }
52 |
53 | /**
54 | * Returns the Bitmap for {@code key} if it exists in the cache. If a Bitmap was returned, it is moved to the head
55 | * of the queue. This returns null if a Bitmap is not cached.
56 | */
57 | @Override
58 | public final Bitmap get(String key) {
59 | if (key == null) {
60 | throw new NullPointerException("key == null");
61 | }
62 |
63 | synchronized (this) {
64 | return map.get(key);
65 |
66 | }
67 | }
68 |
69 | /** Caches {@code Bitmap} for {@code key}. The Bitmap is moved to the head of the queue. */
70 | @Override
71 | public final boolean put(String key, Bitmap value) {
72 | // if (key == null || value == null) {
73 | // throw new NullPointerException("key == null || value == null");
74 | // }
75 | //
76 | // synchronized (this) {
77 | // size += sizeOf(key, value);
78 | // Bitmap previous = map.put(key, value);
79 | // if (previous != null) {
80 | // size -= sizeOf(key, previous);
81 | // }
82 | // }
83 | //
84 | // trimToSize(maxSize);
85 | // return true;
86 |
87 | if(key == null||value == null){
88 | return false;
89 | }
90 |
91 | Log.i("fl---addBitmap", ""+map.size());
92 | map.put(key, value);
93 | return true;
94 | }
95 |
96 | /**
97 | * Remove the eldest entries until the total of remaining entries is at or below the requested size.
98 | *
99 | * @param maxSize the maximum size of the cache before returning. May be -1 to evict even 0-sized elements.
100 | */
101 | // private void trimToSize(int maxSize) {
102 | // while (true) {
103 | // String key;
104 | // Bitmap value;
105 | // synchronized (this) {
106 | // if (size < 0 || (map.isEmpty() && size != 0)) {
107 | // throw new IllegalStateException(getClass().getName() + ".sizeOf() is reporting inconsistent results!");
108 | // }
109 | //
110 | // if (size <= maxSize || map.isEmpty()) {
111 | // break;
112 | // }
113 | //
114 | // Map.Entry toEvict = map.entrySet().iterator().next();
115 | // if (toEvict == null) {
116 | // break;
117 | // }
118 | // key = toEvict.getKey();
119 | // value = toEvict.getValue();
120 | // map.remove(key);
121 | // size -= sizeOf(key, value);
122 | // }
123 | // }
124 | // }
125 |
126 | /** Removes the entry for {@code key} if it exists. */
127 | @Override
128 | public final Bitmap remove(String key) {
129 | if (key == null) {
130 | throw new NullPointerException("key == null");
131 | }
132 |
133 | synchronized (this) {
134 | Bitmap previous = map.remove(key);
135 | if (previous != null) {
136 | size -= sizeOf(key, previous);
137 | }
138 | return previous;
139 | }
140 | }
141 |
142 | @Override
143 | public Collection keys() {
144 | synchronized (this) {
145 | // return new HashSet(map.keySet());
146 | return null;
147 | }
148 | }
149 |
150 | @SuppressLint("NewApi")
151 | @Override
152 | public void clear() {
153 | // trimToSize(-1); // -1 will evict 0-sized elements
154 | map.trimToSize(-1);
155 | }
156 |
157 | /**
158 | * Returns the size {@code Bitmap} in bytes.
159 | *
160 | * An entry's size must not change while it is in the cache.
161 | */
162 | private int sizeOf(String key, Bitmap value) {
163 | return value.getRowBytes() * value.getHeight();
164 | }
165 |
166 | @Override
167 | public synchronized final String toString() {
168 | return String.format("LruCache[maxSize=%d]", maxSize);
169 | }
170 |
171 |
172 | }
--------------------------------------------------------------------------------
/MyWiFiDirectActivity0618/src/com/example/filebrowser/utils/ImageViewAware.java:
--------------------------------------------------------------------------------
1 | /*******************************************************************************
2 | * Copyright 2013-2014 Sergey Tarasevich
3 | *
4 | * Licensed under the Apache License, Version 2.0 (the "License");
5 | * you may not use this file except in compliance with the License.
6 | * You may obtain a copy of the License at
7 | *
8 | * http://www.apache.org/licenses/LICENSE-2.0
9 | *
10 | * Unless required by applicable law or agreed to in writing, software
11 | * distributed under the License is distributed on an "AS IS" BASIS,
12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | * See the License for the specific language governing permissions and
14 | * limitations under the License.
15 | *******************************************************************************/
16 | package com.example.filebrowser.utils;
17 |
18 | import java.lang.reflect.Field;
19 |
20 | import android.graphics.Bitmap;
21 | import android.graphics.drawable.AnimationDrawable;
22 | import android.graphics.drawable.Drawable;
23 | import android.view.View;
24 | import android.widget.ImageView;
25 |
26 | /**
27 | * Wrapper for Android {@link android.widget.ImageView ImageView}. Keeps weak reference of ImageView to prevent memory
28 | * leaks.
29 | *
30 | * @author Sergey Tarasevich (nostra13[at]gmail[dot]com)
31 | * @since 1.9.0
32 | */
33 | public class ImageViewAware extends ViewAware {
34 |
35 | /**
36 | * Constructor.
37 | * References {@link #ImageViewAware(android.widget.ImageView, boolean) ImageViewAware(imageView, true)}.
38 | *
39 | * @param imageView {@link android.widget.ImageView ImageView} to work with
40 | */
41 | public ImageViewAware(ImageView imageView) {
42 | super(imageView);
43 | }
44 |
45 | /**
46 | * Constructor
47 | *
48 | * @param imageView {@link android.widget.ImageView ImageView} to work with
49 | * @param checkActualViewSize true - then {@link #getWidth()} and {@link #getHeight()} will check actual
50 | * size of ImageView. It can cause known issues like
51 | * this.
52 | * But it helps to save memory because memory cache keeps bitmaps of actual (less in
53 | * general) size.
54 | *
55 | * false - then {@link #getWidth()} and {@link #getHeight()} will NOT
56 | * consider actual size of ImageView, just layout parameters.
If you set 'false'
57 | * it's recommended 'android:layout_width' and 'android:layout_height' (or
58 | * 'android:maxWidth' and 'android:maxHeight') are set with concrete values. It helps to
59 | * save memory.
60 | *
61 | */
62 | public ImageViewAware(ImageView imageView, boolean checkActualViewSize) {
63 | super(imageView, checkActualViewSize);
64 | }
65 |
66 | /**ͨ�����ȡͼƬ�����Ϣ
67 | * {@inheritDoc}
68 | *
69 | * 3) Get maxWidth.
70 | */
71 | @Override
72 | public int getWidth() {
73 | int width = super.getWidth();
74 | if (width <= 0) {
75 | ImageView imageView = (ImageView) viewRef.get();
76 | if (imageView != null) {
77 | width = getImageViewFieldValue(imageView, "mMaxWidth"); // Check maxWidth parameter
78 | }
79 | }
80 | return width;
81 | }
82 |
83 | /**
84 | * {@inheritDoc}
85 | *
86 | * 3) Get maxHeight
87 | */
88 | @Override
89 | public int getHeight() {
90 | int height = super.getHeight();
91 | if (height <= 0) {
92 | ImageView imageView = (ImageView) viewRef.get();
93 | if (imageView != null) {
94 | height = getImageViewFieldValue(imageView, "mMaxHeight"); // Check maxHeight parameter
95 | }
96 | }
97 | return height;
98 | }
99 |
100 | @Override
101 | public ViewScaleType getScaleType() {
102 | ImageView imageView = (ImageView) viewRef.get();
103 | if (imageView != null) {
104 | return ViewScaleType.fromImageView(imageView);
105 | }
106 | return super.getScaleType();
107 | }
108 |
109 | @Override
110 | public ImageView getWrappedView() {
111 | return (ImageView) super.getWrappedView();
112 | }
113 |
114 | @Override
115 | protected void setImageDrawableInto(Drawable drawable, View view) {
116 | ((ImageView) view).setImageDrawable(drawable);
117 | if (drawable instanceof AnimationDrawable) {
118 | ((AnimationDrawable)drawable).start();
119 | }
120 | }
121 |
122 | @Override
123 | protected void setImageBitmapInto(Bitmap bitmap, View view) {
124 | ((ImageView) view).setImageBitmap(bitmap);
125 | }
126 |
127 | private static int getImageViewFieldValue(Object object, String fieldName) {
128 | int value = 0;
129 | try {
130 | Field field = ImageView.class.getDeclaredField(fieldName);
131 | field.setAccessible(true);
132 | int fieldValue = (Integer) field.get(object);
133 | if (fieldValue > 0 && fieldValue < Integer.MAX_VALUE) {
134 | value = fieldValue;
135 | }
136 | } catch (Exception e) {
137 | // L.e(e);
138 | }
139 | return value;
140 | }
141 | }
142 |
--------------------------------------------------------------------------------
/MyWiFiDirectActivity0618/res/layout/filebrowser.xml:
--------------------------------------------------------------------------------
1 |
2 |
8 |
9 |
10 |
16 |
17 |
24 |
25 |
33 |
43 |
53 |
63 |
64 |
65 |
66 |
67 |
68 |
73 |
74 |
79 |
80 |
85 |
86 |
94 |
95 |
96 |
97 |
98 |
106 |
107 |
108 |
123 |
124 |
125 |
139 |
140 |
141 |
142 |
143 |
144 |
145 |
--------------------------------------------------------------------------------
/MyWiFiDirectActivity0618/src/com/example/android/wifidirect/FileListFragment.java:
--------------------------------------------------------------------------------
1 | package com.example.android.wifidirect;
2 |
3 | import java.io.BufferedReader;
4 | import java.io.File;
5 | import java.io.FileInputStream;
6 | import java.io.FileNotFoundException;
7 | import java.io.FileOutputStream;
8 | import java.io.FileReader;
9 | import java.io.FileWriter;
10 | import java.io.IOException;
11 | import java.io.OutputStream;
12 | import java.net.ContentHandler;
13 | import java.util.ArrayList;
14 | import java.util.HashMap;
15 | import java.util.List;
16 | import java.util.Map;
17 |
18 | import mySocket.TransferServer;
19 |
20 | import android.content.SharedPreferences;
21 | import android.os.Bundle;
22 | import android.support.v4.app.Fragment;
23 | import android.support.v4.view.ViewPager.LayoutParams;
24 | import android.util.DisplayMetrics;
25 | import android.util.TypedValue;
26 | import android.view.Gravity;
27 | import android.view.LayoutInflater;
28 | import android.view.View;
29 | import android.view.View.OnClickListener;
30 | import android.view.ViewGroup;
31 | import android.widget.Button;
32 | import android.widget.FrameLayout;
33 | import android.widget.ListView;
34 | import android.widget.SimpleAdapter;
35 | import android.widget.TextView;
36 | import android.content.Context ;
37 |
38 |
39 |
40 | public class FileListFragment extends Fragment {
41 |
42 | /**
43 | * @param args
44 | */
45 |
46 | private SharedPreferences sp ;
47 | private SimpleAdapter adapter ;
48 | private List