实例介绍
【实例简介】
蘑菇街 TeamTalk android源码 一同开源的还有php和win的服务端源码,客户端有Mac、Windows、iOS和Android四个版本源码,该IM软件适合中小型企业用户,支持单聊和群聊,提供文字、表情和图片的富文本实时聊天功能,支持多平台客户端同时登陆,以及各平台之间消息的同步推送
【实例截图】
【核心代码】
TTAndroidClient
└── TTAndroidClient
├── mgandroid-teamtalk
│ ├── AndroidManifest.xml
│ ├── bin
│ │ ├── AndroidManifest.xml
│ │ ├── classes
│ │ │ └── com
│ │ │ └── mogujie
│ │ │ ├── im
│ │ │ │ └── libs
│ │ │ │ ├── R$anim.class
│ │ │ │ ├── R$attr.class
│ │ │ │ ├── R$dimen.class
│ │ │ │ ├── R$drawable.class
│ │ │ │ ├── R$id.class
│ │ │ │ ├── R$layout.class
│ │ │ │ ├── R$string.class
│ │ │ │ ├── R$styleable.class
│ │ │ │ └── R.class
│ │ │ └── tt
│ │ │ ├── adapter
│ │ │ │ ├── album
│ │ │ │ │ ├── AlbumHelper.class
│ │ │ │ │ ├── BitmapCache$1$1.class
│ │ │ │ │ ├── BitmapCache$1.class
│ │ │ │ │ ├── BitmapCache$ImageCallback.class
│ │ │ │ │ ├── BitmapCache.class
│ │ │ │ │ ├── ImageBucketAdapter$1.class
│ │ │ │ │ ├── ImageBucketAdapter$Holder.class
│ │ │ │ │ ├── ImageBucketAdapter.class
│ │ │ │ │ ├── ImageBucket.class
│ │ │ │ │ ├── ImageGridAdapter$1.class
│ │ │ │ │ ├── ImageGridAdapter$2.class
│ │ │ │ │ ├── ImageGridAdapter$Holder.class
│ │ │ │ │ ├── ImageGridAdapter$TextCallback.class
│ │ │ │ │ ├── ImageGridAdapter.class
│ │ │ │ │ └── ImageItem.class
│ │ │ │ ├── ChatAdapter$ContactViewHolder.class
│ │ │ │ ├── ChatAdapter.class
│ │ │ │ ├── ContactAllAdapter$1.class
│ │ │ │ ├── ContactAllAdapter$2.class
│ │ │ │ ├── ContactAllAdapter$PositionInfo.class
│ │ │ │ ├── ContactAllAdapter$ViewHolder.class
│ │ │ │ ├── ContactAllAdapter.class
│ │ │ │ ├── ContactBaseAdapter.class
│ │ │ │ ├── ContactDepartmentAdapter$ViewHolder.class
│ │ │ │ ├── ContactDepartmentAdapter.class
│ │ │ │ ├── EmoGridViewAdapter$GridViewHolder.class
│ │ │ │ ├── EmoGridViewAdapter.class
│ │ │ │ ├── EntityListViewAdapter$PositionInfo.class
│ │ │ │ ├── EntityListViewAdapter$ViewHolder.class
│ │ │ │ ├── EntityListViewAdapter.class
│ │ │ │ ├── GroupAdapter$ViewHolder.class
│ │ │ │ ├── GroupAdapter.class
│ │ │ │ ├── GroupManagerAdapter$1.class
│ │ │ │ ├── GroupManagerAdapter$GroupHolder.class
│ │ │ │ ├── GroupManagerAdapter$OnDeleteItemListener.class
│ │ │ │ ├── GroupManagerAdapter.class
│ │ │ │ ├── MessageAdapter$1.class
│ │ │ │ ├── MessageAdapter$2.class
│ │ │ │ ├── MessageAdapter$3.class
│ │ │ │ ├── MessageAdapter$4.class
│ │ │ │ ├── MessageAdapter$5.class
│ │ │ │ ├── MessageAdapter$AudioMessageHolder.class
│ │ │ │ ├── MessageAdapter$BtnImageListener$1.class
│ │ │ │ ├── MessageAdapter$BtnImageListener.class
│ │ │ │ ├── MessageAdapter$ImageMessageHolder.class
│ │ │ │ ├── MessageAdapter$MessageHolderBase.class
│ │ │ │ ├── MessageAdapter$onDoubleClick.class
│ │ │ │ ├── MessageAdapter$OperateItemClickListener.class
│ │ │ │ ├── MessageAdapter$TextMessageHolder.class
│ │ │ │ ├── MessageAdapter$TimeTitleMessageHodler.class
│ │ │ │ ├── MessageAdapter.class
│ │ │ │ ├── SearchAdapter$SearchViewHolder.class
│ │ │ │ ├── SearchAdapter.class
│ │ │ │ └── ViewPageAdapter.class
│ │ │ ├── app
│ │ │ │ └── IMEntrance.class
│ │ │ ├── audio
│ │ │ │ └── biz
│ │ │ │ ├── AudioPlayerHandler$RecordPlayThread.class
│ │ │ │ ├── AudioPlayerHandler.class
│ │ │ │ └── AudioRecordHandler.class
│ │ │ ├── biz
│ │ │ │ ├── ContactHelper.class
│ │ │ │ ├── MessageDistCenter.class
│ │ │ │ ├── MessageHelper$1.class
│ │ │ │ ├── MessageHelper$2.class
│ │ │ │ ├── MessageHelper.class
│ │ │ │ ├── MessageNotifyCenter.class
│ │ │ │ └── SearchHelper.class
│ │ │ ├── BuildConfig.class
│ │ │ ├── cache
│ │ │ │ ├── AutoCloseable.class
│ │ │ │ ├── biz
│ │ │ │ │ └── CacheHub.class
│ │ │ │ ├── BlockTargetCache.class
│ │ │ │ ├── Cache.class
│ │ │ │ ├── CacheModel.class
│ │ │ │ ├── ContactCacheImpl.class
│ │ │ │ ├── Dispatcher.class
│ │ │ │ ├── ExpiredCache.class
│ │ │ │ ├── IMCacheImpl.class
│ │ │ │ ├── MessageCacheImpl.class
│ │ │ │ └── UserCacheImpl.class
│ │ │ ├── config
│ │ │ │ ├── CacheConstant.class
│ │ │ │ ├── HandlerConstant.class
│ │ │ │ ├── ProtocolConstant$ProtocolDumper.class
│ │ │ │ ├── ProtocolConstant.class
│ │ │ │ ├── StatisticsConstant$EventID.class
│ │ │ │ ├── StatisticsConstant.class
│ │ │ │ ├── SysConstant.class
│ │ │ │ └── TaskConstant.class
│ │ │ ├── conn
│ │ │ │ ├── ConnectionManager$SingletonHolder.class
│ │ │ │ ├── ConnectionManager.class
│ │ │ │ ├── ConnectionStore$SingletonHolder.class
│ │ │ │ ├── ConnectionStore.class
│ │ │ │ ├── NetStateDispach.class
│ │ │ │ ├── NetStateManager$SingletonHolder.class
│ │ │ │ └── NetStateManager.class
│ │ │ ├── db
│ │ │ │ ├── biz
│ │ │ │ │ └── DataBaseHelper.class
│ │ │ │ ├── ContactModel.class
│ │ │ │ ├── DataModel.class
│ │ │ │ ├── DBHelper.class
│ │ │ │ ├── MessageModel.class
│ │ │ │ └── UserModel.class
│ │ │ ├── entity
│ │ │ │ ├── ContactSortEntity.class
│ │ │ │ ├── GroupManagerEntity.class
│ │ │ │ ├── IMRecentContact.class
│ │ │ │ ├── MessageInfo.class
│ │ │ │ ├── MessageList.class
│ │ │ │ ├── Pair.class
│ │ │ │ ├── RecentInfo.class
│ │ │ │ ├── SearchResultItem.class
│ │ │ │ ├── ShopMember.class
│ │ │ │ ├── TimeTileMessage.class
│ │ │ │ ├── Token.class
│ │ │ │ ├── UnReadMsgCountInfo.class
│ │ │ │ └── User.class
│ │ │ ├── exception
│ │ │ │ └── BaseException.class
│ │ │ ├── https
│ │ │ │ └── MoGuHttpClient.class
│ │ │ ├── imlib
│ │ │ │ ├── common
│ │ │ │ │ ├── ConfigDefs.class
│ │ │ │ │ └── ErrorCode.class
│ │ │ │ ├── db
│ │ │ │ │ ├── IMDbManager$LoginIdentity.class
│ │ │ │ │ └── IMDbManager.class
│ │ │ │ ├── IMActions.class
│ │ │ │ ├── IMApplication.class
│ │ │ │ ├── IMBroadcastActions.class
│ │ │ │ ├── IMConfigurationManager.class
│ │ │ │ ├── IMContactManager.class
│ │ │ │ ├── IMGroupManager.class
│ │ │ │ ├── IMHeartBeatManager.class
│ │ │ │ ├── IMLoginManager$1.class
│ │ │ │ ├── IMLoginManager.class
│ │ │ │ ├── IMManager.class
│ │ │ │ ├── IMMessageManager$1.class
│ │ │ │ ├── IMMessageManager.class
│ │ │ │ ├── IMNotificationManager$1.class
│ │ │ │ ├── IMNotificationManager.class
│ │ │ │ ├── IMPacketDispatcher.class
│ │ │ │ ├── IMRecentSessionManager.class
│ │ │ │ ├── IMReconnectManager.class
│ │ │ │ ├── IMSession.class
│ │ │ │ ├── IMUnAckMsgManager$1.class
│ │ │ │ ├── IMUnAckMsgManager$UnAckMsg.class
│ │ │ │ ├── IMUnAckMsgManager.class
│ │ │ │ ├── IMUnreadMsgManager.class
│ │ │ │ ├── network
│ │ │ │ │ ├── BaseServerHandler.class
│ │ │ │ │ ├── LoginServerHandler.class
│ │ │ │ │ ├── MsgServerHandler.class
│ │ │ │ │ ├── SocketThread$1.class
│ │ │ │ │ └── SocketThread.class
│ │ │ │ ├── proto
│ │ │ │ │ ├── AckGroupUnreadMsgPacket$PacketRequest.class
│ │ │ │ │ ├── AckGroupUnreadMsgPacket$PacketResponse.class
│ │ │ │ │ ├── AckGroupUnreadMsgPacket.class
│ │ │ │ │ ├── AckUnreadMsgPacket$PacketRequest.class
│ │ │ │ │ ├── AckUnreadMsgPacket$PacketResponse.class
│ │ │ │ │ ├── AckUnreadMsgPacket.class
│ │ │ │ │ ├── AllContactsPacket$PacketRequest.class
│ │ │ │ │ ├── AllContactsPacket$PacketResponse.class
│ │ │ │ │ ├── AllContactsPacket.class
│ │ │ │ │ ├── ChangeTempGroupMemberPacket$PacketRequest$Entity.class
│ │ │ │ │ ├── ChangeTempGroupMemberPacket$PacketRequest.class
│ │ │ │ │ ├── ChangeTempGroupMemberPacket$PacketResponse$Entity.class
│ │ │ │ │ ├── ChangeTempGroupMemberPacket$PacketResponse.class
│ │ │ │ │ ├── ChangeTempGroupMemberPacket.class
│ │ │ │ │ ├── ContactEntity.class
│ │ │ │ │ ├── CreateTempGroupPacket$PacketRequest.class
│ │ │ │ │ ├── CreateTempGroupPacket$PacketResponse.class
│ │ │ │ │ ├── CreateTempGroupPacket.class
│ │ │ │ │ ├── DepartmentEntity.class
│ │ │ │ │ ├── DepartmentPacket$PacketRequest.class
│ │ │ │ │ ├── DepartmentPacket$PacketResponse.class
│ │ │ │ │ ├── DepartmentPacket.class
│ │ │ │ │ ├── GroupChangeMemberNotify$PacketRequest$Entity.class
│ │ │ │ │ ├── GroupChangeMemberNotify$PacketRequest.class
│ │ │ │ │ ├── GroupChangeMemberNotify$PacketResponse$Entity.class
│ │ │ │ │ ├── GroupChangeMemberNotify$PacketResponse.class
│ │ │ │ │ ├── GroupChangeMemberNotify.class
│ │ │ │ │ ├── GroupEntity.class
│ │ │ │ │ ├── GroupPacket$PacketRequest.class
│ │ │ │ │ ├── GroupPacket$PacketResponse.class
│ │ │ │ │ ├── GroupPacket.class
│ │ │ │ │ ├── GroupUnreadMsgPacket$PacketRequest$Entity.class
│ │ │ │ │ ├── GroupUnreadMsgPacket$PacketRequest.class
│ │ │ │ │ ├── GroupUnreadMsgPacket$PacketResponse.class
│ │ │ │ │ ├── GroupUnreadMsgPacket.class
│ │ │ │ │ ├── GroupUserListPacket$PacketRequest$Entity.class
│ │ │ │ │ ├── GroupUserListPacket$PacketRequest.class
│ │ │ │ │ ├── GroupUserListPacket$PacketResponse$Entity.class
│ │ │ │ │ ├── GroupUserListPacket$PacketResponse.class
│ │ │ │ │ ├── GroupUserListPacket.class
│ │ │ │ │ ├── HeartBeatPacket$HeartBeatRequest.class
│ │ │ │ │ ├── HeartBeatPacket$HeartBeatResponse.class
│ │ │ │ │ ├── HeartBeatPacket.class
│ │ │ │ │ ├── LoginPacket$LoginRequest.class
│ │ │ │ │ ├── LoginPacket$LoginResponse.class
│ │ │ │ │ ├── LoginPacket.class
│ │ │ │ │ ├── MessageEntity$AudioInfo.class
│ │ │ │ │ ├── MessageEntity$PicInfo.class
│ │ │ │ │ ├── MessageEntity.class
│ │ │ │ │ ├── MessageNotifyPacket$PacketAck.class
│ │ │ │ │ ├── MessageNotifyPacket$packetNotify.class
│ │ │ │ │ ├── MessageNotifyPacket.class
│ │ │ │ │ ├── MessagePacket$PacketRequest.class
│ │ │ │ │ ├── MessagePacket$PacketResponse.class
│ │ │ │ │ ├── MessagePacket.class
│ │ │ │ │ ├── MsgAckEntity.class
│ │ │ │ │ ├── MsgServerPacket$MsgServerRequest.class
│ │ │ │ │ ├── MsgServerPacket$MsgServerResponse.class
│ │ │ │ │ ├── MsgServerPacket.class
│ │ │ │ │ ├── PacketEncoder.class
│ │ │ │ │ ├── RecentContactsPacket$PacketRequest.class
│ │ │ │ │ ├── RecentContactsPacket$PacketResponse.class
│ │ │ │ │ ├── RecentContactsPacket$UserEntity.class
│ │ │ │ │ ├── RecentContactsPacket.class
│ │ │ │ │ ├── UnreadMsgContactListPacket$PacketRequest.class
│ │ │ │ │ ├── UnreadMsgContactListPacket$PacketResponse.class
│ │ │ │ │ ├── UnreadMsgContactListPacket.class
│ │ │ │ │ ├── UnreadMsgGroupListPacket$PacketRequest.class
│ │ │ │ │ ├── UnreadMsgGroupListPacket$PacketResponse$Entity.class
│ │ │ │ │ ├── UnreadMsgGroupListPacket$PacketResponse.class
│ │ │ │ │ ├── UnreadMsgGroupListPacket.class
│ │ │ │ │ ├── UnreadMsgPacket$PacketRequest.class
│ │ │ │ │ ├── UnreadMsgPacket$PacketResponse.class
│ │ │ │ │ └── UnreadMsgPacket.class
│ │ │ │ ├── service
│ │ │ │ │ ├── IMService$IMServiceBinder.class
│ │ │ │ │ └── IMService.class
│ │ │ │ └── utils
│ │ │ │ ├── DumpUtils.class
│ │ │ │ ├── IMContactHelper.class
│ │ │ │ ├── IMUIHelper$1.class
│ │ │ │ ├── IMUIHelper$2.class
│ │ │ │ ├── IMUIHelper$ContactPinyinComparator.class
│ │ │ │ ├── IMUIHelper$DepartmentPinyinComparator.class
│ │ │ │ ├── IMUIHelper$GroupPinyinComparator.class
│ │ │ │ ├── IMUIHelper$SessionInfo.class
│ │ │ │ ├── IMUIHelper.class
│ │ │ │ └── SearchElement.class
│ │ │ ├── log
│ │ │ │ └── Logger.class
│ │ │ ├── logcat.log
│ │ │ ├── packet
│ │ │ │ ├── action
│ │ │ │ │ ├── Action$Builder.class
│ │ │ │ │ ├── ActionCallback.class
│ │ │ │ │ ├── Action.class
│ │ │ │ │ └── ProgressActionCallback.class
│ │ │ │ ├── base
│ │ │ │ │ ├── DataBuffer.class
│ │ │ │ │ ├── DefaultHeader.class
│ │ │ │ │ ├── Header.class
│ │ │ │ │ ├── Packet$Ack.class
│ │ │ │ │ ├── Packet$Notify.class
│ │ │ │ │ ├── Packet$Request.class
│ │ │ │ │ ├── Packet$Response.class
│ │ │ │ │ └── Packet.class
│ │ │ │ ├── MessageDispatchCenter$1.class
│ │ │ │ ├── MessageDispatchCenter$SingletonHolder.class
│ │ │ │ ├── MessageDispatchCenter.class
│ │ │ │ ├── PacketSendMonitor$Monitor.class
│ │ │ │ ├── PacketSendMonitor.class
│ │ │ │ ├── SocketMessageQueue$1.class
│ │ │ │ ├── SocketMessageQueue$SingletonHolder.class
│ │ │ │ ├── SocketMessageQueue.class
│ │ │ │ ├── WaitingListMonitor$Monitor.class
│ │ │ │ ├── WaitingListMonitor$MonitorHandler.class
│ │ │ │ └── WaitingListMonitor.class
│ │ │ ├── R$anim.class
│ │ │ ├── R$array.class
│ │ │ ├── R$attr.class
│ │ │ ├── R$color.class
│ │ │ ├── R$dimen.class
│ │ │ ├── R$drawable.class
│ │ │ ├── R$id.class
│ │ │ ├── R$layout.class
│ │ │ ├── R$string.class
│ │ │ ├── R$styleable.class
│ │ │ ├── R$style.class
│ │ │ ├── R.class
│ │ │ ├── service
│ │ │ │ ├── ConnectionChangeReceiver.class
│ │ │ │ ├── IMService.class
│ │ │ │ └── StartImServiceReceiver.class
│ │ │ ├── socket
│ │ │ │ ├── MoGuSocket$1.class
│ │ │ │ ├── MoGuSocket.class
│ │ │ │ ├── SocketHandler.class
│ │ │ │ ├── SocketStateManager$SingletonHolder.class
│ │ │ │ └── SocketStateManager.class
│ │ │ ├── support
│ │ │ │ └── audio
│ │ │ │ ├── AudioFileWriter.class
│ │ │ │ ├── OggCrc.class
│ │ │ │ ├── OggSpeexWriter.class
│ │ │ │ ├── Speex.class
│ │ │ │ ├── SpeexDecoder.class
│ │ │ │ ├── SpeexEncoder$ReadData.class
│ │ │ │ ├── SpeexEncoder.class
│ │ │ │ ├── SpeexWriteClient.class
│ │ │ │ ├── SpeexWriter$processedData.class
│ │ │ │ └── SpeexWriter.class
│ │ │ ├── task
│ │ │ │ ├── BaseTask.class
│ │ │ │ ├── biz
│ │ │ │ │ ├── CheckUserBlockTask.class
│ │ │ │ │ ├── DownloadImageTask.class
│ │ │ │ │ ├── FinishRecordVoiceTask.class
│ │ │ │ │ ├── PushActionToQueueTask.class
│ │ │ │ │ ├── SendAudioMessageTask.class
│ │ │ │ │ └── UploadImageTask.class
│ │ │ │ ├── IProcessing.class
│ │ │ │ ├── ITask.class
│ │ │ │ ├── MAsyncTask.class
│ │ │ │ ├── TaskCallback.class
│ │ │ │ ├── TaskCenter.class
│ │ │ │ ├── TaskManager.class
│ │ │ │ ├── TaskMode.class
│ │ │ │ ├── TaskTrigger$1.class
│ │ │ │ └── TaskTrigger.class
│ │ │ ├── timer
│ │ │ │ ├── ITimerProcessor.class
│ │ │ │ ├── TimerHelper$1.class
│ │ │ │ └── TimerHelper.class
│ │ │ ├── ui
│ │ │ │ ├── activity
│ │ │ │ │ ├── ChatFragmentActivity.class
│ │ │ │ │ ├── CommonTest$1.class
│ │ │ │ │ ├── CommonTest$1ClientHandler.class
│ │ │ │ │ ├── CommonTest$1DiscardServerHandler.class
│ │ │ │ │ ├── CommonTest$2.class
│ │ │ │ │ ├── CommonTest.class
│ │ │ │ │ ├── ContactFragmentActivity.class
│ │ │ │ │ ├── DisplayImageActivity$1.class
│ │ │ │ │ ├── DisplayImageActivity$2.class
│ │ │ │ │ ├── DisplayImageActivity$3.class
│ │ │ │ │ ├── DisplayImageActivity$4.class
│ │ │ │ │ ├── DisplayImageActivity.class
│ │ │ │ │ ├── GroupManagermentActivity.class
│ │ │ │ │ ├── GroupMemberSelectActivity.class
│ │ │ │ │ ├── ImageGridActivity$1.class
│ │ │ │ │ ├── ImageGridActivity$2.class
│ │ │ │ │ ├── ImageGridActivity$3.class
│ │ │ │ │ ├── ImageGridActivity$4.class
│ │ │ │ │ ├── ImageGridActivity$5.class
│ │ │ │ │ ├── ImageGridActivity$6.class
│ │ │ │ │ ├── ImageGridActivity$7.class
│ │ │ │ │ ├── ImageGridActivity$8.class
│ │ │ │ │ ├── ImageGridActivity.class
│ │ │ │ │ ├── LoginActivity$1.class
│ │ │ │ │ ├── LoginActivity$2.class
│ │ │ │ │ ├── LoginActivity.class
│ │ │ │ │ ├── MainActivity$1.class
│ │ │ │ │ ├── MainActivity.class
│ │ │ │ │ ├── MessageActivity$10.class
│ │ │ │ │ ├── MessageActivity$11.class
│ │ │ │ │ ├── MessageActivity$1.class
│ │ │ │ │ ├── MessageActivity$2.class
│ │ │ │ │ ├── MessageActivity$3.class
│ │ │ │ │ ├── MessageActivity$4.class
│ │ │ │ │ ├── MessageActivity$5.class
│ │ │ │ │ ├── MessageActivity$6.class
│ │ │ │ │ ├── MessageActivity$7.class
│ │ │ │ │ ├── MessageActivity$8.class
│ │ │ │ │ ├── MessageActivity$9.class
│ │ │ │ │ ├── MessageActivity.class
│ │ │ │ │ ├── PickPhotoActivity$1.class
│ │ │ │ │ ├── PickPhotoActivity$2.class
│ │ │ │ │ ├── PickPhotoActivity$3.class
│ │ │ │ │ ├── PickPhotoActivity.class
│ │ │ │ │ ├── PreviewActivity$1.class
│ │ │ │ │ ├── PreviewActivity$2.class
│ │ │ │ │ ├── PreviewActivity$3.class
│ │ │ │ │ ├── PreviewActivity$PreviewAdapter.class
│ │ │ │ │ ├── PreviewActivity.class
│ │ │ │ │ ├── PreviewTextActivity$1.class
│ │ │ │ │ ├── PreviewTextActivity.class
│ │ │ │ │ ├── SearchActivity.class
│ │ │ │ │ ├── SettingActivity.class
│ │ │ │ │ └── UserInfoActivity.class
│ │ │ │ ├── base
│ │ │ │ │ ├── TTBaseActivity.class
│ │ │ │ │ ├── TTBaseFragment$1.class
│ │ │ │ │ ├── TTBaseFragmentActivity.class
│ │ │ │ │ └── TTBaseFragment.class
│ │ │ │ ├── fragment
│ │ │ │ │ ├── ChatFragment$1.class
│ │ │ │ │ ├── ChatFragment$2.class
│ │ │ │ │ ├── ChatFragment$3.class
│ │ │ │ │ ├── ChatFragment$4.class
│ │ │ │ │ ├── ChatFragment.class
│ │ │ │ │ ├── ContactFragment$1.class
│ │ │ │ │ ├── ContactFragment$2.class
│ │ │ │ │ ├── ContactFragment$3.class
│ │ │ │ │ ├── ContactFragment$4.class
│ │ │ │ │ ├── ContactFragment$5.class
│ │ │ │ │ ├── ContactFragment$6.class
│ │ │ │ │ ├── ContactFragment.class
│ │ │ │ │ ├── GroupManagerFragment$1.class
│ │ │ │ │ ├── GroupManagerFragment$2.class
│ │ │ │ │ ├── GroupManagerFragment.class
│ │ │ │ │ ├── GroupMemberSelectFragment$1.class
│ │ │ │ │ ├── GroupMemberSelectFragment$2.class
│ │ │ │ │ ├── GroupMemberSelectFragment$3.class
│ │ │ │ │ ├── GroupMemberSelectFragment$4.class
│ │ │ │ │ ├── GroupMemberSelectFragment$5.class
│ │ │ │ │ ├── GroupMemberSelectFragment$6.class
│ │ │ │ │ ├── GroupMemberSelectFragment.class
│ │ │ │ │ ├── InternalFragment.class
│ │ │ │ │ ├── MainFragment.class
│ │ │ │ │ ├── MyFragment$1.class
│ │ │ │ │ ├── MyFragment$2.class
│ │ │ │ │ ├── MyFragment.class
│ │ │ │ │ ├── SearchFragment$1.class
│ │ │ │ │ ├── SearchFragment$2.class
│ │ │ │ │ ├── SearchFragment$3.class
│ │ │ │ │ ├── SearchFragment$4.class
│ │ │ │ │ ├── SearchFragment$5.class
│ │ │ │ │ ├── SearchFragment.class
│ │ │ │ │ ├── SettingFragment$1.class
│ │ │ │ │ ├── SettingFragment$2.class
│ │ │ │ │ ├── SettingFragment$3.class
│ │ │ │ │ ├── SettingFragment.class
│ │ │ │ │ ├── UserInfoFragment$1.class
│ │ │ │ │ ├── UserInfoFragment$2.class
│ │ │ │ │ ├── UserInfoFragment$3.class
│ │ │ │ │ └── UserInfoFragment.class
│ │ │ │ ├── tools
│ │ │ │ │ ├── BubbleImageHelper.class
│ │ │ │ │ ├── DisplayBitmapCache.class
│ │ │ │ │ ├── Emoparser.class
│ │ │ │ │ ├── ImageTool.class
│ │ │ │ │ ├── MessageBitmapCache$BitmapMemoryUnit.class
│ │ │ │ │ ├── MessageBitmapCache.class
│ │ │ │ │ └── PhotoHandler.class
│ │ │ │ └── utils
│ │ │ │ ├── EntityList.class
│ │ │ │ ├── IMContactListViewHelper.class
│ │ │ │ ├── IMGroupMemberGridViewHelper.class
│ │ │ │ ├── IMServiceHelper$1.class
│ │ │ │ ├── IMServiceHelper$IMBroadcastReceiver.class
│ │ │ │ ├── IMServiceHelper$OnIMServiceListner.class
│ │ │ │ ├── IMServiceHelper.class
│ │ │ │ └── Md5Helper.class
│ │ │ ├── utils
│ │ │ │ ├── CharacterParser.class
│ │ │ │ ├── CommonUtil.class
│ │ │ │ ├── ContactUtils.class
│ │ │ │ ├── DateUtil.class
│ │ │ │ ├── FileUtil.class
│ │ │ │ ├── MessageSplitResult.class
│ │ │ │ ├── MsgIdToPositionMap.class
│ │ │ │ ├── NetworkUtil.class
│ │ │ │ ├── pinyin
│ │ │ │ │ ├── HanziToPinyin3$Token.class
│ │ │ │ │ ├── HanziToPinyin3.class
│ │ │ │ │ ├── PinYin$PinYinArea.class
│ │ │ │ │ ├── PinYin$PinYinElement.class
│ │ │ │ │ └── PinYin.class
│ │ │ │ ├── SequenceNumberMaker$SingletonHolder.class
│ │ │ │ ├── SequenceNumberMaker.class
│ │ │ │ ├── SortComparator.class
│ │ │ │ └── StringUtil.class
│ │ │ └── widget
│ │ │ ├── CustomViewPager.class
│ │ │ ├── EmoGridView$1.class
│ │ │ ├── EmoGridView$2.class
│ │ │ ├── EmoGridView$OnEmoGridViewItemClick.class
│ │ │ ├── EmoGridView.class
│ │ │ ├── GroupManagerGridView$OnTouchBlankPositionListener.class
│ │ │ ├── GroupManagerGridView.class
│ │ │ ├── MessageOperatePopup$OnItemClickListener.class
│ │ │ ├── MessageOperatePopup.class
│ │ │ ├── MGDialog$DialogBuilder.class
│ │ │ ├── MGDialog$OnButtonClickListener.class
│ │ │ ├── MGDialog.class
│ │ │ ├── MGProgressbar$1.class
│ │ │ ├── MGProgressbar$OnRefreshBtnListener.class
│ │ │ ├── MGProgressbar.class
│ │ │ ├── NaviTabButton$1.class
│ │ │ ├── NaviTabButton.class
│ │ │ ├── PinkToast.class
│ │ │ ├── SearchEditText.class
│ │ │ ├── SortSideBar$OnTouchingLetterChangedListener.class
│ │ │ ├── SortSideBar.class
│ │ │ ├── SpeekerToast.class
│ │ │ ├── TopTabButton$1.class
│ │ │ ├── TopTabButton$2.class
│ │ │ └── TopTabButton.class
│ │ ├── classes.dex
│ │ ├── dexedLibs
│ │ │ ├── android-async-http-1.4.6-6d1d3dd44cd21fd192991a023f6a8ca6.jar
│ │ │ ├── android-support-v4-c8eb1eeccd7d68ad7820520cd86f851c.jar
│ │ │ ├── jpinyin-1.0-a69f89de9fb3fbb597bb68d555aa30fd.jar
│ │ │ ├── mgimlibs-3349b3ea740f93d4b06c5d73ab551e9f.jar
│ │ │ ├── netty-3.6.6.Final-cdc6a359ae8cca08892acd655ad962cc.jar
│ │ │ ├── okhttp-1.3.0-jar-with-dependencies-98133780669d8d16886bbeec5be8d977.jar
│ │ │ └── universal-image-loader-1.9.3-df0d9e333ad473f9cd1399e1499781b5.jar
│ │ ├── jarlist.cache
│ │ ├── MGTTInitAct.apk
│ │ ├── res
│ │ │ └── crunch
│ │ │ ├── drawable-hdpi
│ │ │ │ └── tt_loading_circle.png
│ │ │ ├── drawable-xhdpi
│ │ │ │ ├── check_box.png
│ │ │ │ ├── check.png
│ │ │ │ ├── discussion_group_default.png
│ │ │ │ ├── group_default.png
│ │ │ │ ├── im_other_item_bg_normal.9.png
│ │ │ │ ├── tt_album_arrow.png
│ │ │ │ ├── tt_album_arrow_sel.png
│ │ │ │ ├── tt_album_bottom_bar.png
│ │ │ │ ├── tt_album_img_selected.png
│ │ │ │ ├── tt_album_img_select_nor.png
│ │ │ │ ├── tt_album_item_sel_bk.png
│ │ │ │ ├── tt_back_btn.png
│ │ │ │ ├── tt_bg_popup_left_nomal.png
│ │ │ │ ├── tt_bg_popup_left_pressed.png
│ │ │ │ ├── tt_bg_popup_normal.9.png
│ │ │ │ ├── tt_bg_popup_pressed.9.png
│ │ │ │ ├── tt_bg_popup_right_nomal.png
│ │ │ │ ├── tt_bg_popup_right_pressed.png
│ │ │ │ ├── tt_chatting_biaoqing_btn_normal.png
│ │ │ │ ├── tt_clear_bar.png
│ │ │ │ ├── tt_clock_icon.png
│ │ │ │ ├── tt_contact_side_search.png
│ │ │ │ ├── tt_contact_top_left_nor.png
│ │ │ │ ├── tt_contact_top_left_sel.png
│ │ │ │ ├── tt_contact_top_right_nor.png
│ │ │ │ ├── tt_contact_top_right_sel.png
│ │ │ │ ├── tt_default_album_grid_image.png
│ │ │ │ ├── tt_default_arrow.png
│ │ │ │ ├── tt_default_btn_bk.png
│ │ │ │ ├── tt_default_dot_down.png
│ │ │ │ ├── tt_default_dot_up.png
│ │ │ │ ├── tt_default_emo_back_normal.png
│ │ │ │ ├── tt_default_image_error.png
│ │ │ │ ├── tt_default_image.png
│ │ │ │ ├── tt_default_message_error_image.png
│ │ │ │ ├── tt_default_message_image.png
│ │ │ │ ├── tt_default_user_portrait_corner.png
│ │ │ │ ├── tt_dialog_navigative_btn_bg_normal.9.png
│ │ │ │ ├── tt_dialog_navigative_btn_bg_pressed.9.png
│ │ │ │ ├── tt_dialog_positive_btn_bg_normal.9.png
│ │ │ │ ├── tt_dialog_positive_btn_bg_pressed.9.png
│ │ │ │ ├── tt_e0.png
│ │ │ │ ├── tt_e10.png
│ │ │ │ ├── tt_e11.png
│ │ │ │ ├── tt_e12.png
│ │ │ │ ├── tt_e13.png
│ │ │ │ ├── tt_e14.png
│ │ │ │ ├── tt_e15.png
│ │ │ │ ├── tt_e16.png
│ │ │ │ ├── tt_e17.png
│ │ │ │ ├── tt_e18.png
│ │ │ │ ├── tt_e19.png
│ │ │ │ ├── tt_e1.png
│ │ │ │ ├── tt_e20.png
│ │ │ │ ├── tt_e21.png
│ │ │ │ ├── tt_e22.png
│ │ │ │ ├── tt_e23.png
│ │ │ │ ├── tt_e24.png
│ │ │ │ ├── tt_e25.png
│ │ │ │ ├── tt_e26.png
│ │ │ │ ├── tt_e27.png
│ │ │ │ ├── tt_e28.png
│ │ │ │ ├── tt_e29.png
│ │ │ │ ├── tt_e2.png
│ │ │ │ ├── tt_e30.png
│ │ │ │ ├── tt_e31.png
│ │ │ │ ├── tt_e32.png
│ │ │ │ ├── tt_e33.png
│ │ │ │ ├── tt_e34.png
│ │ │ │ ├── tt_e35.png
│ │ │ │ ├── tt_e36.png
│ │ │ │ ├── tt_e37.png
│ │ │ │ ├── tt_e38.png
│ │ │ │ ├── tt_e39.png
│ │ │ │ ├── tt_e3.png
│ │ │ │ ├── tt_e40.png
│ │ │ │ ├── tt_e41.png
│ │ │ │ ├── tt_e42.png
│ │ │ │ ├── tt_e43.png
│ │ │ │ ├── tt_e44.png
│ │ │ │ ├── tt_e45.png
│ │ │ │ ├── tt_e4.png
│ │ │ │ ├── tt_e5.png
│ │ │ │ ├── tt_e6.png
│ │ │ │ ├── tt_e7.png
│ │ │ │ ├── tt_e8.png
│ │ │ │ ├── tt_e9.png
│ │ │ │ ├── tt_empty_default_icon.png
│ │ │ │ ├── tt_empty_no_contact_icon.png
│ │ │ │ ├── tt_group_manager_add_user.png
│ │ │ │ ├── tt_ic_launcher.png
│ │ │ │ ├── tt_login_logo2.png
│ │ │ │ ├── tt_login_logo.png
│ │ │ │ ├── tt_login_pwd.png
│ │ │ │ ├── tt_login_user.png
│ │ │ │ ├── tt_logo2.png
│ │ │ │ ├── tt_logo.png
│ │ │ │ ├── tt_message_notify_double.png
│ │ │ │ ├── tt_message_notify_single.png
│ │ │ │ ├── tt_message_text_bg.9.png
│ │ │ │ ├── tt_message_title_time_bg.9.png
│ │ │ │ ├── tt_mine_image_default_bk.png
│ │ │ │ ├── tt_mine_item_bg_normal.9.png
│ │ │ │ ├── tt_mine_item_bg_pressed.9.png
│ │ │ │ ├── tt_msg_tip.png
│ │ │ │ ├── tt_my_message_bkgnd.9.png
│ │ │ │ ├── tt_other_default_image_bk.9.png
│ │ │ │ ├── tt_other_image_default_bk.png
│ │ │ │ ├── tt_other_item_bg_normal.9.png
│ │ │ │ ├── tt_other_item_bg_pressed.9.png
│ │ │ │ ├── tt_other_text_background.png
│ │ │ │ ├── tt_page_item_bk.9.png
│ │ │ │ ├── tt_page_my_setting.png
│ │ │ │ ├── tt_pannel_bk.9.png
│ │ │ │ ├── tt_pannel_btn_voiceforward_normal.9.png
│ │ │ │ ├── tt_pannel_btn_voiceforward_pressed.9.png
│ │ │ │ ├── tt_preview_dot_down.png
│ │ │ │ ├── tt_preview_dot_up.png
│ │ │ │ ├── tt_search.png
│ │ │ │ ├── tt_send_message_btn_bg.9.png
│ │ │ │ ├── tt_send_voice_btn_bg.9.png
│ │ │ │ ├── tt_send_voice_btn_bg_normal.9.png
│ │ │ │ ├── tt_send_voice_btn_btn_pressed.9.png
│ │ │ │ ├── tt_show_add_photo_btn.png
│ │ │ │ ├── tt_show_head_toast_bg.9.PNG
│ │ │ │ ├── tt_sound_volume_01.png
│ │ │ │ ├── tt_sound_volume_02.png
│ │ │ │ ├── tt_sound_volume_03.png
│ │ │ │ ├── tt_sound_volume_04.png
│ │ │ │ ├── tt_sound_volume_05.png
│ │ │ │ ├── tt_sound_volume_06.png
│ │ │ │ ├── tt_sound_volume_07.png
│ │ │ │ ├── tt_sound_volume_cancel_bk.png
│ │ │ │ ├── tt_sound_volume_default_bk.png
│ │ │ │ ├── tt_sound_volume_short_tip_bk.png
│ │ │ │ ├── tt_speeker_tip_bg.png
│ │ │ │ ├── tt_switch_to_keyboard_btn.png
│ │ │ │ ├── tt_tab_bk.png
│ │ │ │ ├── tt_tab_chat_nor.png
│ │ │ │ ├── tt_tab_chat_sel.png
│ │ │ │ ├── tt_tab_contact_nor.png
│ │ │ │ ├── tt_tab_contact_sel.png
│ │ │ │ ├── tt_tab_innernet_nor.png
│ │ │ │ ├── tt_tab_innernet_sel.png
│ │ │ │ ├── tt_tab_me_nor.png
│ │ │ │ ├── tt_tab_me_sel.png
│ │ │ │ ├── tt_take_camera_btn_bg.png
│ │ │ │ ├── tt_take_photo_btn_bg.png
│ │ │ │ ├── tt_top_back.png
│ │ │ │ ├── tt_top_default_bk.png
│ │ │ │ ├── tt_top_right_group_manager.png
│ │ │ │ ├── tt_top_search.png
│ │ │ │ ├── tt_unread_message_notify_bg.png
│ │ │ │ ├── tt_voice_btn_btn.png
│ │ │ │ ├── tt_voice_node_mine_playing001.png
│ │ │ │ ├── tt_voice_node_mine_playing002.png
│ │ │ │ ├── tt_voice_node_mine_playing003.png
│ │ │ │ ├── tt_voice_node_mine.png
│ │ │ │ ├── tt_voice_node_other_playing001.png
│ │ │ │ ├── tt_voice_node_other_playing002.png
│ │ │ │ ├── tt_voice_node_other_playing003.png
│ │ │ │ ├── tt_voice_node_other.png
│ │ │ │ ├── tt_waterfall_refresh_bg.9.png
│ │ │ │ ├── uncheck_box.png
│ │ │ │ ├── uncheck.png
│ │ │ │ └── warning.png
│ │ │ └── drawable-xxhdpi
│ │ │ └── ic_launcher.png
│ │ ├── resources.ap_
│ │ └── R.txt
│ ├── gen
│ │ └── com
│ │ └── mogujie
│ │ ├── im
│ │ │ └── libs
│ │ │ └── R.java
│ │ └── tt
│ │ ├── BuildConfig.java
│ │ └── R.java
│ ├── jni
│ │ ├── Android.mk
│ │ ├── Application.mk
│ │ ├── include
│ │ │ ├── Makefile.am
│ │ │ ├── Makefile.in
│ │ │ └── speex
│ │ │ ├── Makefile.am
│ │ │ ├── Makefile.in
│ │ │ ├── speex_bits.h
│ │ │ ├── speex_buffer.h
│ │ │ ├── speex_callbacks.h
│ │ │ ├── speex_config_types.h
│ │ │ ├── speex_config_types.h.in
│ │ │ ├── speex_echo.h
│ │ │ ├── speex.h
│ │ │ ├── speex_header.h
│ │ │ ├── speex_jitter.h
│ │ │ ├── speex_preprocess.h
│ │ │ ├── speex_resampler.h
│ │ │ ├── speex_stereo.h
│ │ │ └── speex_types.h
│ │ ├── libspeex
│ │ │ ├── arch.h
│ │ │ ├── bits.c
│ │ │ ├── buffer.c
│ │ │ ├── cb_search_arm4.h
│ │ │ ├── cb_search_bfin.h
│ │ │ ├── cb_search.c
│ │ │ ├── cb_search.h
│ │ │ ├── cb_search_sse.h
│ │ │ ├── echo_diagnostic.m
│ │ │ ├── exc_10_16_table.c
│ │ │ ├── exc_10_32_table.c
│ │ │ ├── exc_20_32_table.c
│ │ │ ├── exc_5_256_table.c
│ │ │ ├── exc_5_64_table.c
│ │ │ ├── exc_8_128_table.c
│ │ │ ├── fftwrap.c
│ │ │ ├── fftwrap.h
│ │ │ ├── filterbank.c
│ │ │ ├── filterbank.h
│ │ │ ├── filters_arm4.h
│ │ │ ├── filters_bfin.h
│ │ │ ├── filters.c
│ │ │ ├── filters.h
│ │ │ ├── filters_sse.h
│ │ │ ├── fixed_arm4.h
│ │ │ ├── fixed_arm5e.h
│ │ │ ├── fixed_bfin.h
│ │ │ ├── fixed_debug.h
│ │ │ ├── fixed_generic.h
│ │ │ ├── gain_table.c
│ │ │ ├── gain_table_lbr.c
│ │ │ ├── hexc_10_32_table.c
│ │ │ ├── hexc_table.c
│ │ │ ├── high_lsp_tables.c
│ │ │ ├── jitter.c
│ │ │ ├── kiss_fft.c
│ │ │ ├── _kiss_fft_guts.h
│ │ │ ├── kiss_fft.h
│ │ │ ├── kiss_fftr.c
│ │ │ ├── kiss_fftr.h
│ │ │ ├── lpc_bfin.h
│ │ │ ├── lpc.c
│ │ │ ├── lpc.h
│ │ │ ├── lsp_bfin.h
│ │ │ ├── lsp.c
│ │ │ ├── lsp.h
│ │ │ ├── lsp_tables_nb.c
│ │ │ ├── ltp_arm4.h
│ │ │ ├── ltp_bfin.h
│ │ │ ├── ltp.c
│ │ │ ├── ltp.h
│ │ │ ├── ltp_sse.h
│ │ │ ├── Makefile.am
│ │ │ ├── Makefile.in
│ │ │ ├── math_approx.h
│ │ │ ├── mdf.c
│ │ │ ├── misc_bfin.h
│ │ │ ├── modes.c
│ │ │ ├── modes.h
│ │ │ ├── modes_wb.c
│ │ │ ├── nb_celp.c
│ │ │ ├── nb_celp.h
│ │ │ ├── os_support.h
│ │ │ ├── preprocess.c
│ │ │ ├── pseudofloat.h
│ │ │ ├── quant_lsp_bfin.h
│ │ │ ├── quant_lsp.c
│ │ │ ├── quant_lsp.h
│ │ │ ├── resample.c
│ │ │ ├── resample_sse.h
│ │ │ ├── sb_celp.c
│ │ │ ├── sb_celp.h
│ │ │ ├── scal.c
│ │ │ ├── smallft.c
│ │ │ ├── smallft.h
│ │ │ ├── speex.c
│ │ │ ├── speex_callbacks.c
│ │ │ ├── speex_header.c
│ │ │ ├── stack_alloc.h
│ │ │ ├── stereo.c
│ │ │ ├── testdenoise.c
│ │ │ ├── testecho.c
│ │ │ ├── testenc.c
│ │ │ ├── testenc_uwb.c
│ │ │ ├── testenc_wb.c
│ │ │ ├── testjitter.c
│ │ │ ├── vbr.c
│ │ │ ├── vbr.h
│ │ │ ├── vorbis_psy.h
│ │ │ ├── vq_arm4.h
│ │ │ ├── vq_bfin.h
│ │ │ ├── vq.c
│ │ │ ├── vq.h
│ │ │ ├── vq_sse.h
│ │ │ └── window.c
│ │ └── speex_jni.cpp
│ ├── libs
│ │ ├── android-async-http-1.4.6.jar
│ │ ├── armeabi
│ │ │ └── libspeex.so
│ │ ├── armeabi-v7a
│ │ │ └── libspeex.so
│ │ ├── jpinyin-1.0.jar
│ │ ├── netty-3.6.6.Final.jar
│ │ └── universal-image-loader-1.9.3.jar
│ ├── mogujie_android_style.xml
│ ├── project.properties
│ ├── README
│ ├── res
│ │ ├── anim
│ │ │ ├── tt_album_enter.xml
│ │ │ ├── tt_album_exit.xml
│ │ │ ├── tt_image_enter.xml
│ │ │ ├── tt_image_exit.xml
│ │ │ ├── tt_image_left_enter.xml
│ │ │ ├── tt_image_left_exit.xml
│ │ │ ├── tt_speeker_in.xml
│ │ │ ├── tt_speeker_out.xml
│ │ │ ├── tt_stay.xml
│ │ │ ├── tt_stay_x.xml
│ │ │ ├── tt_voice_play_mine.xml
│ │ │ └── tt_voice_play_other.xml
│ │ ├── color
│ │ │ ├── checkbox_background.xml
│ │ │ ├── toggle_checkbox_background.xml
│ │ │ ├── tt_dialog_negative_text_color.xml
│ │ │ └── tt_positive_text_color.xml
│ │ ├── drawable
│ │ │ ├── tt_bgd_relatly_line.xml
│ │ │ ├── tt_bt_nobgd.xml
│ │ │ ├── tt_default_emo_dots.xml
│ │ │ ├── tt_dialog_bg.xml
│ │ │ ├── tt_dialog_negative_btn_bg.xml
│ │ │ ├── tt_dialog_positive_btn_bg.xml
│ │ │ ├── tt_message_cursor.xml
│ │ │ ├── tt_mine_item_bg.xml
│ │ │ ├── tt_other_item_bg.xml
│ │ │ ├── tt_panel_circle.xml
│ │ │ ├── tt_panel_edt_focused.xml
│ │ │ ├── tt_panel_edt_msg_bk.xml
│ │ │ ├── tt_panel_voice_forward.xml
│ │ │ ├── tt_pannel_edt_normal.xml
│ │ │ ├── tt_popup_background.xml
│ │ │ ├── tt_progressbar.xml
│ │ │ ├── tt_search_edt_bk.xml
│ │ │ ├── tt_send_voice_btn_bg.xml
│ │ │ ├── tt_show_emo_btn.xml
│ │ │ └── tt_text_while.xml
│ │ ├── drawable-hdpi
│ │ │ └── tt_loading_circle.png
│ │ ├── drawable-xhdpi
│ │ │ ├── check_box.png
│ │ │ ├── check.png
│ │ │ ├── discussion_group_default.png
│ │ │ ├── group_default.png
│ │ │ ├── im_other_item_bg_normal.9.png
│ │ │ ├── tt_album_arrow.png
│ │ │ ├── tt_album_arrow_sel.png
│ │ │ ├── tt_album_bottom_bar.png
│ │ │ ├── tt_album_img_selected.png
│ │ │ ├── tt_album_img_select_nor.png
│ │ │ ├── tt_album_item_sel_bk.png
│ │ │ ├── tt_back_btn.png
│ │ │ ├── tt_bg_popup_left_nomal.png
│ │ │ ├── tt_bg_popup_left_pressed.png
│ │ │ ├── tt_bg_popup_normal.9.png
│ │ │ ├── tt_bg_popup_pressed.9.png
│ │ │ ├── tt_bg_popup_right_nomal.png
│ │ │ ├── tt_bg_popup_right_pressed.png
│ │ │ ├── tt_chatting_biaoqing_btn_normal.png
│ │ │ ├── tt_clear_bar.png
│ │ │ ├── tt_clock_icon.png
│ │ │ ├── tt_contact_side_search.png
│ │ │ ├── tt_contact_top_left_nor.png
│ │ │ ├── tt_contact_top_left_sel.png
│ │ │ ├── tt_contact_top_right_nor.png
│ │ │ ├── tt_contact_top_right_sel.png
│ │ │ ├── tt_default_album_grid_image.png
│ │ │ ├── tt_default_arrow.png
│ │ │ ├── tt_default_btn_bk.png
│ │ │ ├── tt_default_dot_down.png
│ │ │ ├── tt_default_dot_up.png
│ │ │ ├── tt_default_emo_back_normal.png
│ │ │ ├── tt_default_image_error.png
│ │ │ ├── tt_default_image.png
│ │ │ ├── tt_default_message_error_image.png
│ │ │ ├── tt_default_message_image.png
│ │ │ ├── tt_default_user_portrait_corner.png
│ │ │ ├── tt_dialog_navigative_btn_bg_normal.9.png
│ │ │ ├── tt_dialog_navigative_btn_bg_pressed.9.png
│ │ │ ├── tt_dialog_positive_btn_bg_normal.9.png
│ │ │ ├── tt_dialog_positive_btn_bg_pressed.9.png
│ │ │ ├── tt_e0.png
│ │ │ ├── tt_e10.png
│ │ │ ├── tt_e11.png
│ │ │ ├── tt_e12.png
│ │ │ ├── tt_e13.png
│ │ │ ├── tt_e14.png
│ │ │ ├── tt_e15.png
│ │ │ ├── tt_e16.png
│ │ │ ├── tt_e17.png
│ │ │ ├── tt_e18.png
│ │ │ ├── tt_e19.png
│ │ │ ├── tt_e1.png
│ │ │ ├── tt_e20.png
│ │ │ ├── tt_e21.png
│ │ │ ├── tt_e22.png
│ │ │ ├── tt_e23.png
│ │ │ ├── tt_e24.png
│ │ │ ├── tt_e25.png
│ │ │ ├── tt_e26.png
│ │ │ ├── tt_e27.png
│ │ │ ├── tt_e28.png
│ │ │ ├── tt_e29.png
│ │ │ ├── tt_e2.png
│ │ │ ├── tt_e30.png
│ │ │ ├── tt_e31.png
│ │ │ ├── tt_e32.png
│ │ │ ├── tt_e33.png
│ │ │ ├── tt_e34.png
│ │ │ ├── tt_e35.png
│ │ │ ├── tt_e36.png
│ │ │ ├── tt_e37.png
│ │ │ ├── tt_e38.png
│ │ │ ├── tt_e39.png
│ │ │ ├── tt_e3.png
│ │ │ ├── tt_e40.png
│ │ │ ├── tt_e41.png
│ │ │ ├── tt_e42.png
│ │ │ ├── tt_e43.png
│ │ │ ├── tt_e44.png
│ │ │ ├── tt_e45.png
│ │ │ ├── tt_e4.png
│ │ │ ├── tt_e5.png
│ │ │ ├── tt_e6.png
│ │ │ ├── tt_e7.png
│ │ │ ├── tt_e8.png
│ │ │ ├── tt_e9.png
│ │ │ ├── tt_empty_default_icon.png
│ │ │ ├── tt_empty_no_contact_icon.png
│ │ │ ├── tt_group_manager_add_user.png
│ │ │ ├── tt_ic_launcher.png
│ │ │ ├── tt_login_logo2.png
│ │ │ ├── tt_login_logo.png
│ │ │ ├── tt_login_pwd.png
│ │ │ ├── tt_login_user.png
│ │ │ ├── tt_logo2.png
│ │ │ ├── tt_logo.png
│ │ │ ├── tt_message_notify_double.png
│ │ │ ├── tt_message_notify_single.png
│ │ │ ├── tt_message_text_bg.9.png
│ │ │ ├── tt_message_title_time_bg.9.png
│ │ │ ├── tt_mine_image_default_bk.png
│ │ │ ├── tt_mine_item_bg_normal.9.png
│ │ │ ├── tt_mine_item_bg_pressed.9.png
│ │ │ ├── tt_msg_tip.png
│ │ │ ├── tt_my_message_bkgnd.9.png
│ │ │ ├── tt_other_default_image_bk.9.png
│ │ │ ├── tt_other_image_default_bk.png
│ │ │ ├── tt_other_item_bg_normal.9.png
│ │ │ ├── tt_other_item_bg_pressed.9.png
│ │ │ ├── tt_other_text_background.png
│ │ │ ├── tt_page_item_bk.9.png
│ │ │ ├── tt_page_my_setting.png
│ │ │ ├── tt_pannel_bk.9.png
│ │ │ ├── tt_pannel_btn_voiceforward_normal.9.png
│ │ │ ├── tt_pannel_btn_voiceforward_pressed.9.png
│ │ │ ├── tt_preview_dot_down.png
│ │ │ ├── tt_preview_dot_up.png
│ │ │ ├── tt_search.png
│ │ │ ├── tt_send_message_btn_bg.9.png
│ │ │ ├── tt_send_voice_btn_bg.9.png
│ │ │ ├── tt_send_voice_btn_bg_normal.9.png
│ │ │ ├── tt_send_voice_btn_btn_pressed.9.png
│ │ │ ├── tt_show_add_photo_btn.png
│ │ │ ├── tt_show_head_toast_bg.9.PNG
│ │ │ ├── tt_sound_volume_01.png
│ │ │ ├── tt_sound_volume_02.png
│ │ │ ├── tt_sound_volume_03.png
│ │ │ ├── tt_sound_volume_04.png
│ │ │ ├── tt_sound_volume_05.png
│ │ │ ├── tt_sound_volume_06.png
│ │ │ ├── tt_sound_volume_07.png
│ │ │ ├── tt_sound_volume_cancel_bk.png
│ │ │ ├── tt_sound_volume_default_bk.png
│ │ │ ├── tt_sound_volume_short_tip_bk.png
│ │ │ ├── tt_speeker_tip_bg.png
│ │ │ ├── tt_switch_to_keyboard_btn.png
│ │ │ ├── tt_tab_bk.png
│ │ │ ├── tt_tab_chat_nor.png
│ │ │ ├── tt_tab_chat_sel.png
│ │ │ ├── tt_tab_contact_nor.png
│ │ │ ├── tt_tab_contact_sel.png
│ │ │ ├── tt_tab_innernet_nor.png
│ │ │ ├── tt_tab_innernet_sel.png
│ │ │ ├── tt_tab_me_nor.png
│ │ │ ├── tt_tab_me_sel.png
│ │ │ ├── tt_take_camera_btn_bg.png
│ │ │ ├── tt_take_photo_btn_bg.png
│ │ │ ├── tt_top_back.png
│ │ │ ├── tt_top_default_bk.png
│ │ │ ├── tt_top_right_group_manager.png
│ │ │ ├── tt_top_search.png
│ │ │ ├── tt_unread_message_notify_bg.png
│ │ │ ├── tt_voice_btn_btn.png
│ │ │ ├── tt_voice_node_mine_playing001.png
│ │ │ ├── tt_voice_node_mine_playing002.png
│ │ │ ├── tt_voice_node_mine_playing003.png
│ │ │ ├── tt_voice_node_mine.png
│ │ │ ├── tt_voice_node_other_playing001.png
│ │ │ ├── tt_voice_node_other_playing002.png
│ │ │ ├── tt_voice_node_other_playing003.png
│ │ │ ├── tt_voice_node_other.png
│ │ │ ├── tt_waterfall_refresh_bg.9.png
│ │ │ ├── uncheck_box.png
│ │ │ ├── uncheck.png
│ │ │ └── warning.png
│ │ ├── drawable-xxhdpi
│ │ │ └── ic_launcher.png
│ │ ├── layout
│ │ │ ├── tt_activity_base.xml
│ │ │ ├── tt_activity_groupmanage.xml
│ │ │ ├── tt_activity_group_member_select.xml
│ │ │ ├── tt_activity_image_grid.xml
│ │ │ ├── tt_activity_login.xml
│ │ │ ├── tt_activity_main.xml
│ │ │ ├── tt_activity_message.xml
│ │ │ ├── tt_activity_pick_photo.xml
│ │ │ ├── tt_activity_preview_text.xml
│ │ │ ├── tt_activity_preview.xml
│ │ │ ├── tt_display_image_layout.xml
│ │ │ ├── tt_fragment_activity_chat.xml
│ │ │ ├── tt_fragment_activity_contact.xml
│ │ │ ├── tt_fragment_activity_search.xml
│ │ │ ├── tt_fragment_activity_setting.xml
│ │ │ ├── tt_fragment_activity_userinfo.xml
│ │ │ ├── tt_fragment_base.xml
│ │ │ ├── tt_fragment_chat.xml
│ │ │ ├── tt_fragment_contact.xml
│ │ │ ├── tt_fragment_group_manage.xml
│ │ │ ├── tt_fragment_group_member_select.xml
│ │ │ ├── tt_fragment_internal.xml
│ │ │ ├── tt_fragment_my.xml
│ │ │ ├── tt_fragment_search.xml
│ │ │ ├── tt_fragment_setting.xml
│ │ │ ├── tt_fragment_user_detail.xml
│ │ │ ├── tt_group_manage_grid_item.xml
│ │ │ ├── tt_history_divider_item.xml
│ │ │ ├── tt_image_loadding_layout.xml
│ │ │ ├── tt_item_chat.xml
│ │ │ ├── tt_item_contact.xml
│ │ │ ├── tt_item_image_grid.xml
│ │ │ ├── tt_item_image_pick.xml
│ │ │ ├── tt_item_searchresult.xml
│ │ │ ├── tt_messagelist_header.xml
│ │ │ ├── tt_message_title_time.xml
│ │ │ ├── tt_mine_audio_message_item.xml
│ │ │ ├── tt_mine_image_message_item.xml
│ │ │ ├── tt_mine_text_message_item.xml
│ │ │ ├── tt_navi_tab_button.xml
│ │ │ ├── tt_other_audio_message_item.xml
│ │ │ ├── tt_other_image_message_item.xml
│ │ │ ├── tt_other_text_message_item.xml
│ │ │ ├── tt_popup_item_view.xml
│ │ │ ├── tt_popup_list.xml
│ │ │ ├── tt_progress_ly.xml
│ │ │ ├── tt_progress.xml
│ │ │ ├── tt_sound_volume_dialog.xml
│ │ │ ├── tt_speeker_layout.xml
│ │ │ ├── tt_top_tab_button.xml
│ │ │ ├── tt_top_tab.xml
│ │ │ ├── tt_view_dialog_base.xml
│ │ │ └── tt_voicetip.xml
│ │ ├── values
│ │ │ ├── tt_arrays.xml
│ │ │ ├── tt_color.xml
│ │ │ ├── tt_dimens.xml
│ │ │ ├── tt_ptr_dimens.xml
│ │ │ ├── tt_pull_refresh_strings.xml
│ │ │ ├── tt_strings_activity_contact.xml
│ │ │ ├── tt_strings_activity_login.xml
│ │ │ ├── tt_strings_activity_message.xml
│ │ │ ├── tt_strings_fragment_chat.xml
│ │ │ ├── tt_strings_main_page.xml
│ │ │ ├── tt_strings.xml
│ │ │ └── tt_styles.xml
│ │ ├── values-sw600dp
│ │ │ └── dimens.xml
│ │ ├── values-sw720dp-land
│ │ │ └── dimens.xml
│ │ └── values-w820dp
│ │ └── im_dimens.xml
│ └── src
│ └── com
│ └── mogujie
│ └── tt
│ ├── adapter
│ │ ├── album
│ │ │ ├── AlbumHelper.java
│ │ │ ├── BitmapCache.java
│ │ │ ├── ImageBucketAdapter.java
│ │ │ ├── ImageBucket.java
│ │ │ ├── ImageGridAdapter.java
│ │ │ └── ImageItem.java
│ │ ├── ChatAdapter.java
│ │ ├── ContactAllAdapter.java
│ │ ├── ContactBaseAdapter.java
│ │ ├── ContactDepartmentAdapter.java
│ │ ├── EmoGridViewAdapter.java
│ │ ├── EntityListViewAdapter.java
│ │ ├── GroupAdapter.java
│ │ ├── GroupManagerAdapter.java
│ │ ├── MessageAdapter.java
│ │ ├── SearchAdapter.java
│ │ └── ViewPageAdapter.java
│ ├── app
│ │ └── IMEntrance.java
│ ├── audio
│ │ └── biz
│ │ ├── AudioPlayerHandler.java
│ │ └── AudioRecordHandler.java
│ ├── biz
│ │ ├── ContactHelper.java
│ │ ├── MessageDistCenter.java
│ │ ├── MessageHelper.java
│ │ ├── MessageNotifyCenter.java
│ │ └── SearchHelper.java
│ ├── cache
│ │ ├── AutoCloseable.java
│ │ ├── biz
│ │ │ └── CacheHub.java
│ │ ├── BlockTargetCache.java
│ │ ├── Cache.java
│ │ ├── CacheModel.java
│ │ ├── ContactCacheImpl.java
│ │ ├── Dispatcher.java
│ │ ├── ExpiredCache.java
│ │ ├── IMCacheImpl.java
│ │ ├── MessageCacheImpl.java
│ │ └── UserCacheImpl.java
│ ├── config
│ │ ├── CacheConstant.java
│ │ ├── HandlerConstant.java
│ │ ├── ProtocolConstant.java
│ │ ├── StatisticsConstant.java
│ │ ├── SysConstant.java
│ │ └── TaskConstant.java
│ ├── conn
│ │ ├── ConnectionManager.java
│ │ ├── ConnectionStore.java
│ │ ├── NetStateDispach.java
│ │ └── NetStateManager.java
│ ├── db
│ │ ├── biz
│ │ │ └── DataBaseHelper.java
│ │ ├── ContactModel.java
│ │ ├── DataModel.java
│ │ ├── DBHelper.java
│ │ ├── MessageModel.java
│ │ └── UserModel.java
│ ├── entity
│ │ ├── ContactSortEntity.java
│ │ ├── GroupManagerEntity.java
│ │ ├── IMRecentContact.java
│ │ ├── MessageInfo.java
│ │ ├── MessageList.java
│ │ ├── Pair.java
│ │ ├── RecentInfo.java
│ │ ├── SearchResultItem.java
│ │ ├── ShopMember.java
│ │ ├── TimeTileMessage.java
│ │ ├── Token.java
│ │ ├── UnReadMsgCountInfo.java
│ │ └── User.java
│ ├── exception
│ │ └── BaseException.java
│ ├── https
│ │ └── MoGuHttpClient.java
│ ├── imlib
│ │ ├── common
│ │ │ ├── ConfigDefs.java
│ │ │ └── ErrorCode.java
│ │ ├── db
│ │ │ └── IMDbManager.java
│ │ ├── IMActions.java
│ │ ├── IMApplication.java
│ │ ├── IMBroadcastActions.java
│ │ ├── IMConfigurationManager.java
│ │ ├── IMContactManager.java
│ │ ├── IMGroupManager.java
│ │ ├── IMHeartBeatManager.java
│ │ ├── IMLoginManager.java
│ │ ├── IMManager.java
│ │ ├── IMMessageManager.java
│ │ ├── IMNotificationManager.java
│ │ ├── IMPacketDispatcher.java
│ │ ├── IMRecentSessionManager.java
│ │ ├── IMReconnectManager.java
│ │ ├── IMSession.java
│ │ ├── IMUnAckMsgManager.java
│ │ ├── IMUnreadMsgManager.java
│ │ ├── network
│ │ │ ├── BaseServerHandler.java
│ │ │ ├── LoginServerHandler.java
│ │ │ ├── MsgServerHandler.java
│ │ │ └── SocketThread.java
│ │ ├── proto
│ │ │ ├── AckGroupUnreadMsgPacket.java
│ │ │ ├── AckUnreadMsgPacket.java
│ │ │ ├── AllContactsPacket.java
│ │ │ ├── ChangeTempGroupMemberPacket.java
│ │ │ ├── ContactEntity.java
│ │ │ ├── CreateTempGroupPacket.java
│ │ │ ├── DepartmentEntity.java
│ │ │ ├── DepartmentPacket.java
│ │ │ ├── GroupChangeMemberNotify.java
│ │ │ ├── GroupEntity.java
│ │ │ ├── GroupPacket.java
│ │ │ ├── GroupUnreadMsgPacket.java
│ │ │ ├── GroupUserListPacket.java
│ │ │ ├── HeartBeatPacket.java
│ │ │ ├── LoginPacket.java
│ │ │ ├── MessageEntity.java
│ │ │ ├── MessageNotifyPacket.java
│ │ │ ├── MessagePacket.java
│ │ │ ├── MsgAckEntity.java
│ │ │ ├── MsgServerPacket.java
│ │ │ ├── PacketEncoder.java
│ │ │ ├── RecentContactsPacket.java
│ │ │ ├── UnreadMsgContactListPacket.java
│ │ │ ├── UnreadMsgGroupListPacket.java
│ │ │ └── UnreadMsgPacket.java
│ │ ├── service
│ │ │ └── IMService.java
│ │ └── utils
│ │ ├── DumpUtils.java
│ │ ├── IMContactHelper.java
│ │ ├── IMUIHelper.java
│ │ └── SearchElement.java
│ ├── log
│ │ └── Logger.java
│ ├── logcat.log
│ ├── packet
│ │ ├── action
│ │ │ ├── ActionCallback.java
│ │ │ ├── Action.java
│ │ │ └── ProgressActionCallback.java
│ │ ├── base
│ │ │ ├── DataBuffer.java
│ │ │ ├── DefaultHeader.java
│ │ │ ├── Header.java
│ │ │ └── Packet.java
│ │ ├── MessageDispatchCenter.java
│ │ ├── PacketSendMonitor.java
│ │ ├── SocketMessageQueue.java
│ │ └── WaitingListMonitor.java
│ ├── service
│ │ ├── ConnectionChangeReceiver.java
│ │ ├── IMService.java
│ │ └── StartImServiceReceiver.java
│ ├── socket
│ │ ├── MoGuSocket.java
│ │ ├── SocketHandler.java
│ │ └── SocketStateManager.java
│ ├── support
│ │ └── audio
│ │ ├── AudioFileWriter.java
│ │ ├── OggCrc.java
│ │ ├── OggSpeexWriter.java
│ │ ├── SpeexDecoder.java
│ │ ├── SpeexEncoder.java
│ │ ├── Speex.java
│ │ ├── SpeexWriteClient.java
│ │ └── SpeexWriter.java
│ ├── task
│ │ ├── BaseTask.java
│ │ ├── biz
│ │ │ ├── CheckUserBlockTask.java
│ │ │ ├── DownloadImageTask.java
│ │ │ ├── FinishRecordVoiceTask.java
│ │ │ ├── PushActionToQueueTask.java
│ │ │ ├── SendAudioMessageTask.java
│ │ │ └── UploadImageTask.java
│ │ ├── IProcessing.java
│ │ ├── ITask.java
│ │ ├── MAsyncTask.java
│ │ ├── TaskCallback.java
│ │ ├── TaskCenter.java
│ │ ├── TaskManager.java
│ │ ├── TaskMode.java
│ │ └── TaskTrigger.java
│ ├── timer
│ │ ├── ITimerProcessor.java
│ │ └── TimerHelper.java
│ ├── ui
│ │ ├── activity
│ │ │ ├── ChatFragmentActivity.java
│ │ │ ├── CommonTest.java
│ │ │ ├── ContactFragmentActivity.java
│ │ │ ├── DisplayImageActivity.java
│ │ │ ├── GroupManagermentActivity.java
│ │ │ ├── GroupMemberSelectActivity.java
│ │ │ ├── ImageGridActivity.java
│ │ │ ├── LoginActivity.java
│ │ │ ├── MainActivity.java
│ │ │ ├── MessageActivity.java
│ │ │ ├── PickPhotoActivity.java
│ │ │ ├── PreviewActivity.java
│ │ │ ├── PreviewTextActivity.java
│ │ │ ├── SearchActivity.java
│ │ │ ├── SettingActivity.java
│ │ │ └── UserInfoActivity.java
│ │ ├── base
│ │ │ ├── TTBaseActivity.java
│ │ │ ├── TTBaseFragmentActivity.java
│ │ │ └── TTBaseFragment.java
│ │ ├── fragment
│ │ │ ├── ChatFragment.java
│ │ │ ├── ContactFragment.java
│ │ │ ├── GroupManagerFragment.java
│ │ │ ├── GroupMemberSelectFragment.java
│ │ │ ├── InternalFragment.java
│ │ │ ├── MainFragment.java
│ │ │ ├── MyFragment.java
│ │ │ ├── SearchFragment.java
│ │ │ ├── SettingFragment.java
│ │ │ └── UserInfoFragment.java
│ │ ├── tools
│ │ │ ├── BubbleImageHelper.java
│ │ │ ├── DisplayBitmapCache.java
│ │ │ ├── Emoparser.java
│ │ │ ├── ImageTool.java
│ │ │ ├── MessageBitmapCache.java
│ │ │ └── PhotoHandler.java
│ │ └── utils
│ │ ├── EntityList.java
│ │ ├── IMContactListViewHelper.java
│ │ ├── IMGroupMemberGridViewHelper.java
│ │ ├── IMServiceHelper.java
│ │ └── Md5Helper.java
│ ├── utils
│ │ ├── CharacterParser.java
│ │ ├── CommonUtil.java
│ │ ├── ContactUtils.java
│ │ ├── DateUtil.java
│ │ ├── FileUtil.java
│ │ ├── MessageSplitResult.java
│ │ ├── MsgIdToPositionMap.java
│ │ ├── NetworkUtil.java
│ │ ├── pinyin
│ │ │ ├── HanziToPinyin3.java
│ │ │ └── PinYin.java
│ │ ├── SequenceNumberMaker.java
│ │ ├── SortComparator.java
│ │ └── StringUtil.java
│ └── widget
│ ├── CustomViewPager.java
│ ├── EmoGridView.java
│ ├── GroupManagerGridView.java
│ ├── MessageOperatePopup.java
│ ├── MGDialog.java
│ ├── MGProgressbar.java
│ ├── NaviTabButton.java
│ ├── PinkToast.java
│ ├── SearchEditText.java
│ ├── SortSideBar.java
│ ├── SpeekerToast.java
│ └── TopTabButton.java
├── mgimlibs
│ ├── AndroidManifest.xml
│ ├── bin
│ │ ├── AndroidManifest.xml
│ │ ├── classes
│ │ │ └── com
│ │ │ ├── handmark
│ │ │ │ └── pulltorefresh
│ │ │ │ └── library
│ │ │ │ ├── extras
│ │ │ │ │ ├── PullToRefreshWebView2$JsValueCallback.class
│ │ │ │ │ ├── PullToRefreshWebView2.class
│ │ │ │ │ └── SoundPullEventListener.class
│ │ │ │ ├── ILoadingLayout.class
│ │ │ │ ├── internal
│ │ │ │ │ ├── EmptyViewMethodAccessor.class
│ │ │ │ │ ├── FlipLoadingLayout.class
│ │ │ │ │ ├── IndicatorLayout$1.class
│ │ │ │ │ ├── IndicatorLayout.class
│ │ │ │ │ ├── LoadingLayout.class
│ │ │ │ │ ├── RotateLoadingLayout.class
│ │ │ │ │ ├── Utils.class
│ │ │ │ │ ├── ViewCompat$SDK11.class
│ │ │ │ │ ├── ViewCompat$SDK16.class
│ │ │ │ │ └── ViewCompat.class
│ │ │ │ ├── IPullToRefresh.class
│ │ │ │ ├── LoadingLayoutProxy.class
│ │ │ │ ├── OverscrollHelper.class
│ │ │ │ ├── PullToRefreshAdapterViewBase.class
│ │ │ │ ├── PullToRefreshBase$1.class
│ │ │ │ ├── PullToRefreshBase$2.class
│ │ │ │ ├── PullToRefreshBase$3.class
│ │ │ │ ├── PullToRefreshBase$4.class
│ │ │ │ ├── PullToRefreshBase$AnimationStyle.class
│ │ │ │ ├── PullToRefreshBase$Mode.class
│ │ │ │ ├── PullToRefreshBase$OnLastItemVisibleListener.class
│ │ │ │ ├── PullToRefreshBase$OnPullEventListener.class
│ │ │ │ ├── PullToRefreshBase$OnRefreshListener2.class
│ │ │ │ ├── PullToRefreshBase$OnRefreshListener.class
│ │ │ │ ├── PullToRefreshBase$OnSmoothScrollFinishedListener.class
│ │ │ │ ├── PullToRefreshBase$Orientation.class
│ │ │ │ ├── PullToRefreshBase$SmoothScrollRunnable.class
│ │ │ │ ├── PullToRefreshBase$State.class
│ │ │ │ ├── PullToRefreshBase.class
│ │ │ │ ├── PullToRefreshExpandableListView$InternalExpandableListView.class
│ │ │ │ ├── PullToRefreshExpandableListView$InternalExpandableListViewSDK9.class
│ │ │ │ ├── PullToRefreshExpandableListView.class
│ │ │ │ ├── PullToRefreshGridView$InternalGridView.class
│ │ │ │ ├── PullToRefreshGridView$InternalGridViewSDK9.class
│ │ │ │ ├── PullToRefreshGridView.class
│ │ │ │ ├── PullToRefreshHorizontalScrollView$InternalHorizontalScrollViewSDK9.class
│ │ │ │ ├── PullToRefreshHorizontalScrollView.class
│ │ │ │ ├── PullToRefreshListView$InternalListView.class
│ │ │ │ ├── PullToRefreshListView$InternalListViewSDK9.class
│ │ │ │ ├── PullToRefreshListView.class
│ │ │ │ ├── PullToRefreshListViewForNoneHeaderDivider$InternalListView.class
│ │ │ │ ├── PullToRefreshListViewForNoneHeaderDivider$InternalListViewSDK9.class
│ │ │ │ ├── PullToRefreshListViewForNoneHeaderDivider.class
│ │ │ │ ├── PullToRefreshScrollView$InternalScrollViewSDK9.class
│ │ │ │ ├── PullToRefreshScrollView.class
│ │ │ │ ├── PullToRefreshWebView$1.class
│ │ │ │ ├── PullToRefreshWebView$2.class
│ │ │ │ ├── PullToRefreshWebView$InternalWebViewSDK9.class
│ │ │ │ └── PullToRefreshWebView.class
│ │ │ ├── mogujie
│ │ │ │ ├── im
│ │ │ │ │ └── libs
│ │ │ │ │ ├── BuildConfig.class
│ │ │ │ │ ├── R$anim.class
│ │ │ │ │ ├── R$attr.class
│ │ │ │ │ ├── R$dimen.class
│ │ │ │ │ ├── R$drawable.class
│ │ │ │ │ ├── R$id.class
│ │ │ │ │ ├── R$layout.class
│ │ │ │ │ ├── R$string.class
│ │ │ │ │ ├── R$styleable.class
│ │ │ │ │ └── R.class
│ │ │ │ ├── tools
│ │ │ │ │ ├── EncryptTools.class
│ │ │ │ │ ├── FileIOTools$1.class
│ │ │ │ │ ├── FileIOTools$2.class
│ │ │ │ │ ├── FileIOTools$TimeFlitter.class
│ │ │ │ │ ├── FileIOTools.class
│ │ │ │ │ ├── MGAutoUpdate$1.class
│ │ │ │ │ ├── MGAutoUpdate$2.class
│ │ │ │ │ ├── MGAutoUpdate$3.class
│ │ │ │ │ ├── MGAutoUpdate$4.class
│ │ │ │ │ ├── MGAutoUpdate$OnUpdateFinishListener.class
│ │ │ │ │ ├── MGAutoUpdate$UpdateOnCancleListener.class
│ │ │ │ │ ├── MGAutoUpdate.class
│ │ │ │ │ ├── MGJNotify.class
│ │ │ │ │ ├── MGJPictureRotationCaptchaView$1.class
│ │ │ │ │ ├── MGJPictureRotationCaptchaView$2.class
│ │ │ │ │ ├── MGJPictureRotationCaptchaView$3.class
│ │ │ │ │ ├── MGJPictureRotationCaptchaView$4.class
│ │ │ │ │ ├── MGJPictureRotationCaptchaView$5.class
│ │ │ │ │ ├── MGJPictureRotationCaptchaView$6.class
│ │ │ │ │ ├── MGJPictureRotationCaptchaView$OnLoadFinishListener.class
│ │ │ │ │ ├── MGJPictureRotationCaptchaView.class
│ │ │ │ │ ├── ScreenTools.class
│ │ │ │ │ ├── StringTools.class
│ │ │ │ │ ├── SysInfo.class
│ │ │ │ │ └── TimeTools.class
│ │ │ │ └── widget
│ │ │ │ └── imageview
│ │ │ │ ├── BitmapUtils$Effection.class
│ │ │ │ ├── BitmapUtils.class
│ │ │ │ ├── CircleTransfrom.class
│ │ │ │ ├── FixedProportionImageView.class
│ │ │ │ ├── MGWebCircleImageView.class
│ │ │ │ ├── MGWebImageView$CancelableTarget.class
│ │ │ │ ├── MGWebImageView$TargetCallback.class
│ │ │ │ ├── MGWebImageView.class
│ │ │ │ ├── MGWebImageViewWithCover.class
│ │ │ │ ├── MGWebImageviewWithFixRatio.class
│ │ │ │ ├── MGWebRoundCornerImageView.class
│ │ │ │ └── RoundedCornerTransfrom.class
│ │ │ ├── polites
│ │ │ │ └── android
│ │ │ │ ├── Animation.class
│ │ │ │ ├── Animator.class
│ │ │ │ ├── FlingAnimation.class
│ │ │ │ ├── FlingAnimationListener.class
│ │ │ │ ├── FlingListener.class
│ │ │ │ ├── GestureImageView$1.class
│ │ │ │ ├── GestureImageView.class
│ │ │ │ ├── GestureImageViewListener.class
│ │ │ │ ├── GestureImageViewTouchListener$1.class
│ │ │ │ ├── GestureImageViewTouchListener$2.class
│ │ │ │ ├── GestureImageViewTouchListener$3.class
│ │ │ │ ├── GestureImageViewTouchListener$4.class
│ │ │ │ ├── GestureImageViewTouchListener.class
│ │ │ │ ├── MathUtils.class
│ │ │ │ ├── MoveAnimation.class
│ │ │ │ ├── MoveAnimationListener.class
│ │ │ │ ├── VectorF.class
│ │ │ │ ├── ZoomAnimation.class
│ │ │ │ └── ZoomAnimationListener.class
│ │ │ └── squareup
│ │ │ └── picasso
│ │ │ ├── Action$RequestWeakReference.class
│ │ │ ├── Action.class
│ │ │ ├── AssetBitmapHunter.class
│ │ │ ├── BitmapHunter$1.class
│ │ │ ├── BitmapHunter$2.class
│ │ │ ├── BitmapHunter$3.class
│ │ │ ├── BitmapHunter$4.class
│ │ │ ├── BitmapHunter.class
│ │ │ ├── Cache$1.class
│ │ │ ├── Cache.class
│ │ │ ├── Callback$EmptyCallback.class
│ │ │ ├── Callback.class
│ │ │ ├── ContactsPhotoBitmapHunter$ContactPhotoStreamIcs.class
│ │ │ ├── ContactsPhotoBitmapHunter.class
│ │ │ ├── ContentProviderBitmapHunter.class
│ │ │ ├── ContentStreamBitmapHunter.class
│ │ │ ├── DeferredRequestCreator.class
│ │ │ ├── Dispatcher$DispatcherHandler$1.class
│ │ │ ├── Dispatcher$DispatcherHandler.class
│ │ │ ├── Dispatcher$DispatcherThread.class
│ │ │ ├── Dispatcher$NetworkBroadcastReceiver.class
│ │ │ ├── Dispatcher.class
│ │ │ ├── Downloader$Response.class
│ │ │ ├── Downloader$ResponseException.class
│ │ │ ├── Downloader.class
│ │ │ ├── FetchAction.class
│ │ │ ├── FileBitmapHunter.class
│ │ │ ├── GetAction.class
│ │ │ ├── ImageViewAction.class
│ │ │ ├── LruCache.class
│ │ │ ├── MarkableInputStream.class
│ │ │ ├── MediaStoreBitmapHunter$PicassoKind.class
│ │ │ ├── MediaStoreBitmapHunter.class
│ │ │ ├── NetworkBitmapHunter.class
│ │ │ ├── OkHttpDownloader.class
│ │ │ ├── Picasso$1.class
│ │ │ ├── Picasso$Builder.class
│ │ │ ├── Picasso$CleanupThread$1.class
│ │ │ ├── Picasso$CleanupThread.class
│ │ │ ├── Picasso$Listener.class
│ │ │ ├── Picasso$LoadedFrom.class
│ │ │ ├── Picasso$RequestTransformer$1.class
│ │ │ ├── Picasso$RequestTransformer.class
│ │ │ ├── Picasso.class
│ │ │ ├── PicassoDrawable.class
│ │ │ ├── PicassoExecutorService.class
│ │ │ ├── Request$Builder.class
│ │ │ ├── Request.class
│ │ │ ├── RequestCreator.class
│ │ │ ├── ResourceBitmapHunter.class
│ │ │ ├── Stats$StatsHandler$1.class
│ │ │ ├── Stats$StatsHandler.class
│ │ │ ├── Stats.class
│ │ │ ├── StatsSnapshot.class
│ │ │ ├── TargetAction.class
│ │ │ ├── Target.class
│ │ │ ├── Transformation.class
│ │ │ ├── UrlConnectionDownloader$ResponseCacheIcs.class
│ │ │ ├── UrlConnectionDownloader.class
│ │ │ ├── Utils$ActivityManagerHoneycomb.class
│ │ │ ├── Utils$BitmapHoneycombMR1.class
│ │ │ ├── Utils$OkHttpLoaderCreator.class
│ │ │ ├── Utils$PicassoThread.class
│ │ │ ├── Utils$PicassoThreadFactory.class
│ │ │ └── Utils.class
│ │ ├── jarlist.cache
│ │ ├── mgimlibs.jar
│ │ ├── res
│ │ │ └── crunch
│ │ │ └── drawable-xhdpi
│ │ │ ├── default_ptr_flip.png
│ │ │ ├── default_ptr_rotate.png
│ │ │ ├── ic_launcher.png
│ │ │ ├── indicator_arrow.png
│ │ │ ├── pull_to_refresh_indicator.png
│ │ │ ├── shadow_bottom.png
│ │ │ ├── shadow_left.png
│ │ │ └── shadow_right.png
│ │ └── R.txt
│ ├── gen
│ │ └── com
│ │ └── mogujie
│ │ └── im
│ │ └── libs
│ │ ├── BuildConfig.java
│ │ └── R.java
│ ├── libs
│ │ ├── android-support-v4.jar
│ │ └── okhttp-1.3.0-jar-with-dependencies.jar
│ ├── project.properties
│ ├── README
│ ├── res
│ │ ├── anim
│ │ │ ├── slide_in_from_bottom.xml
│ │ │ ├── slide_in_from_top.xml
│ │ │ ├── slide_out_to_bottom.xml
│ │ │ └── slide_out_to_top.xml
│ │ ├── drawable
│ │ │ ├── captcha_lib_image_layout_shape.xml
│ │ │ ├── indicator_bg_bottom.xml
│ │ │ ├── indicator_bg_top.xml
│ │ │ └── pull_to_refresh_indicator_bg.xml
│ │ ├── drawable-xhdpi
│ │ │ ├── default_ptr_flip.png
│ │ │ ├── default_ptr_rotate.png
│ │ │ ├── ic_launcher.png
│ │ │ ├── indicator_arrow.png
│ │ │ ├── pull_to_refresh_indicator.png
│ │ │ ├── shadow_bottom.png
│ │ │ ├── shadow_left.png
│ │ │ └── shadow_right.png
│ │ ├── layout
│ │ │ ├── picutre_borad.xml
│ │ │ ├── pull_refresh_scroll_view.xml
│ │ │ ├── pull_to_refresh_header_horizontal.xml
│ │ │ └── pull_to_refresh_header_vertical.xml
│ │ └── values
│ │ ├── lib_attrs.xml
│ │ ├── prs_dimens.xml
│ │ ├── prs_strings.xml
│ │ ├── prs_styles.xml
│ │ ├── ptr_attrs.xml
│ │ ├── ptr_dimens.xml
│ │ ├── ptr_ids.xml
│ │ ├── pull_refresh_strings.xml
│ │ └── strings.xml
│ └── src
│ └── com
│ ├── handmark
│ │ └── pulltorefresh
│ │ └── library
│ │ ├── extras
│ │ │ ├── PullToRefreshWebView2.java
│ │ │ └── SoundPullEventListener.java
│ │ ├── ILoadingLayout.java
│ │ ├── internal
│ │ │ ├── EmptyViewMethodAccessor.java
│ │ │ ├── FlipLoadingLayout.java
│ │ │ ├── IndicatorLayout.java
│ │ │ ├── LoadingLayout.java
│ │ │ ├── RotateLoadingLayout.java
│ │ │ ├── Utils.java
│ │ │ └── ViewCompat.java
│ │ ├── IPullToRefresh.java
│ │ ├── LoadingLayoutProxy.java
│ │ ├── OverscrollHelper.java
│ │ ├── PullToRefreshAdapterViewBase.java
│ │ ├── PullToRefreshBase.java
│ │ ├── PullToRefreshExpandableListView.java
│ │ ├── PullToRefreshGridView.java
│ │ ├── PullToRefreshHorizontalScrollView.java
│ │ ├── PullToRefreshListViewForNoneHeaderDivider.java
│ │ ├── PullToRefreshListView.java
│ │ ├── PullToRefreshScrollView.java
│ │ └── PullToRefreshWebView.java
│ ├── mogujie
│ │ ├── tools
│ │ │ ├── EncryptTools.java
│ │ │ ├── FileIOTools.java
│ │ │ ├── MGAutoUpdate.java
│ │ │ ├── MGJNotify.java
│ │ │ ├── MGJPictureRotationCaptchaView.java
│ │ │ ├── ScreenTools.java
│ │ │ ├── StringTools.java
│ │ │ ├── SysInfo.java
│ │ │ └── TimeTools.java
│ │ └── widget
│ │ └── imageview
│ │ ├── BitmapUtils.java
│ │ ├── CircleTransfrom.java
│ │ ├── FixedProportionImageView.java
│ │ ├── MGWebCircleImageView.java
│ │ ├── MGWebImageView.java
│ │ ├── MGWebImageViewWithCover.java
│ │ ├── MGWebImageviewWithFixRatio.java
│ │ ├── MGWebRoundCornerImageView.java
│ │ └── RoundedCornerTransfrom.java
│ ├── polites
│ │ └── android
│ │ ├── Animation.java
│ │ ├── Animator.java
│ │ ├── FlingAnimation.java
│ │ ├── FlingAnimationListener.java
│ │ ├── FlingListener.java
│ │ ├── GestureImageView.java
│ │ ├── GestureImageViewListener.java
│ │ ├── GestureImageViewTouchListener.java
│ │ ├── MathUtils.java
│ │ ├── MoveAnimation.java
│ │ ├── MoveAnimationListener.java
│ │ ├── VectorF.java
│ │ ├── ZoomAnimation.java
│ │ └── ZoomAnimationListener.java
│ └── squareup
│ └── picasso
│ ├── Action.java
│ ├── AssetBitmapHunter.java
│ ├── BitmapHunter.java
│ ├── Cache.java
│ ├── Callback.java
│ ├── ContactsPhotoBitmapHunter.java
│ ├── ContentProviderBitmapHunter.java
│ ├── ContentStreamBitmapHunter.java
│ ├── DeferredRequestCreator.java
│ ├── Dispatcher.java
│ ├── Downloader.java
│ ├── FetchAction.java
│ ├── FileBitmapHunter.java
│ ├── GetAction.java
│ ├── ImageViewAction.java
│ ├── LruCache.java
│ ├── MarkableInputStream.java
│ ├── MediaStoreBitmapHunter.java
│ ├── NetworkBitmapHunter.java
│ ├── OkHttpDownloader.java
│ ├── PicassoDrawable.java
│ ├── PicassoExecutorService.java
│ ├── Picasso.java
│ ├── RequestCreator.java
│ ├── Request.java
│ ├── ResourceBitmapHunter.java
│ ├── Stats.java
│ ├── StatsSnapshot.java
│ ├── TargetAction.java
│ ├── Target.java
│ ├── Transformation.java
│ ├── UrlConnectionDownloader.java
│ └── Utils.java
└── README.md
177 directories, 1600 files
蘑菇街 TeamTalk android源码 一同开源的还有php和win的服务端源码,客户端有Mac、Windows、iOS和Android四个版本源码,该IM软件适合中小型企业用户,支持单聊和群聊,提供文字、表情和图片的富文本实时聊天功能,支持多平台客户端同时登陆,以及各平台之间消息的同步推送
【实例截图】
【核心代码】
TTAndroidClient
└── TTAndroidClient
├── mgandroid-teamtalk
│ ├── AndroidManifest.xml
│ ├── bin
│ │ ├── AndroidManifest.xml
│ │ ├── classes
│ │ │ └── com
│ │ │ └── mogujie
│ │ │ ├── im
│ │ │ │ └── libs
│ │ │ │ ├── R$anim.class
│ │ │ │ ├── R$attr.class
│ │ │ │ ├── R$dimen.class
│ │ │ │ ├── R$drawable.class
│ │ │ │ ├── R$id.class
│ │ │ │ ├── R$layout.class
│ │ │ │ ├── R$string.class
│ │ │ │ ├── R$styleable.class
│ │ │ │ └── R.class
│ │ │ └── tt
│ │ │ ├── adapter
│ │ │ │ ├── album
│ │ │ │ │ ├── AlbumHelper.class
│ │ │ │ │ ├── BitmapCache$1$1.class
│ │ │ │ │ ├── BitmapCache$1.class
│ │ │ │ │ ├── BitmapCache$ImageCallback.class
│ │ │ │ │ ├── BitmapCache.class
│ │ │ │ │ ├── ImageBucketAdapter$1.class
│ │ │ │ │ ├── ImageBucketAdapter$Holder.class
│ │ │ │ │ ├── ImageBucketAdapter.class
│ │ │ │ │ ├── ImageBucket.class
│ │ │ │ │ ├── ImageGridAdapter$1.class
│ │ │ │ │ ├── ImageGridAdapter$2.class
│ │ │ │ │ ├── ImageGridAdapter$Holder.class
│ │ │ │ │ ├── ImageGridAdapter$TextCallback.class
│ │ │ │ │ ├── ImageGridAdapter.class
│ │ │ │ │ └── ImageItem.class
│ │ │ │ ├── ChatAdapter$ContactViewHolder.class
│ │ │ │ ├── ChatAdapter.class
│ │ │ │ ├── ContactAllAdapter$1.class
│ │ │ │ ├── ContactAllAdapter$2.class
│ │ │ │ ├── ContactAllAdapter$PositionInfo.class
│ │ │ │ ├── ContactAllAdapter$ViewHolder.class
│ │ │ │ ├── ContactAllAdapter.class
│ │ │ │ ├── ContactBaseAdapter.class
│ │ │ │ ├── ContactDepartmentAdapter$ViewHolder.class
│ │ │ │ ├── ContactDepartmentAdapter.class
│ │ │ │ ├── EmoGridViewAdapter$GridViewHolder.class
│ │ │ │ ├── EmoGridViewAdapter.class
│ │ │ │ ├── EntityListViewAdapter$PositionInfo.class
│ │ │ │ ├── EntityListViewAdapter$ViewHolder.class
│ │ │ │ ├── EntityListViewAdapter.class
│ │ │ │ ├── GroupAdapter$ViewHolder.class
│ │ │ │ ├── GroupAdapter.class
│ │ │ │ ├── GroupManagerAdapter$1.class
│ │ │ │ ├── GroupManagerAdapter$GroupHolder.class
│ │ │ │ ├── GroupManagerAdapter$OnDeleteItemListener.class
│ │ │ │ ├── GroupManagerAdapter.class
│ │ │ │ ├── MessageAdapter$1.class
│ │ │ │ ├── MessageAdapter$2.class
│ │ │ │ ├── MessageAdapter$3.class
│ │ │ │ ├── MessageAdapter$4.class
│ │ │ │ ├── MessageAdapter$5.class
│ │ │ │ ├── MessageAdapter$AudioMessageHolder.class
│ │ │ │ ├── MessageAdapter$BtnImageListener$1.class
│ │ │ │ ├── MessageAdapter$BtnImageListener.class
│ │ │ │ ├── MessageAdapter$ImageMessageHolder.class
│ │ │ │ ├── MessageAdapter$MessageHolderBase.class
│ │ │ │ ├── MessageAdapter$onDoubleClick.class
│ │ │ │ ├── MessageAdapter$OperateItemClickListener.class
│ │ │ │ ├── MessageAdapter$TextMessageHolder.class
│ │ │ │ ├── MessageAdapter$TimeTitleMessageHodler.class
│ │ │ │ ├── MessageAdapter.class
│ │ │ │ ├── SearchAdapter$SearchViewHolder.class
│ │ │ │ ├── SearchAdapter.class
│ │ │ │ └── ViewPageAdapter.class
│ │ │ ├── app
│ │ │ │ └── IMEntrance.class
│ │ │ ├── audio
│ │ │ │ └── biz
│ │ │ │ ├── AudioPlayerHandler$RecordPlayThread.class
│ │ │ │ ├── AudioPlayerHandler.class
│ │ │ │ └── AudioRecordHandler.class
│ │ │ ├── biz
│ │ │ │ ├── ContactHelper.class
│ │ │ │ ├── MessageDistCenter.class
│ │ │ │ ├── MessageHelper$1.class
│ │ │ │ ├── MessageHelper$2.class
│ │ │ │ ├── MessageHelper.class
│ │ │ │ ├── MessageNotifyCenter.class
│ │ │ │ └── SearchHelper.class
│ │ │ ├── BuildConfig.class
│ │ │ ├── cache
│ │ │ │ ├── AutoCloseable.class
│ │ │ │ ├── biz
│ │ │ │ │ └── CacheHub.class
│ │ │ │ ├── BlockTargetCache.class
│ │ │ │ ├── Cache.class
│ │ │ │ ├── CacheModel.class
│ │ │ │ ├── ContactCacheImpl.class
│ │ │ │ ├── Dispatcher.class
│ │ │ │ ├── ExpiredCache.class
│ │ │ │ ├── IMCacheImpl.class
│ │ │ │ ├── MessageCacheImpl.class
│ │ │ │ └── UserCacheImpl.class
│ │ │ ├── config
│ │ │ │ ├── CacheConstant.class
│ │ │ │ ├── HandlerConstant.class
│ │ │ │ ├── ProtocolConstant$ProtocolDumper.class
│ │ │ │ ├── ProtocolConstant.class
│ │ │ │ ├── StatisticsConstant$EventID.class
│ │ │ │ ├── StatisticsConstant.class
│ │ │ │ ├── SysConstant.class
│ │ │ │ └── TaskConstant.class
│ │ │ ├── conn
│ │ │ │ ├── ConnectionManager$SingletonHolder.class
│ │ │ │ ├── ConnectionManager.class
│ │ │ │ ├── ConnectionStore$SingletonHolder.class
│ │ │ │ ├── ConnectionStore.class
│ │ │ │ ├── NetStateDispach.class
│ │ │ │ ├── NetStateManager$SingletonHolder.class
│ │ │ │ └── NetStateManager.class
│ │ │ ├── db
│ │ │ │ ├── biz
│ │ │ │ │ └── DataBaseHelper.class
│ │ │ │ ├── ContactModel.class
│ │ │ │ ├── DataModel.class
│ │ │ │ ├── DBHelper.class
│ │ │ │ ├── MessageModel.class
│ │ │ │ └── UserModel.class
│ │ │ ├── entity
│ │ │ │ ├── ContactSortEntity.class
│ │ │ │ ├── GroupManagerEntity.class
│ │ │ │ ├── IMRecentContact.class
│ │ │ │ ├── MessageInfo.class
│ │ │ │ ├── MessageList.class
│ │ │ │ ├── Pair.class
│ │ │ │ ├── RecentInfo.class
│ │ │ │ ├── SearchResultItem.class
│ │ │ │ ├── ShopMember.class
│ │ │ │ ├── TimeTileMessage.class
│ │ │ │ ├── Token.class
│ │ │ │ ├── UnReadMsgCountInfo.class
│ │ │ │ └── User.class
│ │ │ ├── exception
│ │ │ │ └── BaseException.class
│ │ │ ├── https
│ │ │ │ └── MoGuHttpClient.class
│ │ │ ├── imlib
│ │ │ │ ├── common
│ │ │ │ │ ├── ConfigDefs.class
│ │ │ │ │ └── ErrorCode.class
│ │ │ │ ├── db
│ │ │ │ │ ├── IMDbManager$LoginIdentity.class
│ │ │ │ │ └── IMDbManager.class
│ │ │ │ ├── IMActions.class
│ │ │ │ ├── IMApplication.class
│ │ │ │ ├── IMBroadcastActions.class
│ │ │ │ ├── IMConfigurationManager.class
│ │ │ │ ├── IMContactManager.class
│ │ │ │ ├── IMGroupManager.class
│ │ │ │ ├── IMHeartBeatManager.class
│ │ │ │ ├── IMLoginManager$1.class
│ │ │ │ ├── IMLoginManager.class
│ │ │ │ ├── IMManager.class
│ │ │ │ ├── IMMessageManager$1.class
│ │ │ │ ├── IMMessageManager.class
│ │ │ │ ├── IMNotificationManager$1.class
│ │ │ │ ├── IMNotificationManager.class
│ │ │ │ ├── IMPacketDispatcher.class
│ │ │ │ ├── IMRecentSessionManager.class
│ │ │ │ ├── IMReconnectManager.class
│ │ │ │ ├── IMSession.class
│ │ │ │ ├── IMUnAckMsgManager$1.class
│ │ │ │ ├── IMUnAckMsgManager$UnAckMsg.class
│ │ │ │ ├── IMUnAckMsgManager.class
│ │ │ │ ├── IMUnreadMsgManager.class
│ │ │ │ ├── network
│ │ │ │ │ ├── BaseServerHandler.class
│ │ │ │ │ ├── LoginServerHandler.class
│ │ │ │ │ ├── MsgServerHandler.class
│ │ │ │ │ ├── SocketThread$1.class
│ │ │ │ │ └── SocketThread.class
│ │ │ │ ├── proto
│ │ │ │ │ ├── AckGroupUnreadMsgPacket$PacketRequest.class
│ │ │ │ │ ├── AckGroupUnreadMsgPacket$PacketResponse.class
│ │ │ │ │ ├── AckGroupUnreadMsgPacket.class
│ │ │ │ │ ├── AckUnreadMsgPacket$PacketRequest.class
│ │ │ │ │ ├── AckUnreadMsgPacket$PacketResponse.class
│ │ │ │ │ ├── AckUnreadMsgPacket.class
│ │ │ │ │ ├── AllContactsPacket$PacketRequest.class
│ │ │ │ │ ├── AllContactsPacket$PacketResponse.class
│ │ │ │ │ ├── AllContactsPacket.class
│ │ │ │ │ ├── ChangeTempGroupMemberPacket$PacketRequest$Entity.class
│ │ │ │ │ ├── ChangeTempGroupMemberPacket$PacketRequest.class
│ │ │ │ │ ├── ChangeTempGroupMemberPacket$PacketResponse$Entity.class
│ │ │ │ │ ├── ChangeTempGroupMemberPacket$PacketResponse.class
│ │ │ │ │ ├── ChangeTempGroupMemberPacket.class
│ │ │ │ │ ├── ContactEntity.class
│ │ │ │ │ ├── CreateTempGroupPacket$PacketRequest.class
│ │ │ │ │ ├── CreateTempGroupPacket$PacketResponse.class
│ │ │ │ │ ├── CreateTempGroupPacket.class
│ │ │ │ │ ├── DepartmentEntity.class
│ │ │ │ │ ├── DepartmentPacket$PacketRequest.class
│ │ │ │ │ ├── DepartmentPacket$PacketResponse.class
│ │ │ │ │ ├── DepartmentPacket.class
│ │ │ │ │ ├── GroupChangeMemberNotify$PacketRequest$Entity.class
│ │ │ │ │ ├── GroupChangeMemberNotify$PacketRequest.class
│ │ │ │ │ ├── GroupChangeMemberNotify$PacketResponse$Entity.class
│ │ │ │ │ ├── GroupChangeMemberNotify$PacketResponse.class
│ │ │ │ │ ├── GroupChangeMemberNotify.class
│ │ │ │ │ ├── GroupEntity.class
│ │ │ │ │ ├── GroupPacket$PacketRequest.class
│ │ │ │ │ ├── GroupPacket$PacketResponse.class
│ │ │ │ │ ├── GroupPacket.class
│ │ │ │ │ ├── GroupUnreadMsgPacket$PacketRequest$Entity.class
│ │ │ │ │ ├── GroupUnreadMsgPacket$PacketRequest.class
│ │ │ │ │ ├── GroupUnreadMsgPacket$PacketResponse.class
│ │ │ │ │ ├── GroupUnreadMsgPacket.class
│ │ │ │ │ ├── GroupUserListPacket$PacketRequest$Entity.class
│ │ │ │ │ ├── GroupUserListPacket$PacketRequest.class
│ │ │ │ │ ├── GroupUserListPacket$PacketResponse$Entity.class
│ │ │ │ │ ├── GroupUserListPacket$PacketResponse.class
│ │ │ │ │ ├── GroupUserListPacket.class
│ │ │ │ │ ├── HeartBeatPacket$HeartBeatRequest.class
│ │ │ │ │ ├── HeartBeatPacket$HeartBeatResponse.class
│ │ │ │ │ ├── HeartBeatPacket.class
│ │ │ │ │ ├── LoginPacket$LoginRequest.class
│ │ │ │ │ ├── LoginPacket$LoginResponse.class
│ │ │ │ │ ├── LoginPacket.class
│ │ │ │ │ ├── MessageEntity$AudioInfo.class
│ │ │ │ │ ├── MessageEntity$PicInfo.class
│ │ │ │ │ ├── MessageEntity.class
│ │ │ │ │ ├── MessageNotifyPacket$PacketAck.class
│ │ │ │ │ ├── MessageNotifyPacket$packetNotify.class
│ │ │ │ │ ├── MessageNotifyPacket.class
│ │ │ │ │ ├── MessagePacket$PacketRequest.class
│ │ │ │ │ ├── MessagePacket$PacketResponse.class
│ │ │ │ │ ├── MessagePacket.class
│ │ │ │ │ ├── MsgAckEntity.class
│ │ │ │ │ ├── MsgServerPacket$MsgServerRequest.class
│ │ │ │ │ ├── MsgServerPacket$MsgServerResponse.class
│ │ │ │ │ ├── MsgServerPacket.class
│ │ │ │ │ ├── PacketEncoder.class
│ │ │ │ │ ├── RecentContactsPacket$PacketRequest.class
│ │ │ │ │ ├── RecentContactsPacket$PacketResponse.class
│ │ │ │ │ ├── RecentContactsPacket$UserEntity.class
│ │ │ │ │ ├── RecentContactsPacket.class
│ │ │ │ │ ├── UnreadMsgContactListPacket$PacketRequest.class
│ │ │ │ │ ├── UnreadMsgContactListPacket$PacketResponse.class
│ │ │ │ │ ├── UnreadMsgContactListPacket.class
│ │ │ │ │ ├── UnreadMsgGroupListPacket$PacketRequest.class
│ │ │ │ │ ├── UnreadMsgGroupListPacket$PacketResponse$Entity.class
│ │ │ │ │ ├── UnreadMsgGroupListPacket$PacketResponse.class
│ │ │ │ │ ├── UnreadMsgGroupListPacket.class
│ │ │ │ │ ├── UnreadMsgPacket$PacketRequest.class
│ │ │ │ │ ├── UnreadMsgPacket$PacketResponse.class
│ │ │ │ │ └── UnreadMsgPacket.class
│ │ │ │ ├── service
│ │ │ │ │ ├── IMService$IMServiceBinder.class
│ │ │ │ │ └── IMService.class
│ │ │ │ └── utils
│ │ │ │ ├── DumpUtils.class
│ │ │ │ ├── IMContactHelper.class
│ │ │ │ ├── IMUIHelper$1.class
│ │ │ │ ├── IMUIHelper$2.class
│ │ │ │ ├── IMUIHelper$ContactPinyinComparator.class
│ │ │ │ ├── IMUIHelper$DepartmentPinyinComparator.class
│ │ │ │ ├── IMUIHelper$GroupPinyinComparator.class
│ │ │ │ ├── IMUIHelper$SessionInfo.class
│ │ │ │ ├── IMUIHelper.class
│ │ │ │ └── SearchElement.class
│ │ │ ├── log
│ │ │ │ └── Logger.class
│ │ │ ├── logcat.log
│ │ │ ├── packet
│ │ │ │ ├── action
│ │ │ │ │ ├── Action$Builder.class
│ │ │ │ │ ├── ActionCallback.class
│ │ │ │ │ ├── Action.class
│ │ │ │ │ └── ProgressActionCallback.class
│ │ │ │ ├── base
│ │ │ │ │ ├── DataBuffer.class
│ │ │ │ │ ├── DefaultHeader.class
│ │ │ │ │ ├── Header.class
│ │ │ │ │ ├── Packet$Ack.class
│ │ │ │ │ ├── Packet$Notify.class
│ │ │ │ │ ├── Packet$Request.class
│ │ │ │ │ ├── Packet$Response.class
│ │ │ │ │ └── Packet.class
│ │ │ │ ├── MessageDispatchCenter$1.class
│ │ │ │ ├── MessageDispatchCenter$SingletonHolder.class
│ │ │ │ ├── MessageDispatchCenter.class
│ │ │ │ ├── PacketSendMonitor$Monitor.class
│ │ │ │ ├── PacketSendMonitor.class
│ │ │ │ ├── SocketMessageQueue$1.class
│ │ │ │ ├── SocketMessageQueue$SingletonHolder.class
│ │ │ │ ├── SocketMessageQueue.class
│ │ │ │ ├── WaitingListMonitor$Monitor.class
│ │ │ │ ├── WaitingListMonitor$MonitorHandler.class
│ │ │ │ └── WaitingListMonitor.class
│ │ │ ├── R$anim.class
│ │ │ ├── R$array.class
│ │ │ ├── R$attr.class
│ │ │ ├── R$color.class
│ │ │ ├── R$dimen.class
│ │ │ ├── R$drawable.class
│ │ │ ├── R$id.class
│ │ │ ├── R$layout.class
│ │ │ ├── R$string.class
│ │ │ ├── R$styleable.class
│ │ │ ├── R$style.class
│ │ │ ├── R.class
│ │ │ ├── service
│ │ │ │ ├── ConnectionChangeReceiver.class
│ │ │ │ ├── IMService.class
│ │ │ │ └── StartImServiceReceiver.class
│ │ │ ├── socket
│ │ │ │ ├── MoGuSocket$1.class
│ │ │ │ ├── MoGuSocket.class
│ │ │ │ ├── SocketHandler.class
│ │ │ │ ├── SocketStateManager$SingletonHolder.class
│ │ │ │ └── SocketStateManager.class
│ │ │ ├── support
│ │ │ │ └── audio
│ │ │ │ ├── AudioFileWriter.class
│ │ │ │ ├── OggCrc.class
│ │ │ │ ├── OggSpeexWriter.class
│ │ │ │ ├── Speex.class
│ │ │ │ ├── SpeexDecoder.class
│ │ │ │ ├── SpeexEncoder$ReadData.class
│ │ │ │ ├── SpeexEncoder.class
│ │ │ │ ├── SpeexWriteClient.class
│ │ │ │ ├── SpeexWriter$processedData.class
│ │ │ │ └── SpeexWriter.class
│ │ │ ├── task
│ │ │ │ ├── BaseTask.class
│ │ │ │ ├── biz
│ │ │ │ │ ├── CheckUserBlockTask.class
│ │ │ │ │ ├── DownloadImageTask.class
│ │ │ │ │ ├── FinishRecordVoiceTask.class
│ │ │ │ │ ├── PushActionToQueueTask.class
│ │ │ │ │ ├── SendAudioMessageTask.class
│ │ │ │ │ └── UploadImageTask.class
│ │ │ │ ├── IProcessing.class
│ │ │ │ ├── ITask.class
│ │ │ │ ├── MAsyncTask.class
│ │ │ │ ├── TaskCallback.class
│ │ │ │ ├── TaskCenter.class
│ │ │ │ ├── TaskManager.class
│ │ │ │ ├── TaskMode.class
│ │ │ │ ├── TaskTrigger$1.class
│ │ │ │ └── TaskTrigger.class
│ │ │ ├── timer
│ │ │ │ ├── ITimerProcessor.class
│ │ │ │ ├── TimerHelper$1.class
│ │ │ │ └── TimerHelper.class
│ │ │ ├── ui
│ │ │ │ ├── activity
│ │ │ │ │ ├── ChatFragmentActivity.class
│ │ │ │ │ ├── CommonTest$1.class
│ │ │ │ │ ├── CommonTest$1ClientHandler.class
│ │ │ │ │ ├── CommonTest$1DiscardServerHandler.class
│ │ │ │ │ ├── CommonTest$2.class
│ │ │ │ │ ├── CommonTest.class
│ │ │ │ │ ├── ContactFragmentActivity.class
│ │ │ │ │ ├── DisplayImageActivity$1.class
│ │ │ │ │ ├── DisplayImageActivity$2.class
│ │ │ │ │ ├── DisplayImageActivity$3.class
│ │ │ │ │ ├── DisplayImageActivity$4.class
│ │ │ │ │ ├── DisplayImageActivity.class
│ │ │ │ │ ├── GroupManagermentActivity.class
│ │ │ │ │ ├── GroupMemberSelectActivity.class
│ │ │ │ │ ├── ImageGridActivity$1.class
│ │ │ │ │ ├── ImageGridActivity$2.class
│ │ │ │ │ ├── ImageGridActivity$3.class
│ │ │ │ │ ├── ImageGridActivity$4.class
│ │ │ │ │ ├── ImageGridActivity$5.class
│ │ │ │ │ ├── ImageGridActivity$6.class
│ │ │ │ │ ├── ImageGridActivity$7.class
│ │ │ │ │ ├── ImageGridActivity$8.class
│ │ │ │ │ ├── ImageGridActivity.class
│ │ │ │ │ ├── LoginActivity$1.class
│ │ │ │ │ ├── LoginActivity$2.class
│ │ │ │ │ ├── LoginActivity.class
│ │ │ │ │ ├── MainActivity$1.class
│ │ │ │ │ ├── MainActivity.class
│ │ │ │ │ ├── MessageActivity$10.class
│ │ │ │ │ ├── MessageActivity$11.class
│ │ │ │ │ ├── MessageActivity$1.class
│ │ │ │ │ ├── MessageActivity$2.class
│ │ │ │ │ ├── MessageActivity$3.class
│ │ │ │ │ ├── MessageActivity$4.class
│ │ │ │ │ ├── MessageActivity$5.class
│ │ │ │ │ ├── MessageActivity$6.class
│ │ │ │ │ ├── MessageActivity$7.class
│ │ │ │ │ ├── MessageActivity$8.class
│ │ │ │ │ ├── MessageActivity$9.class
│ │ │ │ │ ├── MessageActivity.class
│ │ │ │ │ ├── PickPhotoActivity$1.class
│ │ │ │ │ ├── PickPhotoActivity$2.class
│ │ │ │ │ ├── PickPhotoActivity$3.class
│ │ │ │ │ ├── PickPhotoActivity.class
│ │ │ │ │ ├── PreviewActivity$1.class
│ │ │ │ │ ├── PreviewActivity$2.class
│ │ │ │ │ ├── PreviewActivity$3.class
│ │ │ │ │ ├── PreviewActivity$PreviewAdapter.class
│ │ │ │ │ ├── PreviewActivity.class
│ │ │ │ │ ├── PreviewTextActivity$1.class
│ │ │ │ │ ├── PreviewTextActivity.class
│ │ │ │ │ ├── SearchActivity.class
│ │ │ │ │ ├── SettingActivity.class
│ │ │ │ │ └── UserInfoActivity.class
│ │ │ │ ├── base
│ │ │ │ │ ├── TTBaseActivity.class
│ │ │ │ │ ├── TTBaseFragment$1.class
│ │ │ │ │ ├── TTBaseFragmentActivity.class
│ │ │ │ │ └── TTBaseFragment.class
│ │ │ │ ├── fragment
│ │ │ │ │ ├── ChatFragment$1.class
│ │ │ │ │ ├── ChatFragment$2.class
│ │ │ │ │ ├── ChatFragment$3.class
│ │ │ │ │ ├── ChatFragment$4.class
│ │ │ │ │ ├── ChatFragment.class
│ │ │ │ │ ├── ContactFragment$1.class
│ │ │ │ │ ├── ContactFragment$2.class
│ │ │ │ │ ├── ContactFragment$3.class
│ │ │ │ │ ├── ContactFragment$4.class
│ │ │ │ │ ├── ContactFragment$5.class
│ │ │ │ │ ├── ContactFragment$6.class
│ │ │ │ │ ├── ContactFragment.class
│ │ │ │ │ ├── GroupManagerFragment$1.class
│ │ │ │ │ ├── GroupManagerFragment$2.class
│ │ │ │ │ ├── GroupManagerFragment.class
│ │ │ │ │ ├── GroupMemberSelectFragment$1.class
│ │ │ │ │ ├── GroupMemberSelectFragment$2.class
│ │ │ │ │ ├── GroupMemberSelectFragment$3.class
│ │ │ │ │ ├── GroupMemberSelectFragment$4.class
│ │ │ │ │ ├── GroupMemberSelectFragment$5.class
│ │ │ │ │ ├── GroupMemberSelectFragment$6.class
│ │ │ │ │ ├── GroupMemberSelectFragment.class
│ │ │ │ │ ├── InternalFragment.class
│ │ │ │ │ ├── MainFragment.class
│ │ │ │ │ ├── MyFragment$1.class
│ │ │ │ │ ├── MyFragment$2.class
│ │ │ │ │ ├── MyFragment.class
│ │ │ │ │ ├── SearchFragment$1.class
│ │ │ │ │ ├── SearchFragment$2.class
│ │ │ │ │ ├── SearchFragment$3.class
│ │ │ │ │ ├── SearchFragment$4.class
│ │ │ │ │ ├── SearchFragment$5.class
│ │ │ │ │ ├── SearchFragment.class
│ │ │ │ │ ├── SettingFragment$1.class
│ │ │ │ │ ├── SettingFragment$2.class
│ │ │ │ │ ├── SettingFragment$3.class
│ │ │ │ │ ├── SettingFragment.class
│ │ │ │ │ ├── UserInfoFragment$1.class
│ │ │ │ │ ├── UserInfoFragment$2.class
│ │ │ │ │ ├── UserInfoFragment$3.class
│ │ │ │ │ └── UserInfoFragment.class
│ │ │ │ ├── tools
│ │ │ │ │ ├── BubbleImageHelper.class
│ │ │ │ │ ├── DisplayBitmapCache.class
│ │ │ │ │ ├── Emoparser.class
│ │ │ │ │ ├── ImageTool.class
│ │ │ │ │ ├── MessageBitmapCache$BitmapMemoryUnit.class
│ │ │ │ │ ├── MessageBitmapCache.class
│ │ │ │ │ └── PhotoHandler.class
│ │ │ │ └── utils
│ │ │ │ ├── EntityList.class
│ │ │ │ ├── IMContactListViewHelper.class
│ │ │ │ ├── IMGroupMemberGridViewHelper.class
│ │ │ │ ├── IMServiceHelper$1.class
│ │ │ │ ├── IMServiceHelper$IMBroadcastReceiver.class
│ │ │ │ ├── IMServiceHelper$OnIMServiceListner.class
│ │ │ │ ├── IMServiceHelper.class
│ │ │ │ └── Md5Helper.class
│ │ │ ├── utils
│ │ │ │ ├── CharacterParser.class
│ │ │ │ ├── CommonUtil.class
│ │ │ │ ├── ContactUtils.class
│ │ │ │ ├── DateUtil.class
│ │ │ │ ├── FileUtil.class
│ │ │ │ ├── MessageSplitResult.class
│ │ │ │ ├── MsgIdToPositionMap.class
│ │ │ │ ├── NetworkUtil.class
│ │ │ │ ├── pinyin
│ │ │ │ │ ├── HanziToPinyin3$Token.class
│ │ │ │ │ ├── HanziToPinyin3.class
│ │ │ │ │ ├── PinYin$PinYinArea.class
│ │ │ │ │ ├── PinYin$PinYinElement.class
│ │ │ │ │ └── PinYin.class
│ │ │ │ ├── SequenceNumberMaker$SingletonHolder.class
│ │ │ │ ├── SequenceNumberMaker.class
│ │ │ │ ├── SortComparator.class
│ │ │ │ └── StringUtil.class
│ │ │ └── widget
│ │ │ ├── CustomViewPager.class
│ │ │ ├── EmoGridView$1.class
│ │ │ ├── EmoGridView$2.class
│ │ │ ├── EmoGridView$OnEmoGridViewItemClick.class
│ │ │ ├── EmoGridView.class
│ │ │ ├── GroupManagerGridView$OnTouchBlankPositionListener.class
│ │ │ ├── GroupManagerGridView.class
│ │ │ ├── MessageOperatePopup$OnItemClickListener.class
│ │ │ ├── MessageOperatePopup.class
│ │ │ ├── MGDialog$DialogBuilder.class
│ │ │ ├── MGDialog$OnButtonClickListener.class
│ │ │ ├── MGDialog.class
│ │ │ ├── MGProgressbar$1.class
│ │ │ ├── MGProgressbar$OnRefreshBtnListener.class
│ │ │ ├── MGProgressbar.class
│ │ │ ├── NaviTabButton$1.class
│ │ │ ├── NaviTabButton.class
│ │ │ ├── PinkToast.class
│ │ │ ├── SearchEditText.class
│ │ │ ├── SortSideBar$OnTouchingLetterChangedListener.class
│ │ │ ├── SortSideBar.class
│ │ │ ├── SpeekerToast.class
│ │ │ ├── TopTabButton$1.class
│ │ │ ├── TopTabButton$2.class
│ │ │ └── TopTabButton.class
│ │ ├── classes.dex
│ │ ├── dexedLibs
│ │ │ ├── android-async-http-1.4.6-6d1d3dd44cd21fd192991a023f6a8ca6.jar
│ │ │ ├── android-support-v4-c8eb1eeccd7d68ad7820520cd86f851c.jar
│ │ │ ├── jpinyin-1.0-a69f89de9fb3fbb597bb68d555aa30fd.jar
│ │ │ ├── mgimlibs-3349b3ea740f93d4b06c5d73ab551e9f.jar
│ │ │ ├── netty-3.6.6.Final-cdc6a359ae8cca08892acd655ad962cc.jar
│ │ │ ├── okhttp-1.3.0-jar-with-dependencies-98133780669d8d16886bbeec5be8d977.jar
│ │ │ └── universal-image-loader-1.9.3-df0d9e333ad473f9cd1399e1499781b5.jar
│ │ ├── jarlist.cache
│ │ ├── MGTTInitAct.apk
│ │ ├── res
│ │ │ └── crunch
│ │ │ ├── drawable-hdpi
│ │ │ │ └── tt_loading_circle.png
│ │ │ ├── drawable-xhdpi
│ │ │ │ ├── check_box.png
│ │ │ │ ├── check.png
│ │ │ │ ├── discussion_group_default.png
│ │ │ │ ├── group_default.png
│ │ │ │ ├── im_other_item_bg_normal.9.png
│ │ │ │ ├── tt_album_arrow.png
│ │ │ │ ├── tt_album_arrow_sel.png
│ │ │ │ ├── tt_album_bottom_bar.png
│ │ │ │ ├── tt_album_img_selected.png
│ │ │ │ ├── tt_album_img_select_nor.png
│ │ │ │ ├── tt_album_item_sel_bk.png
│ │ │ │ ├── tt_back_btn.png
│ │ │ │ ├── tt_bg_popup_left_nomal.png
│ │ │ │ ├── tt_bg_popup_left_pressed.png
│ │ │ │ ├── tt_bg_popup_normal.9.png
│ │ │ │ ├── tt_bg_popup_pressed.9.png
│ │ │ │ ├── tt_bg_popup_right_nomal.png
│ │ │ │ ├── tt_bg_popup_right_pressed.png
│ │ │ │ ├── tt_chatting_biaoqing_btn_normal.png
│ │ │ │ ├── tt_clear_bar.png
│ │ │ │ ├── tt_clock_icon.png
│ │ │ │ ├── tt_contact_side_search.png
│ │ │ │ ├── tt_contact_top_left_nor.png
│ │ │ │ ├── tt_contact_top_left_sel.png
│ │ │ │ ├── tt_contact_top_right_nor.png
│ │ │ │ ├── tt_contact_top_right_sel.png
│ │ │ │ ├── tt_default_album_grid_image.png
│ │ │ │ ├── tt_default_arrow.png
│ │ │ │ ├── tt_default_btn_bk.png
│ │ │ │ ├── tt_default_dot_down.png
│ │ │ │ ├── tt_default_dot_up.png
│ │ │ │ ├── tt_default_emo_back_normal.png
│ │ │ │ ├── tt_default_image_error.png
│ │ │ │ ├── tt_default_image.png
│ │ │ │ ├── tt_default_message_error_image.png
│ │ │ │ ├── tt_default_message_image.png
│ │ │ │ ├── tt_default_user_portrait_corner.png
│ │ │ │ ├── tt_dialog_navigative_btn_bg_normal.9.png
│ │ │ │ ├── tt_dialog_navigative_btn_bg_pressed.9.png
│ │ │ │ ├── tt_dialog_positive_btn_bg_normal.9.png
│ │ │ │ ├── tt_dialog_positive_btn_bg_pressed.9.png
│ │ │ │ ├── tt_e0.png
│ │ │ │ ├── tt_e10.png
│ │ │ │ ├── tt_e11.png
│ │ │ │ ├── tt_e12.png
│ │ │ │ ├── tt_e13.png
│ │ │ │ ├── tt_e14.png
│ │ │ │ ├── tt_e15.png
│ │ │ │ ├── tt_e16.png
│ │ │ │ ├── tt_e17.png
│ │ │ │ ├── tt_e18.png
│ │ │ │ ├── tt_e19.png
│ │ │ │ ├── tt_e1.png
│ │ │ │ ├── tt_e20.png
│ │ │ │ ├── tt_e21.png
│ │ │ │ ├── tt_e22.png
│ │ │ │ ├── tt_e23.png
│ │ │ │ ├── tt_e24.png
│ │ │ │ ├── tt_e25.png
│ │ │ │ ├── tt_e26.png
│ │ │ │ ├── tt_e27.png
│ │ │ │ ├── tt_e28.png
│ │ │ │ ├── tt_e29.png
│ │ │ │ ├── tt_e2.png
│ │ │ │ ├── tt_e30.png
│ │ │ │ ├── tt_e31.png
│ │ │ │ ├── tt_e32.png
│ │ │ │ ├── tt_e33.png
│ │ │ │ ├── tt_e34.png
│ │ │ │ ├── tt_e35.png
│ │ │ │ ├── tt_e36.png
│ │ │ │ ├── tt_e37.png
│ │ │ │ ├── tt_e38.png
│ │ │ │ ├── tt_e39.png
│ │ │ │ ├── tt_e3.png
│ │ │ │ ├── tt_e40.png
│ │ │ │ ├── tt_e41.png
│ │ │ │ ├── tt_e42.png
│ │ │ │ ├── tt_e43.png
│ │ │ │ ├── tt_e44.png
│ │ │ │ ├── tt_e45.png
│ │ │ │ ├── tt_e4.png
│ │ │ │ ├── tt_e5.png
│ │ │ │ ├── tt_e6.png
│ │ │ │ ├── tt_e7.png
│ │ │ │ ├── tt_e8.png
│ │ │ │ ├── tt_e9.png
│ │ │ │ ├── tt_empty_default_icon.png
│ │ │ │ ├── tt_empty_no_contact_icon.png
│ │ │ │ ├── tt_group_manager_add_user.png
│ │ │ │ ├── tt_ic_launcher.png
│ │ │ │ ├── tt_login_logo2.png
│ │ │ │ ├── tt_login_logo.png
│ │ │ │ ├── tt_login_pwd.png
│ │ │ │ ├── tt_login_user.png
│ │ │ │ ├── tt_logo2.png
│ │ │ │ ├── tt_logo.png
│ │ │ │ ├── tt_message_notify_double.png
│ │ │ │ ├── tt_message_notify_single.png
│ │ │ │ ├── tt_message_text_bg.9.png
│ │ │ │ ├── tt_message_title_time_bg.9.png
│ │ │ │ ├── tt_mine_image_default_bk.png
│ │ │ │ ├── tt_mine_item_bg_normal.9.png
│ │ │ │ ├── tt_mine_item_bg_pressed.9.png
│ │ │ │ ├── tt_msg_tip.png
│ │ │ │ ├── tt_my_message_bkgnd.9.png
│ │ │ │ ├── tt_other_default_image_bk.9.png
│ │ │ │ ├── tt_other_image_default_bk.png
│ │ │ │ ├── tt_other_item_bg_normal.9.png
│ │ │ │ ├── tt_other_item_bg_pressed.9.png
│ │ │ │ ├── tt_other_text_background.png
│ │ │ │ ├── tt_page_item_bk.9.png
│ │ │ │ ├── tt_page_my_setting.png
│ │ │ │ ├── tt_pannel_bk.9.png
│ │ │ │ ├── tt_pannel_btn_voiceforward_normal.9.png
│ │ │ │ ├── tt_pannel_btn_voiceforward_pressed.9.png
│ │ │ │ ├── tt_preview_dot_down.png
│ │ │ │ ├── tt_preview_dot_up.png
│ │ │ │ ├── tt_search.png
│ │ │ │ ├── tt_send_message_btn_bg.9.png
│ │ │ │ ├── tt_send_voice_btn_bg.9.png
│ │ │ │ ├── tt_send_voice_btn_bg_normal.9.png
│ │ │ │ ├── tt_send_voice_btn_btn_pressed.9.png
│ │ │ │ ├── tt_show_add_photo_btn.png
│ │ │ │ ├── tt_show_head_toast_bg.9.PNG
│ │ │ │ ├── tt_sound_volume_01.png
│ │ │ │ ├── tt_sound_volume_02.png
│ │ │ │ ├── tt_sound_volume_03.png
│ │ │ │ ├── tt_sound_volume_04.png
│ │ │ │ ├── tt_sound_volume_05.png
│ │ │ │ ├── tt_sound_volume_06.png
│ │ │ │ ├── tt_sound_volume_07.png
│ │ │ │ ├── tt_sound_volume_cancel_bk.png
│ │ │ │ ├── tt_sound_volume_default_bk.png
│ │ │ │ ├── tt_sound_volume_short_tip_bk.png
│ │ │ │ ├── tt_speeker_tip_bg.png
│ │ │ │ ├── tt_switch_to_keyboard_btn.png
│ │ │ │ ├── tt_tab_bk.png
│ │ │ │ ├── tt_tab_chat_nor.png
│ │ │ │ ├── tt_tab_chat_sel.png
│ │ │ │ ├── tt_tab_contact_nor.png
│ │ │ │ ├── tt_tab_contact_sel.png
│ │ │ │ ├── tt_tab_innernet_nor.png
│ │ │ │ ├── tt_tab_innernet_sel.png
│ │ │ │ ├── tt_tab_me_nor.png
│ │ │ │ ├── tt_tab_me_sel.png
│ │ │ │ ├── tt_take_camera_btn_bg.png
│ │ │ │ ├── tt_take_photo_btn_bg.png
│ │ │ │ ├── tt_top_back.png
│ │ │ │ ├── tt_top_default_bk.png
│ │ │ │ ├── tt_top_right_group_manager.png
│ │ │ │ ├── tt_top_search.png
│ │ │ │ ├── tt_unread_message_notify_bg.png
│ │ │ │ ├── tt_voice_btn_btn.png
│ │ │ │ ├── tt_voice_node_mine_playing001.png
│ │ │ │ ├── tt_voice_node_mine_playing002.png
│ │ │ │ ├── tt_voice_node_mine_playing003.png
│ │ │ │ ├── tt_voice_node_mine.png
│ │ │ │ ├── tt_voice_node_other_playing001.png
│ │ │ │ ├── tt_voice_node_other_playing002.png
│ │ │ │ ├── tt_voice_node_other_playing003.png
│ │ │ │ ├── tt_voice_node_other.png
│ │ │ │ ├── tt_waterfall_refresh_bg.9.png
│ │ │ │ ├── uncheck_box.png
│ │ │ │ ├── uncheck.png
│ │ │ │ └── warning.png
│ │ │ └── drawable-xxhdpi
│ │ │ └── ic_launcher.png
│ │ ├── resources.ap_
│ │ └── R.txt
│ ├── gen
│ │ └── com
│ │ └── mogujie
│ │ ├── im
│ │ │ └── libs
│ │ │ └── R.java
│ │ └── tt
│ │ ├── BuildConfig.java
│ │ └── R.java
│ ├── jni
│ │ ├── Android.mk
│ │ ├── Application.mk
│ │ ├── include
│ │ │ ├── Makefile.am
│ │ │ ├── Makefile.in
│ │ │ └── speex
│ │ │ ├── Makefile.am
│ │ │ ├── Makefile.in
│ │ │ ├── speex_bits.h
│ │ │ ├── speex_buffer.h
│ │ │ ├── speex_callbacks.h
│ │ │ ├── speex_config_types.h
│ │ │ ├── speex_config_types.h.in
│ │ │ ├── speex_echo.h
│ │ │ ├── speex.h
│ │ │ ├── speex_header.h
│ │ │ ├── speex_jitter.h
│ │ │ ├── speex_preprocess.h
│ │ │ ├── speex_resampler.h
│ │ │ ├── speex_stereo.h
│ │ │ └── speex_types.h
│ │ ├── libspeex
│ │ │ ├── arch.h
│ │ │ ├── bits.c
│ │ │ ├── buffer.c
│ │ │ ├── cb_search_arm4.h
│ │ │ ├── cb_search_bfin.h
│ │ │ ├── cb_search.c
│ │ │ ├── cb_search.h
│ │ │ ├── cb_search_sse.h
│ │ │ ├── echo_diagnostic.m
│ │ │ ├── exc_10_16_table.c
│ │ │ ├── exc_10_32_table.c
│ │ │ ├── exc_20_32_table.c
│ │ │ ├── exc_5_256_table.c
│ │ │ ├── exc_5_64_table.c
│ │ │ ├── exc_8_128_table.c
│ │ │ ├── fftwrap.c
│ │ │ ├── fftwrap.h
│ │ │ ├── filterbank.c
│ │ │ ├── filterbank.h
│ │ │ ├── filters_arm4.h
│ │ │ ├── filters_bfin.h
│ │ │ ├── filters.c
│ │ │ ├── filters.h
│ │ │ ├── filters_sse.h
│ │ │ ├── fixed_arm4.h
│ │ │ ├── fixed_arm5e.h
│ │ │ ├── fixed_bfin.h
│ │ │ ├── fixed_debug.h
│ │ │ ├── fixed_generic.h
│ │ │ ├── gain_table.c
│ │ │ ├── gain_table_lbr.c
│ │ │ ├── hexc_10_32_table.c
│ │ │ ├── hexc_table.c
│ │ │ ├── high_lsp_tables.c
│ │ │ ├── jitter.c
│ │ │ ├── kiss_fft.c
│ │ │ ├── _kiss_fft_guts.h
│ │ │ ├── kiss_fft.h
│ │ │ ├── kiss_fftr.c
│ │ │ ├── kiss_fftr.h
│ │ │ ├── lpc_bfin.h
│ │ │ ├── lpc.c
│ │ │ ├── lpc.h
│ │ │ ├── lsp_bfin.h
│ │ │ ├── lsp.c
│ │ │ ├── lsp.h
│ │ │ ├── lsp_tables_nb.c
│ │ │ ├── ltp_arm4.h
│ │ │ ├── ltp_bfin.h
│ │ │ ├── ltp.c
│ │ │ ├── ltp.h
│ │ │ ├── ltp_sse.h
│ │ │ ├── Makefile.am
│ │ │ ├── Makefile.in
│ │ │ ├── math_approx.h
│ │ │ ├── mdf.c
│ │ │ ├── misc_bfin.h
│ │ │ ├── modes.c
│ │ │ ├── modes.h
│ │ │ ├── modes_wb.c
│ │ │ ├── nb_celp.c
│ │ │ ├── nb_celp.h
│ │ │ ├── os_support.h
│ │ │ ├── preprocess.c
│ │ │ ├── pseudofloat.h
│ │ │ ├── quant_lsp_bfin.h
│ │ │ ├── quant_lsp.c
│ │ │ ├── quant_lsp.h
│ │ │ ├── resample.c
│ │ │ ├── resample_sse.h
│ │ │ ├── sb_celp.c
│ │ │ ├── sb_celp.h
│ │ │ ├── scal.c
│ │ │ ├── smallft.c
│ │ │ ├── smallft.h
│ │ │ ├── speex.c
│ │ │ ├── speex_callbacks.c
│ │ │ ├── speex_header.c
│ │ │ ├── stack_alloc.h
│ │ │ ├── stereo.c
│ │ │ ├── testdenoise.c
│ │ │ ├── testecho.c
│ │ │ ├── testenc.c
│ │ │ ├── testenc_uwb.c
│ │ │ ├── testenc_wb.c
│ │ │ ├── testjitter.c
│ │ │ ├── vbr.c
│ │ │ ├── vbr.h
│ │ │ ├── vorbis_psy.h
│ │ │ ├── vq_arm4.h
│ │ │ ├── vq_bfin.h
│ │ │ ├── vq.c
│ │ │ ├── vq.h
│ │ │ ├── vq_sse.h
│ │ │ └── window.c
│ │ └── speex_jni.cpp
│ ├── libs
│ │ ├── android-async-http-1.4.6.jar
│ │ ├── armeabi
│ │ │ └── libspeex.so
│ │ ├── armeabi-v7a
│ │ │ └── libspeex.so
│ │ ├── jpinyin-1.0.jar
│ │ ├── netty-3.6.6.Final.jar
│ │ └── universal-image-loader-1.9.3.jar
│ ├── mogujie_android_style.xml
│ ├── project.properties
│ ├── README
│ ├── res
│ │ ├── anim
│ │ │ ├── tt_album_enter.xml
│ │ │ ├── tt_album_exit.xml
│ │ │ ├── tt_image_enter.xml
│ │ │ ├── tt_image_exit.xml
│ │ │ ├── tt_image_left_enter.xml
│ │ │ ├── tt_image_left_exit.xml
│ │ │ ├── tt_speeker_in.xml
│ │ │ ├── tt_speeker_out.xml
│ │ │ ├── tt_stay.xml
│ │ │ ├── tt_stay_x.xml
│ │ │ ├── tt_voice_play_mine.xml
│ │ │ └── tt_voice_play_other.xml
│ │ ├── color
│ │ │ ├── checkbox_background.xml
│ │ │ ├── toggle_checkbox_background.xml
│ │ │ ├── tt_dialog_negative_text_color.xml
│ │ │ └── tt_positive_text_color.xml
│ │ ├── drawable
│ │ │ ├── tt_bgd_relatly_line.xml
│ │ │ ├── tt_bt_nobgd.xml
│ │ │ ├── tt_default_emo_dots.xml
│ │ │ ├── tt_dialog_bg.xml
│ │ │ ├── tt_dialog_negative_btn_bg.xml
│ │ │ ├── tt_dialog_positive_btn_bg.xml
│ │ │ ├── tt_message_cursor.xml
│ │ │ ├── tt_mine_item_bg.xml
│ │ │ ├── tt_other_item_bg.xml
│ │ │ ├── tt_panel_circle.xml
│ │ │ ├── tt_panel_edt_focused.xml
│ │ │ ├── tt_panel_edt_msg_bk.xml
│ │ │ ├── tt_panel_voice_forward.xml
│ │ │ ├── tt_pannel_edt_normal.xml
│ │ │ ├── tt_popup_background.xml
│ │ │ ├── tt_progressbar.xml
│ │ │ ├── tt_search_edt_bk.xml
│ │ │ ├── tt_send_voice_btn_bg.xml
│ │ │ ├── tt_show_emo_btn.xml
│ │ │ └── tt_text_while.xml
│ │ ├── drawable-hdpi
│ │ │ └── tt_loading_circle.png
│ │ ├── drawable-xhdpi
│ │ │ ├── check_box.png
│ │ │ ├── check.png
│ │ │ ├── discussion_group_default.png
│ │ │ ├── group_default.png
│ │ │ ├── im_other_item_bg_normal.9.png
│ │ │ ├── tt_album_arrow.png
│ │ │ ├── tt_album_arrow_sel.png
│ │ │ ├── tt_album_bottom_bar.png
│ │ │ ├── tt_album_img_selected.png
│ │ │ ├── tt_album_img_select_nor.png
│ │ │ ├── tt_album_item_sel_bk.png
│ │ │ ├── tt_back_btn.png
│ │ │ ├── tt_bg_popup_left_nomal.png
│ │ │ ├── tt_bg_popup_left_pressed.png
│ │ │ ├── tt_bg_popup_normal.9.png
│ │ │ ├── tt_bg_popup_pressed.9.png
│ │ │ ├── tt_bg_popup_right_nomal.png
│ │ │ ├── tt_bg_popup_right_pressed.png
│ │ │ ├── tt_chatting_biaoqing_btn_normal.png
│ │ │ ├── tt_clear_bar.png
│ │ │ ├── tt_clock_icon.png
│ │ │ ├── tt_contact_side_search.png
│ │ │ ├── tt_contact_top_left_nor.png
│ │ │ ├── tt_contact_top_left_sel.png
│ │ │ ├── tt_contact_top_right_nor.png
│ │ │ ├── tt_contact_top_right_sel.png
│ │ │ ├── tt_default_album_grid_image.png
│ │ │ ├── tt_default_arrow.png
│ │ │ ├── tt_default_btn_bk.png
│ │ │ ├── tt_default_dot_down.png
│ │ │ ├── tt_default_dot_up.png
│ │ │ ├── tt_default_emo_back_normal.png
│ │ │ ├── tt_default_image_error.png
│ │ │ ├── tt_default_image.png
│ │ │ ├── tt_default_message_error_image.png
│ │ │ ├── tt_default_message_image.png
│ │ │ ├── tt_default_user_portrait_corner.png
│ │ │ ├── tt_dialog_navigative_btn_bg_normal.9.png
│ │ │ ├── tt_dialog_navigative_btn_bg_pressed.9.png
│ │ │ ├── tt_dialog_positive_btn_bg_normal.9.png
│ │ │ ├── tt_dialog_positive_btn_bg_pressed.9.png
│ │ │ ├── tt_e0.png
│ │ │ ├── tt_e10.png
│ │ │ ├── tt_e11.png
│ │ │ ├── tt_e12.png
│ │ │ ├── tt_e13.png
│ │ │ ├── tt_e14.png
│ │ │ ├── tt_e15.png
│ │ │ ├── tt_e16.png
│ │ │ ├── tt_e17.png
│ │ │ ├── tt_e18.png
│ │ │ ├── tt_e19.png
│ │ │ ├── tt_e1.png
│ │ │ ├── tt_e20.png
│ │ │ ├── tt_e21.png
│ │ │ ├── tt_e22.png
│ │ │ ├── tt_e23.png
│ │ │ ├── tt_e24.png
│ │ │ ├── tt_e25.png
│ │ │ ├── tt_e26.png
│ │ │ ├── tt_e27.png
│ │ │ ├── tt_e28.png
│ │ │ ├── tt_e29.png
│ │ │ ├── tt_e2.png
│ │ │ ├── tt_e30.png
│ │ │ ├── tt_e31.png
│ │ │ ├── tt_e32.png
│ │ │ ├── tt_e33.png
│ │ │ ├── tt_e34.png
│ │ │ ├── tt_e35.png
│ │ │ ├── tt_e36.png
│ │ │ ├── tt_e37.png
│ │ │ ├── tt_e38.png
│ │ │ ├── tt_e39.png
│ │ │ ├── tt_e3.png
│ │ │ ├── tt_e40.png
│ │ │ ├── tt_e41.png
│ │ │ ├── tt_e42.png
│ │ │ ├── tt_e43.png
│ │ │ ├── tt_e44.png
│ │ │ ├── tt_e45.png
│ │ │ ├── tt_e4.png
│ │ │ ├── tt_e5.png
│ │ │ ├── tt_e6.png
│ │ │ ├── tt_e7.png
│ │ │ ├── tt_e8.png
│ │ │ ├── tt_e9.png
│ │ │ ├── tt_empty_default_icon.png
│ │ │ ├── tt_empty_no_contact_icon.png
│ │ │ ├── tt_group_manager_add_user.png
│ │ │ ├── tt_ic_launcher.png
│ │ │ ├── tt_login_logo2.png
│ │ │ ├── tt_login_logo.png
│ │ │ ├── tt_login_pwd.png
│ │ │ ├── tt_login_user.png
│ │ │ ├── tt_logo2.png
│ │ │ ├── tt_logo.png
│ │ │ ├── tt_message_notify_double.png
│ │ │ ├── tt_message_notify_single.png
│ │ │ ├── tt_message_text_bg.9.png
│ │ │ ├── tt_message_title_time_bg.9.png
│ │ │ ├── tt_mine_image_default_bk.png
│ │ │ ├── tt_mine_item_bg_normal.9.png
│ │ │ ├── tt_mine_item_bg_pressed.9.png
│ │ │ ├── tt_msg_tip.png
│ │ │ ├── tt_my_message_bkgnd.9.png
│ │ │ ├── tt_other_default_image_bk.9.png
│ │ │ ├── tt_other_image_default_bk.png
│ │ │ ├── tt_other_item_bg_normal.9.png
│ │ │ ├── tt_other_item_bg_pressed.9.png
│ │ │ ├── tt_other_text_background.png
│ │ │ ├── tt_page_item_bk.9.png
│ │ │ ├── tt_page_my_setting.png
│ │ │ ├── tt_pannel_bk.9.png
│ │ │ ├── tt_pannel_btn_voiceforward_normal.9.png
│ │ │ ├── tt_pannel_btn_voiceforward_pressed.9.png
│ │ │ ├── tt_preview_dot_down.png
│ │ │ ├── tt_preview_dot_up.png
│ │ │ ├── tt_search.png
│ │ │ ├── tt_send_message_btn_bg.9.png
│ │ │ ├── tt_send_voice_btn_bg.9.png
│ │ │ ├── tt_send_voice_btn_bg_normal.9.png
│ │ │ ├── tt_send_voice_btn_btn_pressed.9.png
│ │ │ ├── tt_show_add_photo_btn.png
│ │ │ ├── tt_show_head_toast_bg.9.PNG
│ │ │ ├── tt_sound_volume_01.png
│ │ │ ├── tt_sound_volume_02.png
│ │ │ ├── tt_sound_volume_03.png
│ │ │ ├── tt_sound_volume_04.png
│ │ │ ├── tt_sound_volume_05.png
│ │ │ ├── tt_sound_volume_06.png
│ │ │ ├── tt_sound_volume_07.png
│ │ │ ├── tt_sound_volume_cancel_bk.png
│ │ │ ├── tt_sound_volume_default_bk.png
│ │ │ ├── tt_sound_volume_short_tip_bk.png
│ │ │ ├── tt_speeker_tip_bg.png
│ │ │ ├── tt_switch_to_keyboard_btn.png
│ │ │ ├── tt_tab_bk.png
│ │ │ ├── tt_tab_chat_nor.png
│ │ │ ├── tt_tab_chat_sel.png
│ │ │ ├── tt_tab_contact_nor.png
│ │ │ ├── tt_tab_contact_sel.png
│ │ │ ├── tt_tab_innernet_nor.png
│ │ │ ├── tt_tab_innernet_sel.png
│ │ │ ├── tt_tab_me_nor.png
│ │ │ ├── tt_tab_me_sel.png
│ │ │ ├── tt_take_camera_btn_bg.png
│ │ │ ├── tt_take_photo_btn_bg.png
│ │ │ ├── tt_top_back.png
│ │ │ ├── tt_top_default_bk.png
│ │ │ ├── tt_top_right_group_manager.png
│ │ │ ├── tt_top_search.png
│ │ │ ├── tt_unread_message_notify_bg.png
│ │ │ ├── tt_voice_btn_btn.png
│ │ │ ├── tt_voice_node_mine_playing001.png
│ │ │ ├── tt_voice_node_mine_playing002.png
│ │ │ ├── tt_voice_node_mine_playing003.png
│ │ │ ├── tt_voice_node_mine.png
│ │ │ ├── tt_voice_node_other_playing001.png
│ │ │ ├── tt_voice_node_other_playing002.png
│ │ │ ├── tt_voice_node_other_playing003.png
│ │ │ ├── tt_voice_node_other.png
│ │ │ ├── tt_waterfall_refresh_bg.9.png
│ │ │ ├── uncheck_box.png
│ │ │ ├── uncheck.png
│ │ │ └── warning.png
│ │ ├── drawable-xxhdpi
│ │ │ └── ic_launcher.png
│ │ ├── layout
│ │ │ ├── tt_activity_base.xml
│ │ │ ├── tt_activity_groupmanage.xml
│ │ │ ├── tt_activity_group_member_select.xml
│ │ │ ├── tt_activity_image_grid.xml
│ │ │ ├── tt_activity_login.xml
│ │ │ ├── tt_activity_main.xml
│ │ │ ├── tt_activity_message.xml
│ │ │ ├── tt_activity_pick_photo.xml
│ │ │ ├── tt_activity_preview_text.xml
│ │ │ ├── tt_activity_preview.xml
│ │ │ ├── tt_display_image_layout.xml
│ │ │ ├── tt_fragment_activity_chat.xml
│ │ │ ├── tt_fragment_activity_contact.xml
│ │ │ ├── tt_fragment_activity_search.xml
│ │ │ ├── tt_fragment_activity_setting.xml
│ │ │ ├── tt_fragment_activity_userinfo.xml
│ │ │ ├── tt_fragment_base.xml
│ │ │ ├── tt_fragment_chat.xml
│ │ │ ├── tt_fragment_contact.xml
│ │ │ ├── tt_fragment_group_manage.xml
│ │ │ ├── tt_fragment_group_member_select.xml
│ │ │ ├── tt_fragment_internal.xml
│ │ │ ├── tt_fragment_my.xml
│ │ │ ├── tt_fragment_search.xml
│ │ │ ├── tt_fragment_setting.xml
│ │ │ ├── tt_fragment_user_detail.xml
│ │ │ ├── tt_group_manage_grid_item.xml
│ │ │ ├── tt_history_divider_item.xml
│ │ │ ├── tt_image_loadding_layout.xml
│ │ │ ├── tt_item_chat.xml
│ │ │ ├── tt_item_contact.xml
│ │ │ ├── tt_item_image_grid.xml
│ │ │ ├── tt_item_image_pick.xml
│ │ │ ├── tt_item_searchresult.xml
│ │ │ ├── tt_messagelist_header.xml
│ │ │ ├── tt_message_title_time.xml
│ │ │ ├── tt_mine_audio_message_item.xml
│ │ │ ├── tt_mine_image_message_item.xml
│ │ │ ├── tt_mine_text_message_item.xml
│ │ │ ├── tt_navi_tab_button.xml
│ │ │ ├── tt_other_audio_message_item.xml
│ │ │ ├── tt_other_image_message_item.xml
│ │ │ ├── tt_other_text_message_item.xml
│ │ │ ├── tt_popup_item_view.xml
│ │ │ ├── tt_popup_list.xml
│ │ │ ├── tt_progress_ly.xml
│ │ │ ├── tt_progress.xml
│ │ │ ├── tt_sound_volume_dialog.xml
│ │ │ ├── tt_speeker_layout.xml
│ │ │ ├── tt_top_tab_button.xml
│ │ │ ├── tt_top_tab.xml
│ │ │ ├── tt_view_dialog_base.xml
│ │ │ └── tt_voicetip.xml
│ │ ├── values
│ │ │ ├── tt_arrays.xml
│ │ │ ├── tt_color.xml
│ │ │ ├── tt_dimens.xml
│ │ │ ├── tt_ptr_dimens.xml
│ │ │ ├── tt_pull_refresh_strings.xml
│ │ │ ├── tt_strings_activity_contact.xml
│ │ │ ├── tt_strings_activity_login.xml
│ │ │ ├── tt_strings_activity_message.xml
│ │ │ ├── tt_strings_fragment_chat.xml
│ │ │ ├── tt_strings_main_page.xml
│ │ │ ├── tt_strings.xml
│ │ │ └── tt_styles.xml
│ │ ├── values-sw600dp
│ │ │ └── dimens.xml
│ │ ├── values-sw720dp-land
│ │ │ └── dimens.xml
│ │ └── values-w820dp
│ │ └── im_dimens.xml
│ └── src
│ └── com
│ └── mogujie
│ └── tt
│ ├── adapter
│ │ ├── album
│ │ │ ├── AlbumHelper.java
│ │ │ ├── BitmapCache.java
│ │ │ ├── ImageBucketAdapter.java
│ │ │ ├── ImageBucket.java
│ │ │ ├── ImageGridAdapter.java
│ │ │ └── ImageItem.java
│ │ ├── ChatAdapter.java
│ │ ├── ContactAllAdapter.java
│ │ ├── ContactBaseAdapter.java
│ │ ├── ContactDepartmentAdapter.java
│ │ ├── EmoGridViewAdapter.java
│ │ ├── EntityListViewAdapter.java
│ │ ├── GroupAdapter.java
│ │ ├── GroupManagerAdapter.java
│ │ ├── MessageAdapter.java
│ │ ├── SearchAdapter.java
│ │ └── ViewPageAdapter.java
│ ├── app
│ │ └── IMEntrance.java
│ ├── audio
│ │ └── biz
│ │ ├── AudioPlayerHandler.java
│ │ └── AudioRecordHandler.java
│ ├── biz
│ │ ├── ContactHelper.java
│ │ ├── MessageDistCenter.java
│ │ ├── MessageHelper.java
│ │ ├── MessageNotifyCenter.java
│ │ └── SearchHelper.java
│ ├── cache
│ │ ├── AutoCloseable.java
│ │ ├── biz
│ │ │ └── CacheHub.java
│ │ ├── BlockTargetCache.java
│ │ ├── Cache.java
│ │ ├── CacheModel.java
│ │ ├── ContactCacheImpl.java
│ │ ├── Dispatcher.java
│ │ ├── ExpiredCache.java
│ │ ├── IMCacheImpl.java
│ │ ├── MessageCacheImpl.java
│ │ └── UserCacheImpl.java
│ ├── config
│ │ ├── CacheConstant.java
│ │ ├── HandlerConstant.java
│ │ ├── ProtocolConstant.java
│ │ ├── StatisticsConstant.java
│ │ ├── SysConstant.java
│ │ └── TaskConstant.java
│ ├── conn
│ │ ├── ConnectionManager.java
│ │ ├── ConnectionStore.java
│ │ ├── NetStateDispach.java
│ │ └── NetStateManager.java
│ ├── db
│ │ ├── biz
│ │ │ └── DataBaseHelper.java
│ │ ├── ContactModel.java
│ │ ├── DataModel.java
│ │ ├── DBHelper.java
│ │ ├── MessageModel.java
│ │ └── UserModel.java
│ ├── entity
│ │ ├── ContactSortEntity.java
│ │ ├── GroupManagerEntity.java
│ │ ├── IMRecentContact.java
│ │ ├── MessageInfo.java
│ │ ├── MessageList.java
│ │ ├── Pair.java
│ │ ├── RecentInfo.java
│ │ ├── SearchResultItem.java
│ │ ├── ShopMember.java
│ │ ├── TimeTileMessage.java
│ │ ├── Token.java
│ │ ├── UnReadMsgCountInfo.java
│ │ └── User.java
│ ├── exception
│ │ └── BaseException.java
│ ├── https
│ │ └── MoGuHttpClient.java
│ ├── imlib
│ │ ├── common
│ │ │ ├── ConfigDefs.java
│ │ │ └── ErrorCode.java
│ │ ├── db
│ │ │ └── IMDbManager.java
│ │ ├── IMActions.java
│ │ ├── IMApplication.java
│ │ ├── IMBroadcastActions.java
│ │ ├── IMConfigurationManager.java
│ │ ├── IMContactManager.java
│ │ ├── IMGroupManager.java
│ │ ├── IMHeartBeatManager.java
│ │ ├── IMLoginManager.java
│ │ ├── IMManager.java
│ │ ├── IMMessageManager.java
│ │ ├── IMNotificationManager.java
│ │ ├── IMPacketDispatcher.java
│ │ ├── IMRecentSessionManager.java
│ │ ├── IMReconnectManager.java
│ │ ├── IMSession.java
│ │ ├── IMUnAckMsgManager.java
│ │ ├── IMUnreadMsgManager.java
│ │ ├── network
│ │ │ ├── BaseServerHandler.java
│ │ │ ├── LoginServerHandler.java
│ │ │ ├── MsgServerHandler.java
│ │ │ └── SocketThread.java
│ │ ├── proto
│ │ │ ├── AckGroupUnreadMsgPacket.java
│ │ │ ├── AckUnreadMsgPacket.java
│ │ │ ├── AllContactsPacket.java
│ │ │ ├── ChangeTempGroupMemberPacket.java
│ │ │ ├── ContactEntity.java
│ │ │ ├── CreateTempGroupPacket.java
│ │ │ ├── DepartmentEntity.java
│ │ │ ├── DepartmentPacket.java
│ │ │ ├── GroupChangeMemberNotify.java
│ │ │ ├── GroupEntity.java
│ │ │ ├── GroupPacket.java
│ │ │ ├── GroupUnreadMsgPacket.java
│ │ │ ├── GroupUserListPacket.java
│ │ │ ├── HeartBeatPacket.java
│ │ │ ├── LoginPacket.java
│ │ │ ├── MessageEntity.java
│ │ │ ├── MessageNotifyPacket.java
│ │ │ ├── MessagePacket.java
│ │ │ ├── MsgAckEntity.java
│ │ │ ├── MsgServerPacket.java
│ │ │ ├── PacketEncoder.java
│ │ │ ├── RecentContactsPacket.java
│ │ │ ├── UnreadMsgContactListPacket.java
│ │ │ ├── UnreadMsgGroupListPacket.java
│ │ │ └── UnreadMsgPacket.java
│ │ ├── service
│ │ │ └── IMService.java
│ │ └── utils
│ │ ├── DumpUtils.java
│ │ ├── IMContactHelper.java
│ │ ├── IMUIHelper.java
│ │ └── SearchElement.java
│ ├── log
│ │ └── Logger.java
│ ├── logcat.log
│ ├── packet
│ │ ├── action
│ │ │ ├── ActionCallback.java
│ │ │ ├── Action.java
│ │ │ └── ProgressActionCallback.java
│ │ ├── base
│ │ │ ├── DataBuffer.java
│ │ │ ├── DefaultHeader.java
│ │ │ ├── Header.java
│ │ │ └── Packet.java
│ │ ├── MessageDispatchCenter.java
│ │ ├── PacketSendMonitor.java
│ │ ├── SocketMessageQueue.java
│ │ └── WaitingListMonitor.java
│ ├── service
│ │ ├── ConnectionChangeReceiver.java
│ │ ├── IMService.java
│ │ └── StartImServiceReceiver.java
│ ├── socket
│ │ ├── MoGuSocket.java
│ │ ├── SocketHandler.java
│ │ └── SocketStateManager.java
│ ├── support
│ │ └── audio
│ │ ├── AudioFileWriter.java
│ │ ├── OggCrc.java
│ │ ├── OggSpeexWriter.java
│ │ ├── SpeexDecoder.java
│ │ ├── SpeexEncoder.java
│ │ ├── Speex.java
│ │ ├── SpeexWriteClient.java
│ │ └── SpeexWriter.java
│ ├── task
│ │ ├── BaseTask.java
│ │ ├── biz
│ │ │ ├── CheckUserBlockTask.java
│ │ │ ├── DownloadImageTask.java
│ │ │ ├── FinishRecordVoiceTask.java
│ │ │ ├── PushActionToQueueTask.java
│ │ │ ├── SendAudioMessageTask.java
│ │ │ └── UploadImageTask.java
│ │ ├── IProcessing.java
│ │ ├── ITask.java
│ │ ├── MAsyncTask.java
│ │ ├── TaskCallback.java
│ │ ├── TaskCenter.java
│ │ ├── TaskManager.java
│ │ ├── TaskMode.java
│ │ └── TaskTrigger.java
│ ├── timer
│ │ ├── ITimerProcessor.java
│ │ └── TimerHelper.java
│ ├── ui
│ │ ├── activity
│ │ │ ├── ChatFragmentActivity.java
│ │ │ ├── CommonTest.java
│ │ │ ├── ContactFragmentActivity.java
│ │ │ ├── DisplayImageActivity.java
│ │ │ ├── GroupManagermentActivity.java
│ │ │ ├── GroupMemberSelectActivity.java
│ │ │ ├── ImageGridActivity.java
│ │ │ ├── LoginActivity.java
│ │ │ ├── MainActivity.java
│ │ │ ├── MessageActivity.java
│ │ │ ├── PickPhotoActivity.java
│ │ │ ├── PreviewActivity.java
│ │ │ ├── PreviewTextActivity.java
│ │ │ ├── SearchActivity.java
│ │ │ ├── SettingActivity.java
│ │ │ └── UserInfoActivity.java
│ │ ├── base
│ │ │ ├── TTBaseActivity.java
│ │ │ ├── TTBaseFragmentActivity.java
│ │ │ └── TTBaseFragment.java
│ │ ├── fragment
│ │ │ ├── ChatFragment.java
│ │ │ ├── ContactFragment.java
│ │ │ ├── GroupManagerFragment.java
│ │ │ ├── GroupMemberSelectFragment.java
│ │ │ ├── InternalFragment.java
│ │ │ ├── MainFragment.java
│ │ │ ├── MyFragment.java
│ │ │ ├── SearchFragment.java
│ │ │ ├── SettingFragment.java
│ │ │ └── UserInfoFragment.java
│ │ ├── tools
│ │ │ ├── BubbleImageHelper.java
│ │ │ ├── DisplayBitmapCache.java
│ │ │ ├── Emoparser.java
│ │ │ ├── ImageTool.java
│ │ │ ├── MessageBitmapCache.java
│ │ │ └── PhotoHandler.java
│ │ └── utils
│ │ ├── EntityList.java
│ │ ├── IMContactListViewHelper.java
│ │ ├── IMGroupMemberGridViewHelper.java
│ │ ├── IMServiceHelper.java
│ │ └── Md5Helper.java
│ ├── utils
│ │ ├── CharacterParser.java
│ │ ├── CommonUtil.java
│ │ ├── ContactUtils.java
│ │ ├── DateUtil.java
│ │ ├── FileUtil.java
│ │ ├── MessageSplitResult.java
│ │ ├── MsgIdToPositionMap.java
│ │ ├── NetworkUtil.java
│ │ ├── pinyin
│ │ │ ├── HanziToPinyin3.java
│ │ │ └── PinYin.java
│ │ ├── SequenceNumberMaker.java
│ │ ├── SortComparator.java
│ │ └── StringUtil.java
│ └── widget
│ ├── CustomViewPager.java
│ ├── EmoGridView.java
│ ├── GroupManagerGridView.java
│ ├── MessageOperatePopup.java
│ ├── MGDialog.java
│ ├── MGProgressbar.java
│ ├── NaviTabButton.java
│ ├── PinkToast.java
│ ├── SearchEditText.java
│ ├── SortSideBar.java
│ ├── SpeekerToast.java
│ └── TopTabButton.java
├── mgimlibs
│ ├── AndroidManifest.xml
│ ├── bin
│ │ ├── AndroidManifest.xml
│ │ ├── classes
│ │ │ └── com
│ │ │ ├── handmark
│ │ │ │ └── pulltorefresh
│ │ │ │ └── library
│ │ │ │ ├── extras
│ │ │ │ │ ├── PullToRefreshWebView2$JsValueCallback.class
│ │ │ │ │ ├── PullToRefreshWebView2.class
│ │ │ │ │ └── SoundPullEventListener.class
│ │ │ │ ├── ILoadingLayout.class
│ │ │ │ ├── internal
│ │ │ │ │ ├── EmptyViewMethodAccessor.class
│ │ │ │ │ ├── FlipLoadingLayout.class
│ │ │ │ │ ├── IndicatorLayout$1.class
│ │ │ │ │ ├── IndicatorLayout.class
│ │ │ │ │ ├── LoadingLayout.class
│ │ │ │ │ ├── RotateLoadingLayout.class
│ │ │ │ │ ├── Utils.class
│ │ │ │ │ ├── ViewCompat$SDK11.class
│ │ │ │ │ ├── ViewCompat$SDK16.class
│ │ │ │ │ └── ViewCompat.class
│ │ │ │ ├── IPullToRefresh.class
│ │ │ │ ├── LoadingLayoutProxy.class
│ │ │ │ ├── OverscrollHelper.class
│ │ │ │ ├── PullToRefreshAdapterViewBase.class
│ │ │ │ ├── PullToRefreshBase$1.class
│ │ │ │ ├── PullToRefreshBase$2.class
│ │ │ │ ├── PullToRefreshBase$3.class
│ │ │ │ ├── PullToRefreshBase$4.class
│ │ │ │ ├── PullToRefreshBase$AnimationStyle.class
│ │ │ │ ├── PullToRefreshBase$Mode.class
│ │ │ │ ├── PullToRefreshBase$OnLastItemVisibleListener.class
│ │ │ │ ├── PullToRefreshBase$OnPullEventListener.class
│ │ │ │ ├── PullToRefreshBase$OnRefreshListener2.class
│ │ │ │ ├── PullToRefreshBase$OnRefreshListener.class
│ │ │ │ ├── PullToRefreshBase$OnSmoothScrollFinishedListener.class
│ │ │ │ ├── PullToRefreshBase$Orientation.class
│ │ │ │ ├── PullToRefreshBase$SmoothScrollRunnable.class
│ │ │ │ ├── PullToRefreshBase$State.class
│ │ │ │ ├── PullToRefreshBase.class
│ │ │ │ ├── PullToRefreshExpandableListView$InternalExpandableListView.class
│ │ │ │ ├── PullToRefreshExpandableListView$InternalExpandableListViewSDK9.class
│ │ │ │ ├── PullToRefreshExpandableListView.class
│ │ │ │ ├── PullToRefreshGridView$InternalGridView.class
│ │ │ │ ├── PullToRefreshGridView$InternalGridViewSDK9.class
│ │ │ │ ├── PullToRefreshGridView.class
│ │ │ │ ├── PullToRefreshHorizontalScrollView$InternalHorizontalScrollViewSDK9.class
│ │ │ │ ├── PullToRefreshHorizontalScrollView.class
│ │ │ │ ├── PullToRefreshListView$InternalListView.class
│ │ │ │ ├── PullToRefreshListView$InternalListViewSDK9.class
│ │ │ │ ├── PullToRefreshListView.class
│ │ │ │ ├── PullToRefreshListViewForNoneHeaderDivider$InternalListView.class
│ │ │ │ ├── PullToRefreshListViewForNoneHeaderDivider$InternalListViewSDK9.class
│ │ │ │ ├── PullToRefreshListViewForNoneHeaderDivider.class
│ │ │ │ ├── PullToRefreshScrollView$InternalScrollViewSDK9.class
│ │ │ │ ├── PullToRefreshScrollView.class
│ │ │ │ ├── PullToRefreshWebView$1.class
│ │ │ │ ├── PullToRefreshWebView$2.class
│ │ │ │ ├── PullToRefreshWebView$InternalWebViewSDK9.class
│ │ │ │ └── PullToRefreshWebView.class
│ │ │ ├── mogujie
│ │ │ │ ├── im
│ │ │ │ │ └── libs
│ │ │ │ │ ├── BuildConfig.class
│ │ │ │ │ ├── R$anim.class
│ │ │ │ │ ├── R$attr.class
│ │ │ │ │ ├── R$dimen.class
│ │ │ │ │ ├── R$drawable.class
│ │ │ │ │ ├── R$id.class
│ │ │ │ │ ├── R$layout.class
│ │ │ │ │ ├── R$string.class
│ │ │ │ │ ├── R$styleable.class
│ │ │ │ │ └── R.class
│ │ │ │ ├── tools
│ │ │ │ │ ├── EncryptTools.class
│ │ │ │ │ ├── FileIOTools$1.class
│ │ │ │ │ ├── FileIOTools$2.class
│ │ │ │ │ ├── FileIOTools$TimeFlitter.class
│ │ │ │ │ ├── FileIOTools.class
│ │ │ │ │ ├── MGAutoUpdate$1.class
│ │ │ │ │ ├── MGAutoUpdate$2.class
│ │ │ │ │ ├── MGAutoUpdate$3.class
│ │ │ │ │ ├── MGAutoUpdate$4.class
│ │ │ │ │ ├── MGAutoUpdate$OnUpdateFinishListener.class
│ │ │ │ │ ├── MGAutoUpdate$UpdateOnCancleListener.class
│ │ │ │ │ ├── MGAutoUpdate.class
│ │ │ │ │ ├── MGJNotify.class
│ │ │ │ │ ├── MGJPictureRotationCaptchaView$1.class
│ │ │ │ │ ├── MGJPictureRotationCaptchaView$2.class
│ │ │ │ │ ├── MGJPictureRotationCaptchaView$3.class
│ │ │ │ │ ├── MGJPictureRotationCaptchaView$4.class
│ │ │ │ │ ├── MGJPictureRotationCaptchaView$5.class
│ │ │ │ │ ├── MGJPictureRotationCaptchaView$6.class
│ │ │ │ │ ├── MGJPictureRotationCaptchaView$OnLoadFinishListener.class
│ │ │ │ │ ├── MGJPictureRotationCaptchaView.class
│ │ │ │ │ ├── ScreenTools.class
│ │ │ │ │ ├── StringTools.class
│ │ │ │ │ ├── SysInfo.class
│ │ │ │ │ └── TimeTools.class
│ │ │ │ └── widget
│ │ │ │ └── imageview
│ │ │ │ ├── BitmapUtils$Effection.class
│ │ │ │ ├── BitmapUtils.class
│ │ │ │ ├── CircleTransfrom.class
│ │ │ │ ├── FixedProportionImageView.class
│ │ │ │ ├── MGWebCircleImageView.class
│ │ │ │ ├── MGWebImageView$CancelableTarget.class
│ │ │ │ ├── MGWebImageView$TargetCallback.class
│ │ │ │ ├── MGWebImageView.class
│ │ │ │ ├── MGWebImageViewWithCover.class
│ │ │ │ ├── MGWebImageviewWithFixRatio.class
│ │ │ │ ├── MGWebRoundCornerImageView.class
│ │ │ │ └── RoundedCornerTransfrom.class
│ │ │ ├── polites
│ │ │ │ └── android
│ │ │ │ ├── Animation.class
│ │ │ │ ├── Animator.class
│ │ │ │ ├── FlingAnimation.class
│ │ │ │ ├── FlingAnimationListener.class
│ │ │ │ ├── FlingListener.class
│ │ │ │ ├── GestureImageView$1.class
│ │ │ │ ├── GestureImageView.class
│ │ │ │ ├── GestureImageViewListener.class
│ │ │ │ ├── GestureImageViewTouchListener$1.class
│ │ │ │ ├── GestureImageViewTouchListener$2.class
│ │ │ │ ├── GestureImageViewTouchListener$3.class
│ │ │ │ ├── GestureImageViewTouchListener$4.class
│ │ │ │ ├── GestureImageViewTouchListener.class
│ │ │ │ ├── MathUtils.class
│ │ │ │ ├── MoveAnimation.class
│ │ │ │ ├── MoveAnimationListener.class
│ │ │ │ ├── VectorF.class
│ │ │ │ ├── ZoomAnimation.class
│ │ │ │ └── ZoomAnimationListener.class
│ │ │ └── squareup
│ │ │ └── picasso
│ │ │ ├── Action$RequestWeakReference.class
│ │ │ ├── Action.class
│ │ │ ├── AssetBitmapHunter.class
│ │ │ ├── BitmapHunter$1.class
│ │ │ ├── BitmapHunter$2.class
│ │ │ ├── BitmapHunter$3.class
│ │ │ ├── BitmapHunter$4.class
│ │ │ ├── BitmapHunter.class
│ │ │ ├── Cache$1.class
│ │ │ ├── Cache.class
│ │ │ ├── Callback$EmptyCallback.class
│ │ │ ├── Callback.class
│ │ │ ├── ContactsPhotoBitmapHunter$ContactPhotoStreamIcs.class
│ │ │ ├── ContactsPhotoBitmapHunter.class
│ │ │ ├── ContentProviderBitmapHunter.class
│ │ │ ├── ContentStreamBitmapHunter.class
│ │ │ ├── DeferredRequestCreator.class
│ │ │ ├── Dispatcher$DispatcherHandler$1.class
│ │ │ ├── Dispatcher$DispatcherHandler.class
│ │ │ ├── Dispatcher$DispatcherThread.class
│ │ │ ├── Dispatcher$NetworkBroadcastReceiver.class
│ │ │ ├── Dispatcher.class
│ │ │ ├── Downloader$Response.class
│ │ │ ├── Downloader$ResponseException.class
│ │ │ ├── Downloader.class
│ │ │ ├── FetchAction.class
│ │ │ ├── FileBitmapHunter.class
│ │ │ ├── GetAction.class
│ │ │ ├── ImageViewAction.class
│ │ │ ├── LruCache.class
│ │ │ ├── MarkableInputStream.class
│ │ │ ├── MediaStoreBitmapHunter$PicassoKind.class
│ │ │ ├── MediaStoreBitmapHunter.class
│ │ │ ├── NetworkBitmapHunter.class
│ │ │ ├── OkHttpDownloader.class
│ │ │ ├── Picasso$1.class
│ │ │ ├── Picasso$Builder.class
│ │ │ ├── Picasso$CleanupThread$1.class
│ │ │ ├── Picasso$CleanupThread.class
│ │ │ ├── Picasso$Listener.class
│ │ │ ├── Picasso$LoadedFrom.class
│ │ │ ├── Picasso$RequestTransformer$1.class
│ │ │ ├── Picasso$RequestTransformer.class
│ │ │ ├── Picasso.class
│ │ │ ├── PicassoDrawable.class
│ │ │ ├── PicassoExecutorService.class
│ │ │ ├── Request$Builder.class
│ │ │ ├── Request.class
│ │ │ ├── RequestCreator.class
│ │ │ ├── ResourceBitmapHunter.class
│ │ │ ├── Stats$StatsHandler$1.class
│ │ │ ├── Stats$StatsHandler.class
│ │ │ ├── Stats.class
│ │ │ ├── StatsSnapshot.class
│ │ │ ├── TargetAction.class
│ │ │ ├── Target.class
│ │ │ ├── Transformation.class
│ │ │ ├── UrlConnectionDownloader$ResponseCacheIcs.class
│ │ │ ├── UrlConnectionDownloader.class
│ │ │ ├── Utils$ActivityManagerHoneycomb.class
│ │ │ ├── Utils$BitmapHoneycombMR1.class
│ │ │ ├── Utils$OkHttpLoaderCreator.class
│ │ │ ├── Utils$PicassoThread.class
│ │ │ ├── Utils$PicassoThreadFactory.class
│ │ │ └── Utils.class
│ │ ├── jarlist.cache
│ │ ├── mgimlibs.jar
│ │ ├── res
│ │ │ └── crunch
│ │ │ └── drawable-xhdpi
│ │ │ ├── default_ptr_flip.png
│ │ │ ├── default_ptr_rotate.png
│ │ │ ├── ic_launcher.png
│ │ │ ├── indicator_arrow.png
│ │ │ ├── pull_to_refresh_indicator.png
│ │ │ ├── shadow_bottom.png
│ │ │ ├── shadow_left.png
│ │ │ └── shadow_right.png
│ │ └── R.txt
│ ├── gen
│ │ └── com
│ │ └── mogujie
│ │ └── im
│ │ └── libs
│ │ ├── BuildConfig.java
│ │ └── R.java
│ ├── libs
│ │ ├── android-support-v4.jar
│ │ └── okhttp-1.3.0-jar-with-dependencies.jar
│ ├── project.properties
│ ├── README
│ ├── res
│ │ ├── anim
│ │ │ ├── slide_in_from_bottom.xml
│ │ │ ├── slide_in_from_top.xml
│ │ │ ├── slide_out_to_bottom.xml
│ │ │ └── slide_out_to_top.xml
│ │ ├── drawable
│ │ │ ├── captcha_lib_image_layout_shape.xml
│ │ │ ├── indicator_bg_bottom.xml
│ │ │ ├── indicator_bg_top.xml
│ │ │ └── pull_to_refresh_indicator_bg.xml
│ │ ├── drawable-xhdpi
│ │ │ ├── default_ptr_flip.png
│ │ │ ├── default_ptr_rotate.png
│ │ │ ├── ic_launcher.png
│ │ │ ├── indicator_arrow.png
│ │ │ ├── pull_to_refresh_indicator.png
│ │ │ ├── shadow_bottom.png
│ │ │ ├── shadow_left.png
│ │ │ └── shadow_right.png
│ │ ├── layout
│ │ │ ├── picutre_borad.xml
│ │ │ ├── pull_refresh_scroll_view.xml
│ │ │ ├── pull_to_refresh_header_horizontal.xml
│ │ │ └── pull_to_refresh_header_vertical.xml
│ │ └── values
│ │ ├── lib_attrs.xml
│ │ ├── prs_dimens.xml
│ │ ├── prs_strings.xml
│ │ ├── prs_styles.xml
│ │ ├── ptr_attrs.xml
│ │ ├── ptr_dimens.xml
│ │ ├── ptr_ids.xml
│ │ ├── pull_refresh_strings.xml
│ │ └── strings.xml
│ └── src
│ └── com
│ ├── handmark
│ │ └── pulltorefresh
│ │ └── library
│ │ ├── extras
│ │ │ ├── PullToRefreshWebView2.java
│ │ │ └── SoundPullEventListener.java
│ │ ├── ILoadingLayout.java
│ │ ├── internal
│ │ │ ├── EmptyViewMethodAccessor.java
│ │ │ ├── FlipLoadingLayout.java
│ │ │ ├── IndicatorLayout.java
│ │ │ ├── LoadingLayout.java
│ │ │ ├── RotateLoadingLayout.java
│ │ │ ├── Utils.java
│ │ │ └── ViewCompat.java
│ │ ├── IPullToRefresh.java
│ │ ├── LoadingLayoutProxy.java
│ │ ├── OverscrollHelper.java
│ │ ├── PullToRefreshAdapterViewBase.java
│ │ ├── PullToRefreshBase.java
│ │ ├── PullToRefreshExpandableListView.java
│ │ ├── PullToRefreshGridView.java
│ │ ├── PullToRefreshHorizontalScrollView.java
│ │ ├── PullToRefreshListViewForNoneHeaderDivider.java
│ │ ├── PullToRefreshListView.java
│ │ ├── PullToRefreshScrollView.java
│ │ └── PullToRefreshWebView.java
│ ├── mogujie
│ │ ├── tools
│ │ │ ├── EncryptTools.java
│ │ │ ├── FileIOTools.java
│ │ │ ├── MGAutoUpdate.java
│ │ │ ├── MGJNotify.java
│ │ │ ├── MGJPictureRotationCaptchaView.java
│ │ │ ├── ScreenTools.java
│ │ │ ├── StringTools.java
│ │ │ ├── SysInfo.java
│ │ │ └── TimeTools.java
│ │ └── widget
│ │ └── imageview
│ │ ├── BitmapUtils.java
│ │ ├── CircleTransfrom.java
│ │ ├── FixedProportionImageView.java
│ │ ├── MGWebCircleImageView.java
│ │ ├── MGWebImageView.java
│ │ ├── MGWebImageViewWithCover.java
│ │ ├── MGWebImageviewWithFixRatio.java
│ │ ├── MGWebRoundCornerImageView.java
│ │ └── RoundedCornerTransfrom.java
│ ├── polites
│ │ └── android
│ │ ├── Animation.java
│ │ ├── Animator.java
│ │ ├── FlingAnimation.java
│ │ ├── FlingAnimationListener.java
│ │ ├── FlingListener.java
│ │ ├── GestureImageView.java
│ │ ├── GestureImageViewListener.java
│ │ ├── GestureImageViewTouchListener.java
│ │ ├── MathUtils.java
│ │ ├── MoveAnimation.java
│ │ ├── MoveAnimationListener.java
│ │ ├── VectorF.java
│ │ ├── ZoomAnimation.java
│ │ └── ZoomAnimationListener.java
│ └── squareup
│ └── picasso
│ ├── Action.java
│ ├── AssetBitmapHunter.java
│ ├── BitmapHunter.java
│ ├── Cache.java
│ ├── Callback.java
│ ├── ContactsPhotoBitmapHunter.java
│ ├── ContentProviderBitmapHunter.java
│ ├── ContentStreamBitmapHunter.java
│ ├── DeferredRequestCreator.java
│ ├── Dispatcher.java
│ ├── Downloader.java
│ ├── FetchAction.java
│ ├── FileBitmapHunter.java
│ ├── GetAction.java
│ ├── ImageViewAction.java
│ ├── LruCache.java
│ ├── MarkableInputStream.java
│ ├── MediaStoreBitmapHunter.java
│ ├── NetworkBitmapHunter.java
│ ├── OkHttpDownloader.java
│ ├── PicassoDrawable.java
│ ├── PicassoExecutorService.java
│ ├── Picasso.java
│ ├── RequestCreator.java
│ ├── Request.java
│ ├── ResourceBitmapHunter.java
│ ├── Stats.java
│ ├── StatsSnapshot.java
│ ├── TargetAction.java
│ ├── Target.java
│ ├── Transformation.java
│ ├── UrlConnectionDownloader.java
│ └── Utils.java
└── README.md
177 directories, 1600 files
标签:
好例子网口号:伸出你的我的手 — 分享!
小贴士
感谢您为本站写下的评论,您的评论对其它用户来说具有重要的参考价值,所以请认真填写。
- 类似“顶”、“沙发”之类没有营养的文字,对勤劳贡献的楼主来说是令人沮丧的反馈信息。
- 相信您也不想看到一排文字/表情墙,所以请不要反馈意义不大的重复字符,也请尽量不要纯表情的回复。
- 提问之前请再仔细看一遍楼主的说明,或许是您遗漏了。
- 请勿到处挖坑绊人、招贴广告。既占空间让人厌烦,又没人会搭理,于人于己都无利。
关于好例子网
本站旨在为广大IT学习爱好者提供一个非营利性互相学习交流分享平台。本站所有资源都可以被免费获取学习研究。本站资源来自网友分享,对搜索内容的合法性不具有预见性、识别性、控制性,仅供学习研究,请务必在下载后24小时内给予删除,不得用于其他任何用途,否则后果自负。基于互联网的特殊性,平台无法对用户传输的作品、信息、内容的权属或合法性、安全性、合规性、真实性、科学性、完整权、有效性等进行实质审查;无论平台是否已进行审查,用户均应自行承担因其传输的作品、信息、内容而可能或已经产生的侵权或权属纠纷等法律责任。本站所有资源不代表本站的观点或立场,基于网友分享,根据中国法律《信息网络传播权保护条例》第二十二与二十三条之规定,若资源存在侵权或相关问题请联系本站客服人员,点此联系我们。关于更多版权及免责申明参见 版权及免责申明
网友评论
我要评论