From d2cda779b3dcaad81ad68018270b84636a576c37 Mon Sep 17 00:00:00 2001 From: laco0416 Date: Sun, 26 Apr 2015 19:03:29 +0900 Subject: Reconstruct the project --- .../net/lacolaco/smileessence/Application.java | 42 + .../net/lacolaco/smileessence/IntentRouter.java | 232 ++++++ .../smileessence/activity/EditCommandActivity.java | 170 ++++ .../activity/EditExtractionActivity.java | 216 +++++ .../smileessence/activity/EditTabActivity.java | 160 ++++ .../activity/EditTemplateActivity.java | 216 +++++ .../smileessence/activity/LicenseActivity.java | 96 +++ .../smileessence/activity/MainActivity.java | 745 +++++++++++++++++ .../smileessence/activity/OAuthActivity.java | 115 +++ .../smileessence/activity/SettingActivity.java | 60 ++ .../net/lacolaco/smileessence/command/Command.java | 163 ++++ .../command/CommandOpenHashtagDialog.java | 68 ++ .../smileessence/command/CommandOpenSearch.java | 69 ++ .../command/CommandOpenTemplateList.java | 62 ++ .../smileessence/command/CommandOpenURL.java | 66 ++ .../command/CommandOpenUserDetail.java | 87 ++ .../smileessence/command/CommandOpenUserList.java | 64 ++ .../smileessence/command/CommandPasteToPost.java | 67 ++ .../command/CommandSaveAsTemplate.java | 66 ++ .../command/CommandSearchOnTwitter.java | 64 ++ .../smileessence/command/IConfirmable.java | 32 + .../command/message/MessageCommand.java | 51 ++ .../message/MessageCommandCopyTextToClipboard.java | 65 ++ .../message/MessageCommandSearchOnGoogle.java | 64 ++ .../command/message/MessageCommandShare.java | 67 ++ .../command/message/MessageCommandTofuBuster.java | 73 ++ .../smileessence/command/post/PostCommand.java | 68 ++ .../command/post/PostCommandInsert.java | 65 ++ .../command/post/PostCommandMakeAnonymous.java | 64 ++ .../command/post/PostCommandMorse.java | 65 ++ .../command/post/PostCommandUseTemplate.java | 52 ++ .../command/post/PostCommandZekamashi.java | 76 ++ .../smileessence/command/status/StatusCommand.java | 55 ++ .../command/status/StatusCommandAddToIgnore.java | 63 ++ .../command/status/StatusCommandAddToReply.java | 64 ++ .../command/status/StatusCommandCongratulate.java | 101 +++ .../command/status/StatusCommandCopy.java | 64 ++ .../status/StatusCommandCopyTextToClipboard.java | 65 ++ .../status/StatusCommandCopyURLToClipboard.java | 67 ++ .../command/status/StatusCommandFavAndRT.java | 73 ++ .../command/status/StatusCommandMakeAnonymous.java | 91 +++ .../command/status/StatusCommandNanigaja.java | 98 +++ .../command/status/StatusCommandOpenInBrowser.java | 61 ++ .../status/StatusCommandOpenQuoteDialog.java | 64 ++ .../command/status/StatusCommandOpenTalkView.java | 70 ++ .../command/status/StatusCommandReview.java | 64 ++ .../status/StatusCommandSearchOnGoogle.java | 64 ++ .../command/status/StatusCommandShare.java | 67 ++ .../command/status/StatusCommandTextQuote.java | 68 ++ .../command/status/StatusCommandTofuBuster.java | 73 ++ .../command/status/StatusCommandURLQuote.java | 66 ++ .../smileessence/command/user/UserCommand.java | 51 ++ .../command/user/UserCommandAddToReply.java | 64 ++ .../command/user/UserCommandBlock.java | 69 ++ .../command/user/UserCommandIntroduce.java | 65 ++ .../command/user/UserCommandOpenAclog.java | 61 ++ .../command/user/UserCommandOpenFavstar.java | 61 ++ .../command/user/UserCommandOpenTwilog.java | 61 ++ .../command/user/UserCommandReply.java | 67 ++ .../command/user/UserCommandReportForSpam.java | 69 ++ .../command/user/UserCommandSendMessage.java | 70 ++ .../command/user/UserCommandUnblock.java | 69 ++ .../smileessence/data/CommandSettingCache.java | 64 ++ .../smileessence/data/DirectMessageCache.java | 91 +++ .../lacolaco/smileessence/data/FavoriteCache.java | 87 ++ .../net/lacolaco/smileessence/data/ImageCache.java | 92 +++ .../lacolaco/smileessence/data/StatusCache.java | 98 +++ .../net/lacolaco/smileessence/data/UserCache.java | 96 +++ .../lacolaco/smileessence/data/UserListCache.java | 72 ++ .../net/lacolaco/smileessence/entity/Account.java | 65 ++ .../smileessence/entity/CommandSetting.java | 65 ++ .../smileessence/entity/ExtractionWord.java | 81 ++ .../lacolaco/smileessence/entity/SearchQuery.java | 79 ++ .../net/lacolaco/smileessence/entity/Template.java | 84 ++ .../net/lacolaco/smileessence/logging/Logger.java | 56 ++ .../notification/NotificationType.java | 30 + .../smileessence/notification/Notificator.java | 147 ++++ .../preference/AppPreferenceHelper.java | 40 + .../preference/SharedPreferenceHelper.java | 113 +++ .../preference/UserPreferenceHelper.java | 130 +++ .../smileessence/smileessence/Application.java | 45 -- .../smileessence/smileessence/IntentRouter.java | 294 ------- .../smileessence/activity/EditCommandActivity.java | 194 ----- .../activity/EditExtractionActivity.java | 245 ------ .../smileessence/activity/EditTabActivity.java | 174 ---- .../activity/EditTemplateActivity.java | 245 ------ .../smileessence/activity/LicenseActivity.java | 104 --- .../smileessence/activity/MainActivity.java | 893 --------------------- .../smileessence/activity/OAuthActivity.java | 126 --- .../smileessence/activity/SettingActivity.java | 64 -- .../smileessence/smileessence/command/Command.java | 177 ---- .../command/CommandOpenHashtagDialog.java | 71 -- .../smileessence/command/CommandOpenSearch.java | 74 -- .../command/CommandOpenTemplateList.java | 66 -- .../smileessence/command/CommandOpenURL.java | 70 -- .../command/CommandOpenUserDetail.java | 95 --- .../smileessence/command/CommandOpenUserList.java | 68 -- .../smileessence/command/CommandPasteToPost.java | 71 -- .../command/CommandSaveAsTemplate.java | 70 -- .../command/CommandSearchOnTwitter.java | 68 -- .../smileessence/command/IConfirmable.java | 33 - .../command/message/MessageCommand.java | 52 -- .../message/MessageCommandCopyTextToClipboard.java | 68 -- .../message/MessageCommandSearchOnGoogle.java | 67 -- .../command/message/MessageCommandShare.java | 70 -- .../command/message/MessageCommandTofuBuster.java | 79 -- .../smileessence/command/post/PostCommand.java | 72 -- .../command/post/PostCommandInsert.java | 71 -- .../command/post/PostCommandMakeAnonymous.java | 69 -- .../command/post/PostCommandMorse.java | 70 -- .../command/post/PostCommandUseTemplate.java | 54 -- .../command/post/PostCommandZekamashi.java | 82 -- .../smileessence/command/status/StatusCommand.java | 57 -- .../command/status/StatusCommandAddToIgnore.java | 66 -- .../command/status/StatusCommandAddToReply.java | 67 -- .../command/status/StatusCommandCongratulate.java | 114 --- .../command/status/StatusCommandCopy.java | 67 -- .../status/StatusCommandCopyTextToClipboard.java | 68 -- .../status/StatusCommandCopyURLToClipboard.java | 48 -- .../command/status/StatusCommandFavAndRT.java | 76 -- .../command/status/StatusCommandMakeAnonymous.java | 97 --- .../command/status/StatusCommandNanigaja.java | 105 --- .../command/status/StatusCommandOpenInBrowser.java | 64 -- .../status/StatusCommandOpenQuoteDialog.java | 67 -- .../command/status/StatusCommandOpenTalkView.java | 73 -- .../command/status/StatusCommandReview.java | 67 -- .../status/StatusCommandSearchOnGoogle.java | 67 -- .../command/status/StatusCommandShare.java | 70 -- .../command/status/StatusCommandTextQuote.java | 71 -- .../command/status/StatusCommandTofuBuster.java | 79 -- .../command/status/StatusCommandURLQuote.java | 69 -- .../smileessence/command/user/UserCommand.java | 52 -- .../command/user/UserCommandAddToReply.java | 67 -- .../command/user/UserCommandBlock.java | 72 -- .../command/user/UserCommandIntroduce.java | 68 -- .../command/user/UserCommandOpenAclog.java | 64 -- .../command/user/UserCommandOpenFavstar.java | 64 -- .../command/user/UserCommandOpenTwilog.java | 64 -- .../command/user/UserCommandReply.java | 70 -- .../command/user/UserCommandReportForSpam.java | 72 -- .../command/user/UserCommandSendMessage.java | 73 -- .../command/user/UserCommandUnblock.java | 72 -- .../smileessence/data/CommandSettingCache.java | 70 -- .../smileessence/data/DirectMessageCache.java | 98 --- .../smileessence/data/FavoriteCache.java | 99 --- .../smileessence/smileessence/data/ImageCache.java | 101 --- .../smileessence/data/StatusCache.java | 108 --- .../smileessence/smileessence/data/UserCache.java | 105 --- .../smileessence/data/UserListCache.java | 79 -- .../smileessence/smileessence/entity/Account.java | 69 -- .../smileessence/entity/CommandSetting.java | 70 -- .../smileessence/entity/ExtractionWord.java | 85 -- .../smileessence/entity/SearchQuery.java | 88 -- .../smileessence/smileessence/entity/Template.java | 88 -- .../smileessence/smileessence/logging/Logger.java | 62 -- .../notification/NotificationType.java | 31 - .../smileessence/notification/Notificator.java | 169 ---- .../preference/AppPreferenceHelper.java | 42 - .../preference/SharedPreferenceHelper.java | 128 --- .../preference/UserPreferenceHelper.java | 155 ---- .../smileessence/twitter/OAuthSession.java | 88 -- .../smileessence/twitter/StatusFilter.java | 67 -- .../smileessence/twitter/TweetBuilder.java | 123 --- .../smileessence/twitter/TwitterApi.java | 79 -- .../smileessence/twitter/UserStreamListener.java | 334 -------- .../smileessence/twitter/task/AccessTokenTask.java | 62 -- .../smileessence/twitter/task/BlockIDsTask.java | 83 -- .../smileessence/twitter/task/BlockTask.java | 84 -- .../twitter/task/DeleteMessageTask.java | 85 -- .../twitter/task/DeleteStatusTask.java | 84 -- .../twitter/task/DirectMessagesTask.java | 102 --- .../smileessence/twitter/task/FavoriteTask.java | 84 -- .../smileessence/twitter/task/FollowTask.java | 84 -- .../twitter/task/GetUserListsTask.java | 73 -- .../twitter/task/HomeTimelineTask.java | 104 --- .../twitter/task/MentionsTimelineTask.java | 104 --- .../smileessence/twitter/task/MutesIDsTask.java | 83 -- .../twitter/task/ReportForSpamTask.java | 84 -- .../twitter/task/RequestTokenTask.java | 59 -- .../smileessence/twitter/task/RetweetTask.java | 84 -- .../smileessence/twitter/task/SearchTask.java | 112 --- .../smileessence/twitter/task/SendMessageTask.java | 87 -- .../twitter/task/SentDirectMessagesTask.java | 102 --- .../twitter/task/ShowDirectMessageTask.java | 73 -- .../twitter/task/ShowFriendshipTask.java | 77 -- .../smileessence/twitter/task/ShowStatusTask.java | 73 -- .../smileessence/twitter/task/ShowUserTask.java | 89 -- .../smileessence/twitter/task/TweetTask.java | 167 ---- .../smileessence/twitter/task/TwitterTask.java | 43 - .../smileessence/twitter/task/UnblockTask.java | 84 -- .../smileessence/twitter/task/UnfavoriteTask.java | 84 -- .../smileessence/twitter/task/UnfollowTask.java | 84 -- .../twitter/task/UserListStatusesTask.java | 87 -- .../twitter/task/UserTimelineTask.java | 88 -- .../smileessence/twitter/util/TwitterUtils.java | 346 -------- .../smileessence/util/BitmapOptimizer.java | 144 ---- .../smileessence/util/BitmapThumbnailTask.java | 80 -- .../smileessence/util/BitmapURLTask.java | 91 --- .../smileessence/util/IntentUtils.java | 98 --- .../smileessence/smileessence/util/Morse.java | 156 ---- .../smileessence/smileessence/util/NameStyles.java | 54 -- .../smileessence/util/NetworkHelper.java | 53 -- .../smileessence/util/StringUtils.java | 68 -- .../smileessence/smileessence/util/Themes.java | 82 -- .../smileessence/smileessence/util/UIHandler.java | 79 -- .../smileessence/view/CustomListFragment.java | 189 ----- .../smileessence/view/HistoryFragment.java | 58 -- .../smileessence/view/HomeFragment.java | 136 ---- .../smileessence/view/MentionsFragment.java | 116 --- .../smileessence/view/MessagesFragment.java | 119 --- .../smileessence/view/PostFragment.java | 449 ----------- .../smileessence/view/SearchFragment.java | 407 ---------- .../smileessence/view/SettingFragment.java | 212 ----- .../smileessence/view/TextFragment.java | 59 -- .../smileessence/view/UserListFragment.java | 242 ------ .../view/adapter/CustomListAdapter.java | 209 ----- .../view/adapter/EventListAdapter.java | 39 - .../view/adapter/MessageListAdapter.java | 125 --- .../smileessence/view/adapter/PageListAdapter.java | 207 ----- .../smileessence/view/adapter/PostState.java | 232 ------ .../view/adapter/SearchListAdapter.java | 93 --- .../view/adapter/StatusListAdapter.java | 132 --- .../view/dialog/ChooseTemplateDialogFragment.java | 84 -- .../view/dialog/ConfirmDialogFragment.java | 142 ---- .../smileessence/view/dialog/DialogHelper.java | 108 --- .../smileessence/view/dialog/DisposeDialog.java | 56 -- .../view/dialog/EditTextDialogFragment.java | 98 --- .../view/dialog/HashtagDialogFragment.java | 100 --- .../view/dialog/MenuDialogFragment.java | 79 -- .../view/dialog/MessageDetailDialogFragment.java | 305 ------- .../view/dialog/MessageMenuDialogFragment.java | 170 ---- .../view/dialog/PostMenuDialogFragment.java | 104 --- .../view/dialog/QuoteDialogFragment.java | 113 --- .../view/dialog/ReviewDialogFragment.java | 141 ---- .../view/dialog/SearchOnGoogleDialogFragment.java | 146 ---- .../view/dialog/SelectImageDialogFragment.java | 143 ---- .../dialog/SelectSearchQueryDialogFragment.java | 115 --- .../view/dialog/SelectUserListDialogFragment.java | 84 -- .../view/dialog/SendMessageDialogFragment.java | 182 ----- .../view/dialog/SimpleDialogFragment.java | 88 -- .../view/dialog/StatusDetailDialogFragment.java | 397 --------- .../view/dialog/StatusMenuDialogFragment.java | 171 ---- .../view/dialog/TalkChainDialogFragment.java | 153 ---- .../view/dialog/UserDetailDialogFragment.java | 527 ------------ .../view/dialog/UserMenuDialogFragment.java | 133 --- .../view/listener/ListItemClickListener.java | 71 -- .../smileessence/viewmodel/CheckBoxModel.java | 87 -- .../viewmodel/EditableCheckBoxModel.java | 134 ---- .../smileessence/viewmodel/EnumEvent.java | 58 -- .../smileessence/viewmodel/EventViewModel.java | 201 ----- .../smileessence/viewmodel/IViewModel.java | 37 - .../smileessence/viewmodel/MessageViewModel.java | 215 ----- .../smileessence/viewmodel/StatusViewModel.java | 497 ------------ .../viewmodel/UserListListAdapter.java | 69 -- .../smileessence/viewmodel/UserViewModel.java | 140 ---- .../viewmodel/menu/MainActivityMenuHelper.java | 157 ---- .../smileessence/twitter/OAuthSession.java | 81 ++ .../smileessence/twitter/StatusFilter.java | 60 ++ .../smileessence/twitter/TweetBuilder.java | 109 +++ .../lacolaco/smileessence/twitter/TwitterApi.java | 85 ++ .../smileessence/twitter/UserStreamListener.java | 293 +++++++ .../smileessence/twitter/task/AccessTokenTask.java | 56 ++ .../smileessence/twitter/task/BlockIDsTask.java | 74 ++ .../smileessence/twitter/task/BlockTask.java | 76 ++ .../twitter/task/DeleteMessageTask.java | 77 ++ .../twitter/task/DeleteStatusTask.java | 76 ++ .../twitter/task/DirectMessagesTask.java | 88 ++ .../smileessence/twitter/task/FavoriteTask.java | 76 ++ .../smileessence/twitter/task/FollowTask.java | 76 ++ .../twitter/task/GetUserListsTask.java | 66 ++ .../twitter/task/HomeTimelineTask.java | 90 +++ .../twitter/task/MentionsTimelineTask.java | 90 +++ .../smileessence/twitter/task/MutesIDsTask.java | 74 ++ .../twitter/task/ReportForSpamTask.java | 76 ++ .../twitter/task/RequestTokenTask.java | 54 ++ .../smileessence/twitter/task/RetweetTask.java | 76 ++ .../smileessence/twitter/task/SearchTask.java | 101 +++ .../smileessence/twitter/task/SendMessageTask.java | 79 ++ .../twitter/task/SentDirectMessagesTask.java | 88 ++ .../twitter/task/ShowDirectMessageTask.java | 66 ++ .../twitter/task/ShowFriendshipTask.java | 68 ++ .../smileessence/twitter/task/ShowStatusTask.java | 66 ++ .../smileessence/twitter/task/ShowUserTask.java | 78 ++ .../smileessence/twitter/task/TweetTask.java | 143 ++++ .../smileessence/twitter/task/TwitterTask.java | 42 + .../smileessence/twitter/task/UnblockTask.java | 76 ++ .../smileessence/twitter/task/UnfavoriteTask.java | 76 ++ .../smileessence/twitter/task/UnfollowTask.java | 76 ++ .../twitter/task/UserListStatusesTask.java | 79 ++ .../twitter/task/UserTimelineTask.java | 77 ++ .../smileessence/twitter/util/TwitterUtils.java | 289 +++++++ .../smileessence/util/BitmapOptimizer.java | 120 +++ .../smileessence/util/BitmapThumbnailTask.java | 75 ++ .../lacolaco/smileessence/util/BitmapURLTask.java | 78 ++ .../lacolaco/smileessence/util/IntentUtils.java | 89 ++ .../java/net/lacolaco/smileessence/util/Morse.java | 136 ++++ .../net/lacolaco/smileessence/util/NameStyles.java | 47 ++ .../lacolaco/smileessence/util/NetworkHelper.java | 50 ++ .../lacolaco/smileessence/util/StringUtils.java | 58 ++ .../net/lacolaco/smileessence/util/Themes.java | 75 ++ .../net/lacolaco/smileessence/util/UIHandler.java | 71 ++ .../smileessence/view/CustomListFragment.java | 167 ++++ .../smileessence/view/HistoryFragment.java | 55 ++ .../lacolaco/smileessence/view/HomeFragment.java | 123 +++ .../smileessence/view/MentionsFragment.java | 106 +++ .../smileessence/view/MessagesFragment.java | 109 +++ .../lacolaco/smileessence/view/PostFragment.java | 388 +++++++++ .../lacolaco/smileessence/view/SearchFragment.java | 346 ++++++++ .../smileessence/view/SettingFragment.java | 182 +++++ .../lacolaco/smileessence/view/TextFragment.java | 55 ++ .../smileessence/view/UserListFragment.java | 214 +++++ .../view/adapter/CustomListAdapter.java | 178 ++++ .../view/adapter/EventListAdapter.java | 38 + .../view/adapter/MessageListAdapter.java | 107 +++ .../smileessence/view/adapter/PageListAdapter.java | 186 +++++ .../smileessence/view/adapter/PostState.java | 202 +++++ .../view/adapter/SearchListAdapter.java | 83 ++ .../view/adapter/StatusListAdapter.java | 113 +++ .../view/dialog/ChooseTemplateDialogFragment.java | 80 ++ .../view/dialog/ConfirmDialogFragment.java | 125 +++ .../smileessence/view/dialog/DialogHelper.java | 97 +++ .../smileessence/view/dialog/DisposeDialog.java | 51 ++ .../view/dialog/EditTextDialogFragment.java | 91 +++ .../view/dialog/HashtagDialogFragment.java | 95 +++ .../view/dialog/MenuDialogFragment.java | 68 ++ .../view/dialog/MessageDetailDialogFragment.java | 264 ++++++ .../view/dialog/MessageMenuDialogFragment.java | 151 ++++ .../view/dialog/PostMenuDialogFragment.java | 98 +++ .../view/dialog/QuoteDialogFragment.java | 106 +++ .../view/dialog/ReviewDialogFragment.java | 129 +++ .../view/dialog/SearchOnGoogleDialogFragment.java | 132 +++ .../view/dialog/SelectImageDialogFragment.java | 130 +++ .../dialog/SelectSearchQueryDialogFragment.java | 106 +++ .../view/dialog/SelectUserListDialogFragment.java | 79 ++ .../view/dialog/SendMessageDialogFragment.java | 165 ++++ .../view/dialog/SimpleDialogFragment.java | 83 ++ .../view/dialog/StatusDetailDialogFragment.java | 331 ++++++++ .../view/dialog/StatusMenuDialogFragment.java | 152 ++++ .../view/dialog/TalkChainDialogFragment.java | 138 ++++ .../view/dialog/UserDetailDialogFragment.java | 449 +++++++++++ .../view/dialog/UserMenuDialogFragment.java | 123 +++ .../view/listener/ListItemClickListener.java | 67 ++ .../smileessence/viewmodel/CheckBoxModel.java | 80 ++ .../viewmodel/EditableCheckBoxModel.java | 119 +++ .../lacolaco/smileessence/viewmodel/EnumEvent.java | 55 ++ .../smileessence/viewmodel/EventViewModel.java | 181 +++++ .../smileessence/viewmodel/IViewModel.java | 36 + .../smileessence/viewmodel/MessageViewModel.java | 196 +++++ .../smileessence/viewmodel/StatusViewModel.java | 420 ++++++++++ .../viewmodel/UserListListAdapter.java | 64 ++ .../smileessence/viewmodel/UserViewModel.java | 124 +++ .../viewmodel/menu/MainActivityMenuHelper.java | 140 ++++ 352 files changed, 18438 insertions(+), 20558 deletions(-) create mode 100644 app/src/main/java/net/lacolaco/smileessence/Application.java create mode 100644 app/src/main/java/net/lacolaco/smileessence/IntentRouter.java create mode 100644 app/src/main/java/net/lacolaco/smileessence/activity/EditCommandActivity.java create mode 100644 app/src/main/java/net/lacolaco/smileessence/activity/EditExtractionActivity.java create mode 100644 app/src/main/java/net/lacolaco/smileessence/activity/EditTabActivity.java create mode 100644 app/src/main/java/net/lacolaco/smileessence/activity/EditTemplateActivity.java create mode 100644 app/src/main/java/net/lacolaco/smileessence/activity/LicenseActivity.java create mode 100644 app/src/main/java/net/lacolaco/smileessence/activity/MainActivity.java create mode 100644 app/src/main/java/net/lacolaco/smileessence/activity/OAuthActivity.java create mode 100644 app/src/main/java/net/lacolaco/smileessence/activity/SettingActivity.java create mode 100644 app/src/main/java/net/lacolaco/smileessence/command/Command.java create mode 100644 app/src/main/java/net/lacolaco/smileessence/command/CommandOpenHashtagDialog.java create mode 100644 app/src/main/java/net/lacolaco/smileessence/command/CommandOpenSearch.java create mode 100644 app/src/main/java/net/lacolaco/smileessence/command/CommandOpenTemplateList.java create mode 100644 app/src/main/java/net/lacolaco/smileessence/command/CommandOpenURL.java create mode 100644 app/src/main/java/net/lacolaco/smileessence/command/CommandOpenUserDetail.java create mode 100644 app/src/main/java/net/lacolaco/smileessence/command/CommandOpenUserList.java create mode 100644 app/src/main/java/net/lacolaco/smileessence/command/CommandPasteToPost.java create mode 100644 app/src/main/java/net/lacolaco/smileessence/command/CommandSaveAsTemplate.java create mode 100644 app/src/main/java/net/lacolaco/smileessence/command/CommandSearchOnTwitter.java create mode 100644 app/src/main/java/net/lacolaco/smileessence/command/IConfirmable.java create mode 100644 app/src/main/java/net/lacolaco/smileessence/command/message/MessageCommand.java create mode 100644 app/src/main/java/net/lacolaco/smileessence/command/message/MessageCommandCopyTextToClipboard.java create mode 100644 app/src/main/java/net/lacolaco/smileessence/command/message/MessageCommandSearchOnGoogle.java create mode 100644 app/src/main/java/net/lacolaco/smileessence/command/message/MessageCommandShare.java create mode 100644 app/src/main/java/net/lacolaco/smileessence/command/message/MessageCommandTofuBuster.java create mode 100644 app/src/main/java/net/lacolaco/smileessence/command/post/PostCommand.java create mode 100644 app/src/main/java/net/lacolaco/smileessence/command/post/PostCommandInsert.java create mode 100644 app/src/main/java/net/lacolaco/smileessence/command/post/PostCommandMakeAnonymous.java create mode 100644 app/src/main/java/net/lacolaco/smileessence/command/post/PostCommandMorse.java create mode 100644 app/src/main/java/net/lacolaco/smileessence/command/post/PostCommandUseTemplate.java create mode 100644 app/src/main/java/net/lacolaco/smileessence/command/post/PostCommandZekamashi.java create mode 100644 app/src/main/java/net/lacolaco/smileessence/command/status/StatusCommand.java create mode 100644 app/src/main/java/net/lacolaco/smileessence/command/status/StatusCommandAddToIgnore.java create mode 100644 app/src/main/java/net/lacolaco/smileessence/command/status/StatusCommandAddToReply.java create mode 100644 app/src/main/java/net/lacolaco/smileessence/command/status/StatusCommandCongratulate.java create mode 100644 app/src/main/java/net/lacolaco/smileessence/command/status/StatusCommandCopy.java create mode 100644 app/src/main/java/net/lacolaco/smileessence/command/status/StatusCommandCopyTextToClipboard.java create mode 100644 app/src/main/java/net/lacolaco/smileessence/command/status/StatusCommandCopyURLToClipboard.java create mode 100644 app/src/main/java/net/lacolaco/smileessence/command/status/StatusCommandFavAndRT.java create mode 100644 app/src/main/java/net/lacolaco/smileessence/command/status/StatusCommandMakeAnonymous.java create mode 100644 app/src/main/java/net/lacolaco/smileessence/command/status/StatusCommandNanigaja.java create mode 100644 app/src/main/java/net/lacolaco/smileessence/command/status/StatusCommandOpenInBrowser.java create mode 100644 app/src/main/java/net/lacolaco/smileessence/command/status/StatusCommandOpenQuoteDialog.java create mode 100644 app/src/main/java/net/lacolaco/smileessence/command/status/StatusCommandOpenTalkView.java create mode 100644 app/src/main/java/net/lacolaco/smileessence/command/status/StatusCommandReview.java create mode 100644 app/src/main/java/net/lacolaco/smileessence/command/status/StatusCommandSearchOnGoogle.java create mode 100644 app/src/main/java/net/lacolaco/smileessence/command/status/StatusCommandShare.java create mode 100644 app/src/main/java/net/lacolaco/smileessence/command/status/StatusCommandTextQuote.java create mode 100644 app/src/main/java/net/lacolaco/smileessence/command/status/StatusCommandTofuBuster.java create mode 100644 app/src/main/java/net/lacolaco/smileessence/command/status/StatusCommandURLQuote.java create mode 100644 app/src/main/java/net/lacolaco/smileessence/command/user/UserCommand.java create mode 100644 app/src/main/java/net/lacolaco/smileessence/command/user/UserCommandAddToReply.java create mode 100644 app/src/main/java/net/lacolaco/smileessence/command/user/UserCommandBlock.java create mode 100644 app/src/main/java/net/lacolaco/smileessence/command/user/UserCommandIntroduce.java create mode 100644 app/src/main/java/net/lacolaco/smileessence/command/user/UserCommandOpenAclog.java create mode 100644 app/src/main/java/net/lacolaco/smileessence/command/user/UserCommandOpenFavstar.java create mode 100644 app/src/main/java/net/lacolaco/smileessence/command/user/UserCommandOpenTwilog.java create mode 100644 app/src/main/java/net/lacolaco/smileessence/command/user/UserCommandReply.java create mode 100644 app/src/main/java/net/lacolaco/smileessence/command/user/UserCommandReportForSpam.java create mode 100644 app/src/main/java/net/lacolaco/smileessence/command/user/UserCommandSendMessage.java create mode 100644 app/src/main/java/net/lacolaco/smileessence/command/user/UserCommandUnblock.java create mode 100644 app/src/main/java/net/lacolaco/smileessence/data/CommandSettingCache.java create mode 100644 app/src/main/java/net/lacolaco/smileessence/data/DirectMessageCache.java create mode 100644 app/src/main/java/net/lacolaco/smileessence/data/FavoriteCache.java create mode 100644 app/src/main/java/net/lacolaco/smileessence/data/ImageCache.java create mode 100644 app/src/main/java/net/lacolaco/smileessence/data/StatusCache.java create mode 100644 app/src/main/java/net/lacolaco/smileessence/data/UserCache.java create mode 100644 app/src/main/java/net/lacolaco/smileessence/data/UserListCache.java create mode 100644 app/src/main/java/net/lacolaco/smileessence/entity/Account.java create mode 100644 app/src/main/java/net/lacolaco/smileessence/entity/CommandSetting.java create mode 100644 app/src/main/java/net/lacolaco/smileessence/entity/ExtractionWord.java create mode 100644 app/src/main/java/net/lacolaco/smileessence/entity/SearchQuery.java create mode 100644 app/src/main/java/net/lacolaco/smileessence/entity/Template.java create mode 100644 app/src/main/java/net/lacolaco/smileessence/logging/Logger.java create mode 100644 app/src/main/java/net/lacolaco/smileessence/notification/NotificationType.java create mode 100644 app/src/main/java/net/lacolaco/smileessence/notification/Notificator.java create mode 100644 app/src/main/java/net/lacolaco/smileessence/preference/AppPreferenceHelper.java create mode 100644 app/src/main/java/net/lacolaco/smileessence/preference/SharedPreferenceHelper.java create mode 100644 app/src/main/java/net/lacolaco/smileessence/preference/UserPreferenceHelper.java delete mode 100644 app/src/main/java/net/lacolaco/smileessence/smileessence/Application.java delete mode 100644 app/src/main/java/net/lacolaco/smileessence/smileessence/IntentRouter.java delete mode 100644 app/src/main/java/net/lacolaco/smileessence/smileessence/activity/EditCommandActivity.java delete mode 100644 app/src/main/java/net/lacolaco/smileessence/smileessence/activity/EditExtractionActivity.java delete mode 100644 app/src/main/java/net/lacolaco/smileessence/smileessence/activity/EditTabActivity.java delete mode 100644 app/src/main/java/net/lacolaco/smileessence/smileessence/activity/EditTemplateActivity.java delete mode 100644 app/src/main/java/net/lacolaco/smileessence/smileessence/activity/LicenseActivity.java delete mode 100644 app/src/main/java/net/lacolaco/smileessence/smileessence/activity/MainActivity.java delete mode 100644 app/src/main/java/net/lacolaco/smileessence/smileessence/activity/OAuthActivity.java delete mode 100644 app/src/main/java/net/lacolaco/smileessence/smileessence/activity/SettingActivity.java delete mode 100644 app/src/main/java/net/lacolaco/smileessence/smileessence/command/Command.java delete mode 100644 app/src/main/java/net/lacolaco/smileessence/smileessence/command/CommandOpenHashtagDialog.java delete mode 100644 app/src/main/java/net/lacolaco/smileessence/smileessence/command/CommandOpenSearch.java delete mode 100644 app/src/main/java/net/lacolaco/smileessence/smileessence/command/CommandOpenTemplateList.java delete mode 100644 app/src/main/java/net/lacolaco/smileessence/smileessence/command/CommandOpenURL.java delete mode 100644 app/src/main/java/net/lacolaco/smileessence/smileessence/command/CommandOpenUserDetail.java delete mode 100644 app/src/main/java/net/lacolaco/smileessence/smileessence/command/CommandOpenUserList.java delete mode 100644 app/src/main/java/net/lacolaco/smileessence/smileessence/command/CommandPasteToPost.java delete mode 100644 app/src/main/java/net/lacolaco/smileessence/smileessence/command/CommandSaveAsTemplate.java delete mode 100644 app/src/main/java/net/lacolaco/smileessence/smileessence/command/CommandSearchOnTwitter.java delete mode 100644 app/src/main/java/net/lacolaco/smileessence/smileessence/command/IConfirmable.java delete mode 100644 app/src/main/java/net/lacolaco/smileessence/smileessence/command/message/MessageCommand.java delete mode 100644 app/src/main/java/net/lacolaco/smileessence/smileessence/command/message/MessageCommandCopyTextToClipboard.java delete mode 100644 app/src/main/java/net/lacolaco/smileessence/smileessence/command/message/MessageCommandSearchOnGoogle.java delete mode 100644 app/src/main/java/net/lacolaco/smileessence/smileessence/command/message/MessageCommandShare.java delete mode 100644 app/src/main/java/net/lacolaco/smileessence/smileessence/command/message/MessageCommandTofuBuster.java delete mode 100644 app/src/main/java/net/lacolaco/smileessence/smileessence/command/post/PostCommand.java delete mode 100644 app/src/main/java/net/lacolaco/smileessence/smileessence/command/post/PostCommandInsert.java delete mode 100644 app/src/main/java/net/lacolaco/smileessence/smileessence/command/post/PostCommandMakeAnonymous.java delete mode 100644 app/src/main/java/net/lacolaco/smileessence/smileessence/command/post/PostCommandMorse.java delete mode 100644 app/src/main/java/net/lacolaco/smileessence/smileessence/command/post/PostCommandUseTemplate.java delete mode 100644 app/src/main/java/net/lacolaco/smileessence/smileessence/command/post/PostCommandZekamashi.java delete mode 100644 app/src/main/java/net/lacolaco/smileessence/smileessence/command/status/StatusCommand.java delete mode 100644 app/src/main/java/net/lacolaco/smileessence/smileessence/command/status/StatusCommandAddToIgnore.java delete mode 100644 app/src/main/java/net/lacolaco/smileessence/smileessence/command/status/StatusCommandAddToReply.java delete mode 100644 app/src/main/java/net/lacolaco/smileessence/smileessence/command/status/StatusCommandCongratulate.java delete mode 100644 app/src/main/java/net/lacolaco/smileessence/smileessence/command/status/StatusCommandCopy.java delete mode 100644 app/src/main/java/net/lacolaco/smileessence/smileessence/command/status/StatusCommandCopyTextToClipboard.java delete mode 100644 app/src/main/java/net/lacolaco/smileessence/smileessence/command/status/StatusCommandCopyURLToClipboard.java delete mode 100644 app/src/main/java/net/lacolaco/smileessence/smileessence/command/status/StatusCommandFavAndRT.java delete mode 100644 app/src/main/java/net/lacolaco/smileessence/smileessence/command/status/StatusCommandMakeAnonymous.java delete mode 100644 app/src/main/java/net/lacolaco/smileessence/smileessence/command/status/StatusCommandNanigaja.java delete mode 100644 app/src/main/java/net/lacolaco/smileessence/smileessence/command/status/StatusCommandOpenInBrowser.java delete mode 100644 app/src/main/java/net/lacolaco/smileessence/smileessence/command/status/StatusCommandOpenQuoteDialog.java delete mode 100644 app/src/main/java/net/lacolaco/smileessence/smileessence/command/status/StatusCommandOpenTalkView.java delete mode 100644 app/src/main/java/net/lacolaco/smileessence/smileessence/command/status/StatusCommandReview.java delete mode 100644 app/src/main/java/net/lacolaco/smileessence/smileessence/command/status/StatusCommandSearchOnGoogle.java delete mode 100644 app/src/main/java/net/lacolaco/smileessence/smileessence/command/status/StatusCommandShare.java delete mode 100644 app/src/main/java/net/lacolaco/smileessence/smileessence/command/status/StatusCommandTextQuote.java delete mode 100644 app/src/main/java/net/lacolaco/smileessence/smileessence/command/status/StatusCommandTofuBuster.java delete mode 100644 app/src/main/java/net/lacolaco/smileessence/smileessence/command/status/StatusCommandURLQuote.java delete mode 100644 app/src/main/java/net/lacolaco/smileessence/smileessence/command/user/UserCommand.java delete mode 100644 app/src/main/java/net/lacolaco/smileessence/smileessence/command/user/UserCommandAddToReply.java delete mode 100644 app/src/main/java/net/lacolaco/smileessence/smileessence/command/user/UserCommandBlock.java delete mode 100644 app/src/main/java/net/lacolaco/smileessence/smileessence/command/user/UserCommandIntroduce.java delete mode 100644 app/src/main/java/net/lacolaco/smileessence/smileessence/command/user/UserCommandOpenAclog.java delete mode 100644 app/src/main/java/net/lacolaco/smileessence/smileessence/command/user/UserCommandOpenFavstar.java delete mode 100644 app/src/main/java/net/lacolaco/smileessence/smileessence/command/user/UserCommandOpenTwilog.java delete mode 100644 app/src/main/java/net/lacolaco/smileessence/smileessence/command/user/UserCommandReply.java delete mode 100644 app/src/main/java/net/lacolaco/smileessence/smileessence/command/user/UserCommandReportForSpam.java delete mode 100644 app/src/main/java/net/lacolaco/smileessence/smileessence/command/user/UserCommandSendMessage.java delete mode 100644 app/src/main/java/net/lacolaco/smileessence/smileessence/command/user/UserCommandUnblock.java delete mode 100644 app/src/main/java/net/lacolaco/smileessence/smileessence/data/CommandSettingCache.java delete mode 100644 app/src/main/java/net/lacolaco/smileessence/smileessence/data/DirectMessageCache.java delete mode 100644 app/src/main/java/net/lacolaco/smileessence/smileessence/data/FavoriteCache.java delete mode 100644 app/src/main/java/net/lacolaco/smileessence/smileessence/data/ImageCache.java delete mode 100644 app/src/main/java/net/lacolaco/smileessence/smileessence/data/StatusCache.java delete mode 100644 app/src/main/java/net/lacolaco/smileessence/smileessence/data/UserCache.java delete mode 100644 app/src/main/java/net/lacolaco/smileessence/smileessence/data/UserListCache.java delete mode 100644 app/src/main/java/net/lacolaco/smileessence/smileessence/entity/Account.java delete mode 100644 app/src/main/java/net/lacolaco/smileessence/smileessence/entity/CommandSetting.java delete mode 100644 app/src/main/java/net/lacolaco/smileessence/smileessence/entity/ExtractionWord.java delete mode 100644 app/src/main/java/net/lacolaco/smileessence/smileessence/entity/SearchQuery.java delete mode 100644 app/src/main/java/net/lacolaco/smileessence/smileessence/entity/Template.java delete mode 100644 app/src/main/java/net/lacolaco/smileessence/smileessence/logging/Logger.java delete mode 100644 app/src/main/java/net/lacolaco/smileessence/smileessence/notification/NotificationType.java delete mode 100644 app/src/main/java/net/lacolaco/smileessence/smileessence/notification/Notificator.java delete mode 100644 app/src/main/java/net/lacolaco/smileessence/smileessence/preference/AppPreferenceHelper.java delete mode 100644 app/src/main/java/net/lacolaco/smileessence/smileessence/preference/SharedPreferenceHelper.java delete mode 100644 app/src/main/java/net/lacolaco/smileessence/smileessence/preference/UserPreferenceHelper.java delete mode 100644 app/src/main/java/net/lacolaco/smileessence/smileessence/twitter/OAuthSession.java delete mode 100644 app/src/main/java/net/lacolaco/smileessence/smileessence/twitter/StatusFilter.java delete mode 100644 app/src/main/java/net/lacolaco/smileessence/smileessence/twitter/TweetBuilder.java delete mode 100644 app/src/main/java/net/lacolaco/smileessence/smileessence/twitter/TwitterApi.java delete mode 100644 app/src/main/java/net/lacolaco/smileessence/smileessence/twitter/UserStreamListener.java delete mode 100644 app/src/main/java/net/lacolaco/smileessence/smileessence/twitter/task/AccessTokenTask.java delete mode 100644 app/src/main/java/net/lacolaco/smileessence/smileessence/twitter/task/BlockIDsTask.java delete mode 100644 app/src/main/java/net/lacolaco/smileessence/smileessence/twitter/task/BlockTask.java delete mode 100644 app/src/main/java/net/lacolaco/smileessence/smileessence/twitter/task/DeleteMessageTask.java delete mode 100644 app/src/main/java/net/lacolaco/smileessence/smileessence/twitter/task/DeleteStatusTask.java delete mode 100644 app/src/main/java/net/lacolaco/smileessence/smileessence/twitter/task/DirectMessagesTask.java delete mode 100644 app/src/main/java/net/lacolaco/smileessence/smileessence/twitter/task/FavoriteTask.java delete mode 100644 app/src/main/java/net/lacolaco/smileessence/smileessence/twitter/task/FollowTask.java delete mode 100644 app/src/main/java/net/lacolaco/smileessence/smileessence/twitter/task/GetUserListsTask.java delete mode 100644 app/src/main/java/net/lacolaco/smileessence/smileessence/twitter/task/HomeTimelineTask.java delete mode 100644 app/src/main/java/net/lacolaco/smileessence/smileessence/twitter/task/MentionsTimelineTask.java delete mode 100644 app/src/main/java/net/lacolaco/smileessence/smileessence/twitter/task/MutesIDsTask.java delete mode 100644 app/src/main/java/net/lacolaco/smileessence/smileessence/twitter/task/ReportForSpamTask.java delete mode 100644 app/src/main/java/net/lacolaco/smileessence/smileessence/twitter/task/RequestTokenTask.java delete mode 100644 app/src/main/java/net/lacolaco/smileessence/smileessence/twitter/task/RetweetTask.java delete mode 100644 app/src/main/java/net/lacolaco/smileessence/smileessence/twitter/task/SearchTask.java delete mode 100644 app/src/main/java/net/lacolaco/smileessence/smileessence/twitter/task/SendMessageTask.java delete mode 100644 app/src/main/java/net/lacolaco/smileessence/smileessence/twitter/task/SentDirectMessagesTask.java delete mode 100644 app/src/main/java/net/lacolaco/smileessence/smileessence/twitter/task/ShowDirectMessageTask.java delete mode 100644 app/src/main/java/net/lacolaco/smileessence/smileessence/twitter/task/ShowFriendshipTask.java delete mode 100644 app/src/main/java/net/lacolaco/smileessence/smileessence/twitter/task/ShowStatusTask.java delete mode 100644 app/src/main/java/net/lacolaco/smileessence/smileessence/twitter/task/ShowUserTask.java delete mode 100644 app/src/main/java/net/lacolaco/smileessence/smileessence/twitter/task/TweetTask.java delete mode 100644 app/src/main/java/net/lacolaco/smileessence/smileessence/twitter/task/TwitterTask.java delete mode 100644 app/src/main/java/net/lacolaco/smileessence/smileessence/twitter/task/UnblockTask.java delete mode 100644 app/src/main/java/net/lacolaco/smileessence/smileessence/twitter/task/UnfavoriteTask.java delete mode 100644 app/src/main/java/net/lacolaco/smileessence/smileessence/twitter/task/UnfollowTask.java delete mode 100644 app/src/main/java/net/lacolaco/smileessence/smileessence/twitter/task/UserListStatusesTask.java delete mode 100644 app/src/main/java/net/lacolaco/smileessence/smileessence/twitter/task/UserTimelineTask.java delete mode 100644 app/src/main/java/net/lacolaco/smileessence/smileessence/twitter/util/TwitterUtils.java delete mode 100644 app/src/main/java/net/lacolaco/smileessence/smileessence/util/BitmapOptimizer.java delete mode 100644 app/src/main/java/net/lacolaco/smileessence/smileessence/util/BitmapThumbnailTask.java delete mode 100644 app/src/main/java/net/lacolaco/smileessence/smileessence/util/BitmapURLTask.java delete mode 100644 app/src/main/java/net/lacolaco/smileessence/smileessence/util/IntentUtils.java delete mode 100644 app/src/main/java/net/lacolaco/smileessence/smileessence/util/Morse.java delete mode 100644 app/src/main/java/net/lacolaco/smileessence/smileessence/util/NameStyles.java delete mode 100644 app/src/main/java/net/lacolaco/smileessence/smileessence/util/NetworkHelper.java delete mode 100644 app/src/main/java/net/lacolaco/smileessence/smileessence/util/StringUtils.java delete mode 100644 app/src/main/java/net/lacolaco/smileessence/smileessence/util/Themes.java delete mode 100644 app/src/main/java/net/lacolaco/smileessence/smileessence/util/UIHandler.java delete mode 100644 app/src/main/java/net/lacolaco/smileessence/smileessence/view/CustomListFragment.java delete mode 100644 app/src/main/java/net/lacolaco/smileessence/smileessence/view/HistoryFragment.java delete mode 100644 app/src/main/java/net/lacolaco/smileessence/smileessence/view/HomeFragment.java delete mode 100644 app/src/main/java/net/lacolaco/smileessence/smileessence/view/MentionsFragment.java delete mode 100644 app/src/main/java/net/lacolaco/smileessence/smileessence/view/MessagesFragment.java delete mode 100644 app/src/main/java/net/lacolaco/smileessence/smileessence/view/PostFragment.java delete mode 100644 app/src/main/java/net/lacolaco/smileessence/smileessence/view/SearchFragment.java delete mode 100644 app/src/main/java/net/lacolaco/smileessence/smileessence/view/SettingFragment.java delete mode 100644 app/src/main/java/net/lacolaco/smileessence/smileessence/view/TextFragment.java delete mode 100644 app/src/main/java/net/lacolaco/smileessence/smileessence/view/UserListFragment.java delete mode 100644 app/src/main/java/net/lacolaco/smileessence/smileessence/view/adapter/CustomListAdapter.java delete mode 100644 app/src/main/java/net/lacolaco/smileessence/smileessence/view/adapter/EventListAdapter.java delete mode 100644 app/src/main/java/net/lacolaco/smileessence/smileessence/view/adapter/MessageListAdapter.java delete mode 100644 app/src/main/java/net/lacolaco/smileessence/smileessence/view/adapter/PageListAdapter.java delete mode 100644 app/src/main/java/net/lacolaco/smileessence/smileessence/view/adapter/PostState.java delete mode 100644 app/src/main/java/net/lacolaco/smileessence/smileessence/view/adapter/SearchListAdapter.java delete mode 100644 app/src/main/java/net/lacolaco/smileessence/smileessence/view/adapter/StatusListAdapter.java delete mode 100644 app/src/main/java/net/lacolaco/smileessence/smileessence/view/dialog/ChooseTemplateDialogFragment.java delete mode 100644 app/src/main/java/net/lacolaco/smileessence/smileessence/view/dialog/ConfirmDialogFragment.java delete mode 100644 app/src/main/java/net/lacolaco/smileessence/smileessence/view/dialog/DialogHelper.java delete mode 100644 app/src/main/java/net/lacolaco/smileessence/smileessence/view/dialog/DisposeDialog.java delete mode 100644 app/src/main/java/net/lacolaco/smileessence/smileessence/view/dialog/EditTextDialogFragment.java delete mode 100644 app/src/main/java/net/lacolaco/smileessence/smileessence/view/dialog/HashtagDialogFragment.java delete mode 100644 app/src/main/java/net/lacolaco/smileessence/smileessence/view/dialog/MenuDialogFragment.java delete mode 100644 app/src/main/java/net/lacolaco/smileessence/smileessence/view/dialog/MessageDetailDialogFragment.java delete mode 100644 app/src/main/java/net/lacolaco/smileessence/smileessence/view/dialog/MessageMenuDialogFragment.java delete mode 100644 app/src/main/java/net/lacolaco/smileessence/smileessence/view/dialog/PostMenuDialogFragment.java delete mode 100644 app/src/main/java/net/lacolaco/smileessence/smileessence/view/dialog/QuoteDialogFragment.java delete mode 100644 app/src/main/java/net/lacolaco/smileessence/smileessence/view/dialog/ReviewDialogFragment.java delete mode 100644 app/src/main/java/net/lacolaco/smileessence/smileessence/view/dialog/SearchOnGoogleDialogFragment.java delete mode 100644 app/src/main/java/net/lacolaco/smileessence/smileessence/view/dialog/SelectImageDialogFragment.java delete mode 100644 app/src/main/java/net/lacolaco/smileessence/smileessence/view/dialog/SelectSearchQueryDialogFragment.java delete mode 100644 app/src/main/java/net/lacolaco/smileessence/smileessence/view/dialog/SelectUserListDialogFragment.java delete mode 100644 app/src/main/java/net/lacolaco/smileessence/smileessence/view/dialog/SendMessageDialogFragment.java delete mode 100644 app/src/main/java/net/lacolaco/smileessence/smileessence/view/dialog/SimpleDialogFragment.java delete mode 100644 app/src/main/java/net/lacolaco/smileessence/smileessence/view/dialog/StatusDetailDialogFragment.java delete mode 100644 app/src/main/java/net/lacolaco/smileessence/smileessence/view/dialog/StatusMenuDialogFragment.java delete mode 100644 app/src/main/java/net/lacolaco/smileessence/smileessence/view/dialog/TalkChainDialogFragment.java delete mode 100644 app/src/main/java/net/lacolaco/smileessence/smileessence/view/dialog/UserDetailDialogFragment.java delete mode 100644 app/src/main/java/net/lacolaco/smileessence/smileessence/view/dialog/UserMenuDialogFragment.java delete mode 100644 app/src/main/java/net/lacolaco/smileessence/smileessence/view/listener/ListItemClickListener.java delete mode 100644 app/src/main/java/net/lacolaco/smileessence/smileessence/viewmodel/CheckBoxModel.java delete mode 100644 app/src/main/java/net/lacolaco/smileessence/smileessence/viewmodel/EditableCheckBoxModel.java delete mode 100644 app/src/main/java/net/lacolaco/smileessence/smileessence/viewmodel/EnumEvent.java delete mode 100644 app/src/main/java/net/lacolaco/smileessence/smileessence/viewmodel/EventViewModel.java delete mode 100644 app/src/main/java/net/lacolaco/smileessence/smileessence/viewmodel/IViewModel.java delete mode 100644 app/src/main/java/net/lacolaco/smileessence/smileessence/viewmodel/MessageViewModel.java delete mode 100644 app/src/main/java/net/lacolaco/smileessence/smileessence/viewmodel/StatusViewModel.java delete mode 100644 app/src/main/java/net/lacolaco/smileessence/smileessence/viewmodel/UserListListAdapter.java delete mode 100644 app/src/main/java/net/lacolaco/smileessence/smileessence/viewmodel/UserViewModel.java delete mode 100644 app/src/main/java/net/lacolaco/smileessence/smileessence/viewmodel/menu/MainActivityMenuHelper.java create mode 100644 app/src/main/java/net/lacolaco/smileessence/twitter/OAuthSession.java create mode 100644 app/src/main/java/net/lacolaco/smileessence/twitter/StatusFilter.java create mode 100644 app/src/main/java/net/lacolaco/smileessence/twitter/TweetBuilder.java create mode 100644 app/src/main/java/net/lacolaco/smileessence/twitter/TwitterApi.java create mode 100644 app/src/main/java/net/lacolaco/smileessence/twitter/UserStreamListener.java create mode 100644 app/src/main/java/net/lacolaco/smileessence/twitter/task/AccessTokenTask.java create mode 100644 app/src/main/java/net/lacolaco/smileessence/twitter/task/BlockIDsTask.java create mode 100644 app/src/main/java/net/lacolaco/smileessence/twitter/task/BlockTask.java create mode 100644 app/src/main/java/net/lacolaco/smileessence/twitter/task/DeleteMessageTask.java create mode 100644 app/src/main/java/net/lacolaco/smileessence/twitter/task/DeleteStatusTask.java create mode 100644 app/src/main/java/net/lacolaco/smileessence/twitter/task/DirectMessagesTask.java create mode 100644 app/src/main/java/net/lacolaco/smileessence/twitter/task/FavoriteTask.java create mode 100644 app/src/main/java/net/lacolaco/smileessence/twitter/task/FollowTask.java create mode 100644 app/src/main/java/net/lacolaco/smileessence/twitter/task/GetUserListsTask.java create mode 100644 app/src/main/java/net/lacolaco/smileessence/twitter/task/HomeTimelineTask.java create mode 100644 app/src/main/java/net/lacolaco/smileessence/twitter/task/MentionsTimelineTask.java create mode 100644 app/src/main/java/net/lacolaco/smileessence/twitter/task/MutesIDsTask.java create mode 100644 app/src/main/java/net/lacolaco/smileessence/twitter/task/ReportForSpamTask.java create mode 100644 app/src/main/java/net/lacolaco/smileessence/twitter/task/RequestTokenTask.java create mode 100644 app/src/main/java/net/lacolaco/smileessence/twitter/task/RetweetTask.java create mode 100644 app/src/main/java/net/lacolaco/smileessence/twitter/task/SearchTask.java create mode 100644 app/src/main/java/net/lacolaco/smileessence/twitter/task/SendMessageTask.java create mode 100644 app/src/main/java/net/lacolaco/smileessence/twitter/task/SentDirectMessagesTask.java create mode 100644 app/src/main/java/net/lacolaco/smileessence/twitter/task/ShowDirectMessageTask.java create mode 100644 app/src/main/java/net/lacolaco/smileessence/twitter/task/ShowFriendshipTask.java create mode 100644 app/src/main/java/net/lacolaco/smileessence/twitter/task/ShowStatusTask.java create mode 100644 app/src/main/java/net/lacolaco/smileessence/twitter/task/ShowUserTask.java create mode 100644 app/src/main/java/net/lacolaco/smileessence/twitter/task/TweetTask.java create mode 100644 app/src/main/java/net/lacolaco/smileessence/twitter/task/TwitterTask.java create mode 100644 app/src/main/java/net/lacolaco/smileessence/twitter/task/UnblockTask.java create mode 100644 app/src/main/java/net/lacolaco/smileessence/twitter/task/UnfavoriteTask.java create mode 100644 app/src/main/java/net/lacolaco/smileessence/twitter/task/UnfollowTask.java create mode 100644 app/src/main/java/net/lacolaco/smileessence/twitter/task/UserListStatusesTask.java create mode 100644 app/src/main/java/net/lacolaco/smileessence/twitter/task/UserTimelineTask.java create mode 100644 app/src/main/java/net/lacolaco/smileessence/twitter/util/TwitterUtils.java create mode 100644 app/src/main/java/net/lacolaco/smileessence/util/BitmapOptimizer.java create mode 100644 app/src/main/java/net/lacolaco/smileessence/util/BitmapThumbnailTask.java create mode 100644 app/src/main/java/net/lacolaco/smileessence/util/BitmapURLTask.java create mode 100644 app/src/main/java/net/lacolaco/smileessence/util/IntentUtils.java create mode 100644 app/src/main/java/net/lacolaco/smileessence/util/Morse.java create mode 100644 app/src/main/java/net/lacolaco/smileessence/util/NameStyles.java create mode 100644 app/src/main/java/net/lacolaco/smileessence/util/NetworkHelper.java create mode 100644 app/src/main/java/net/lacolaco/smileessence/util/StringUtils.java create mode 100644 app/src/main/java/net/lacolaco/smileessence/util/Themes.java create mode 100644 app/src/main/java/net/lacolaco/smileessence/util/UIHandler.java create mode 100644 app/src/main/java/net/lacolaco/smileessence/view/CustomListFragment.java create mode 100644 app/src/main/java/net/lacolaco/smileessence/view/HistoryFragment.java create mode 100644 app/src/main/java/net/lacolaco/smileessence/view/HomeFragment.java create mode 100644 app/src/main/java/net/lacolaco/smileessence/view/MentionsFragment.java create mode 100644 app/src/main/java/net/lacolaco/smileessence/view/MessagesFragment.java create mode 100644 app/src/main/java/net/lacolaco/smileessence/view/PostFragment.java create mode 100644 app/src/main/java/net/lacolaco/smileessence/view/SearchFragment.java create mode 100644 app/src/main/java/net/lacolaco/smileessence/view/SettingFragment.java create mode 100644 app/src/main/java/net/lacolaco/smileessence/view/TextFragment.java create mode 100644 app/src/main/java/net/lacolaco/smileessence/view/UserListFragment.java create mode 100644 app/src/main/java/net/lacolaco/smileessence/view/adapter/CustomListAdapter.java create mode 100644 app/src/main/java/net/lacolaco/smileessence/view/adapter/EventListAdapter.java create mode 100644 app/src/main/java/net/lacolaco/smileessence/view/adapter/MessageListAdapter.java create mode 100644 app/src/main/java/net/lacolaco/smileessence/view/adapter/PageListAdapter.java create mode 100644 app/src/main/java/net/lacolaco/smileessence/view/adapter/PostState.java create mode 100644 app/src/main/java/net/lacolaco/smileessence/view/adapter/SearchListAdapter.java create mode 100644 app/src/main/java/net/lacolaco/smileessence/view/adapter/StatusListAdapter.java create mode 100644 app/src/main/java/net/lacolaco/smileessence/view/dialog/ChooseTemplateDialogFragment.java create mode 100644 app/src/main/java/net/lacolaco/smileessence/view/dialog/ConfirmDialogFragment.java create mode 100644 app/src/main/java/net/lacolaco/smileessence/view/dialog/DialogHelper.java create mode 100644 app/src/main/java/net/lacolaco/smileessence/view/dialog/DisposeDialog.java create mode 100644 app/src/main/java/net/lacolaco/smileessence/view/dialog/EditTextDialogFragment.java create mode 100644 app/src/main/java/net/lacolaco/smileessence/view/dialog/HashtagDialogFragment.java create mode 100644 app/src/main/java/net/lacolaco/smileessence/view/dialog/MenuDialogFragment.java create mode 100644 app/src/main/java/net/lacolaco/smileessence/view/dialog/MessageDetailDialogFragment.java create mode 100644 app/src/main/java/net/lacolaco/smileessence/view/dialog/MessageMenuDialogFragment.java create mode 100644 app/src/main/java/net/lacolaco/smileessence/view/dialog/PostMenuDialogFragment.java create mode 100644 app/src/main/java/net/lacolaco/smileessence/view/dialog/QuoteDialogFragment.java create mode 100644 app/src/main/java/net/lacolaco/smileessence/view/dialog/ReviewDialogFragment.java create mode 100644 app/src/main/java/net/lacolaco/smileessence/view/dialog/SearchOnGoogleDialogFragment.java create mode 100644 app/src/main/java/net/lacolaco/smileessence/view/dialog/SelectImageDialogFragment.java create mode 100644 app/src/main/java/net/lacolaco/smileessence/view/dialog/SelectSearchQueryDialogFragment.java create mode 100644 app/src/main/java/net/lacolaco/smileessence/view/dialog/SelectUserListDialogFragment.java create mode 100644 app/src/main/java/net/lacolaco/smileessence/view/dialog/SendMessageDialogFragment.java create mode 100644 app/src/main/java/net/lacolaco/smileessence/view/dialog/SimpleDialogFragment.java create mode 100644 app/src/main/java/net/lacolaco/smileessence/view/dialog/StatusDetailDialogFragment.java create mode 100644 app/src/main/java/net/lacolaco/smileessence/view/dialog/StatusMenuDialogFragment.java create mode 100644 app/src/main/java/net/lacolaco/smileessence/view/dialog/TalkChainDialogFragment.java create mode 100644 app/src/main/java/net/lacolaco/smileessence/view/dialog/UserDetailDialogFragment.java create mode 100644 app/src/main/java/net/lacolaco/smileessence/view/dialog/UserMenuDialogFragment.java create mode 100644 app/src/main/java/net/lacolaco/smileessence/view/listener/ListItemClickListener.java create mode 100644 app/src/main/java/net/lacolaco/smileessence/viewmodel/CheckBoxModel.java create mode 100644 app/src/main/java/net/lacolaco/smileessence/viewmodel/EditableCheckBoxModel.java create mode 100644 app/src/main/java/net/lacolaco/smileessence/viewmodel/EnumEvent.java create mode 100644 app/src/main/java/net/lacolaco/smileessence/viewmodel/EventViewModel.java create mode 100644 app/src/main/java/net/lacolaco/smileessence/viewmodel/IViewModel.java create mode 100644 app/src/main/java/net/lacolaco/smileessence/viewmodel/MessageViewModel.java create mode 100644 app/src/main/java/net/lacolaco/smileessence/viewmodel/StatusViewModel.java create mode 100644 app/src/main/java/net/lacolaco/smileessence/viewmodel/UserListListAdapter.java create mode 100644 app/src/main/java/net/lacolaco/smileessence/viewmodel/UserViewModel.java create mode 100644 app/src/main/java/net/lacolaco/smileessence/viewmodel/menu/MainActivityMenuHelper.java (limited to 'app/src/main/java/net/lacolaco') diff --git a/app/src/main/java/net/lacolaco/smileessence/Application.java b/app/src/main/java/net/lacolaco/smileessence/Application.java new file mode 100644 index 00000000..20e6f7aa --- /dev/null +++ b/app/src/main/java/net/lacolaco/smileessence/Application.java @@ -0,0 +1,42 @@ +/* + * The MIT License (MIT) + * + * Copyright (c) 2012-2014 lacolaco.net + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE + * SOFTWARE. + */ + +package net.lacolaco.smileessence; + +public class Application extends com.activeandroid.app.Application { + + // ------------------------------ FIELDS ------------------------------ + + private int themeIndex; + + // --------------------- GETTER / SETTER METHODS --------------------- + + public int getThemeIndex() { + return themeIndex; + } + + public void setThemeIndex(int themeIndex) { + this.themeIndex = themeIndex; + } +} diff --git a/app/src/main/java/net/lacolaco/smileessence/IntentRouter.java b/app/src/main/java/net/lacolaco/smileessence/IntentRouter.java new file mode 100644 index 00000000..db0cb4c4 --- /dev/null +++ b/app/src/main/java/net/lacolaco/smileessence/IntentRouter.java @@ -0,0 +1,232 @@ +/* + * The MIT License (MIT) + * + * Copyright (c) 2012-2014 lacolaco.net + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE + * SOFTWARE. + */ + +package net.lacolaco.smileessence; + +import android.content.Intent; +import android.net.Uri; +import android.os.Bundle; +import android.text.TextUtils; + +import net.lacolaco.smileessence.activity.MainActivity; +import net.lacolaco.smileessence.command.CommandOpenUserDetail; +import net.lacolaco.smileessence.logging.Logger; +import net.lacolaco.smileessence.notification.NotificationType; +import net.lacolaco.smileessence.notification.Notificator; +import net.lacolaco.smileessence.twitter.util.TwitterUtils; +import net.lacolaco.smileessence.util.UIHandler; +import net.lacolaco.smileessence.view.adapter.PostState; +import net.lacolaco.smileessence.view.dialog.DialogHelper; +import net.lacolaco.smileessence.view.dialog.StatusDetailDialogFragment; + +import twitter4j.Status; + +import java.util.regex.Matcher; +import java.util.regex.Pattern; + +public class IntentRouter { + + // ------------------------------ FIELDS ------------------------------ + + public static final String TWITTER_HOST = "twitter.com"; + + // -------------------------- STATIC METHODS -------------------------- + + public static void onNewIntent(MainActivity activity, Intent intent) { + Logger.debug("IntentRouter:onNewIntent"); + Uri uri = intent.getData(); + if (uri != null) { + onUriIntent(activity, uri); + } else if (intent.getAction() != null) { + switch (intent.getAction()) { + case Intent.ACTION_SEND: { + if (intent.getType().equals("text/plain")) { + Bundle extra = intent.getExtras(); + if (extra != null) { + String text = getText(extra); + openPostPage(activity, text); + } + } else { + Matcher matcher = Pattern.compile("image/.+").matcher(intent.getType()); + if (matcher.find()) { + Uri imageUri = intent.getParcelableExtra(Intent.EXTRA_STREAM); + openPostPageWithImage(activity, imageUri); + } + } + break; + } + } + } + } + + private static String getText(Bundle extra) { + StringBuilder builder = new StringBuilder(); + if (!TextUtils.isEmpty(extra.getCharSequence(Intent.EXTRA_SUBJECT))) { + builder.append(extra.getCharSequence(Intent.EXTRA_SUBJECT)).append(" "); + } + builder.append(extra.getCharSequence(Intent.EXTRA_TEXT)); + return builder.toString(); + } + + private static String getText(Uri uri) { + String text = ""; + String url = ""; + if (uri.getQueryParameter("text") != null) { + text = uri.getQueryParameter("text").replaceAll("\\+", " "); + } else if (uri.getQueryParameter("status") != null) { + text = uri.getQueryParameter("status").replaceAll("\\+", " "); + } + + if (uri.getQueryParameter("url") != null) { + url = uri.getQueryParameter("url"); + } + return text + " " + url; + } + + private static void onUriIntent(MainActivity activity, Uri uri) { + Logger.debug(uri.toString()); + if (isPostIntent(uri)) { + String str = getText(uri); + openPostPage(activity, str); + } else if (isStatusIntent(uri)) { + long id = getStatusID(uri); + showStatusDialog(activity, id); + } else if (isUserIntent(uri)) { + String screenName = getScreenName(uri); + showUserDialog(activity, screenName); + } + } + + private static String getScreenName(Uri uri) { + String screenName; + if (uri.getQueryParameter("screen_name") != null) { + screenName = uri.getQueryParameter("screen_name"); + } else { + String[] arrayOfString = uri.toString().split("/"); + screenName = arrayOfString[arrayOfString.length - 1]; + } + return screenName; + } + + private static long getStatusID(Uri uri) { + String str = "-1"; + String[] arrayOfString = uri.getPath().toString().split("/"); + for (int i = 0; i < arrayOfString.length; i++) { + if (arrayOfString[i].startsWith("status")) { + str = arrayOfString[(i + 1)]; + break; + } + } + return Long.parseLong(str); + } + + private static boolean isPostIntent(Uri uri) { + if (uri.getHost().equals(TWITTER_HOST)) { + if (uri.getPath().equals("/share")) { + return true; + } else { + String[] arr = uri.toString().split("/"); + for (String s : arr) { + if (s.startsWith("tweet") || s.startsWith("home")) { + return true; + } + } + } + } + return false; + } + + private static boolean isStatusIntent(Uri uri) { + if (uri.getHost().equals(TWITTER_HOST)) { + String[] arr = uri.toString().split("/"); + for (String s : arr) { + if (s.equals("status") || s.equals("statuses")) { + return true; + } + } + } + return false; + } + + private static boolean isUserIntent(Uri uri) { + if (uri.getHost().equals(TWITTER_HOST)) { + if (uri.getQueryParameter("screen_name") != null) { + return true; + } + + String[] arrayOfString = uri.toString().split("/"); + if (arrayOfString.length == 4 && uri.getQuery() == null) { + return true; + } else if (arrayOfString.length > 4) { + if (arrayOfString[3].equals("#!") && uri.getQuery() == null) { + return true; + } + } + } + return false; + } + + private static void showStatusDialog(final MainActivity activity, long id) { + if (id != -1) { + TwitterUtils.tryGetStatus(activity.getCurrentAccount(), id, new TwitterUtils.StatusCallback() { + @Override + public void success(Status status) { + StatusDetailDialogFragment fragment = new StatusDetailDialogFragment(); + fragment.setStatusID(status.getId()); + DialogHelper.showDialog(activity, fragment); + } + + @Override + public void error() { + Notificator.publish(activity, R.string.error_intent_status_cannot_load, NotificationType.ALERT); + } + }); + } else { + Notificator.publish(activity, R.string.error_intent_status_cannot_load, NotificationType.ALERT); + } + } + + private static void showUserDialog(MainActivity activity, String screenName) { + CommandOpenUserDetail openUserDetail = new CommandOpenUserDetail(activity, screenName, activity.getCurrentAccount()); + openUserDetail.execute(); + } + + private static void openPostPage(final MainActivity activity, final String str) { + new UIHandler() { + @Override + public void run() { + PostState.newState().beginTransaction().setText(str).commitWithOpen(activity); + } + }.post(); + } + + private static void openPostPageWithImage(final MainActivity activity, final Uri imageUri) { + new UIHandler() { + @Override + public void run() { + activity.openPostPageWithImage(imageUri); + } + }.post(); + } +} diff --git a/app/src/main/java/net/lacolaco/smileessence/activity/EditCommandActivity.java b/app/src/main/java/net/lacolaco/smileessence/activity/EditCommandActivity.java new file mode 100644 index 00000000..4c1c2ac8 --- /dev/null +++ b/app/src/main/java/net/lacolaco/smileessence/activity/EditCommandActivity.java @@ -0,0 +1,170 @@ +/* + * The MIT License (MIT) + * + * Copyright (c) 2012-2014 lacolaco.net + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE + * SOFTWARE. + */ + +package net.lacolaco.smileessence.activity; + +import android.app.ActionBar; +import android.app.Activity; +import android.os.Bundle; +import android.support.v4.app.NavUtils; +import android.view.Menu; +import android.view.MenuItem; +import android.widget.ListView; + +import net.lacolaco.smileessence.Application; +import net.lacolaco.smileessence.R; +import net.lacolaco.smileessence.command.Command; +import net.lacolaco.smileessence.command.status.StatusCommand; +import net.lacolaco.smileessence.command.user.UserCommand; +import net.lacolaco.smileessence.data.CommandSettingCache; +import net.lacolaco.smileessence.entity.CommandSetting; +import net.lacolaco.smileessence.logging.Logger; +import net.lacolaco.smileessence.preference.UserPreferenceHelper; +import net.lacolaco.smileessence.util.Themes; +import net.lacolaco.smileessence.view.adapter.CustomListAdapter; +import net.lacolaco.smileessence.viewmodel.CheckBoxModel; + +import java.util.ArrayList; +import java.util.List; + +public class EditCommandActivity extends Activity { + + // ------------------------------ FIELDS ------------------------------ + + private CustomListAdapter adapter; + private List editedCommands; + + // --------------------- GETTER / SETTER METHODS --------------------- + + private CheckBoxModel[] getCheckBoxItems() { + editedCommands = new ArrayList<>(); + List checkBoxModels = new ArrayList<>(); + List commandSettings = CommandSetting.getAll(); + List commands = Command.getAllCommands(this); + for (Command command : commands) { + if (command.getKey() < 0) { + continue; + } + String text; + if (command instanceof StatusCommand) { + text = String.format("Tweet : %s", command.getText()); + } else if (command instanceof UserCommand) { + text = String.format("User : %s", command.getText()); + } else { + continue; + } + editedCommands.add(command); + CommandSetting setting = null; + for (CommandSetting s : commandSettings) { + if (command.getKey() == s.commandKey) { + setting = s; + } + } + if (setting == null) { + setting = new CommandSetting(command.getKey(), true); + setting.save(); + } + CheckBoxModel checkBoxModel = new CheckBoxModel(text, setting.visibility); + checkBoxModels.add(checkBoxModel); + } + return checkBoxModels.toArray(new CheckBoxModel[checkBoxModels.size()]); + } + + private ListView getListView() { + return (ListView) findViewById(R.id.listview_edit_list); + } + + // ------------------------ OVERRIDE METHODS ------------------------ + + @Override + protected void onCreate(Bundle savedInstanceState) { + UserPreferenceHelper userPreferenceHelper = new UserPreferenceHelper(this); + setTheme(Themes.getTheme(((Application) getApplication()).getThemeIndex())); + super.onCreate(savedInstanceState); + setContentView(R.layout.layout_edit_list); + ActionBar actionBar = getActionBar(); + actionBar.setDisplayHomeAsUpEnabled(true); + initializeViews(); + Logger.debug("EditCommandActivity:onCreate"); + } + + @Override + public boolean onCreateOptionsMenu(Menu menu) { + MenuItem allOn = menu.add(Menu.NONE, R.id.menu_edit_command_all_on, Menu.NONE, ""); + allOn.setTitle(R.string.actionbar_edit_command_all_on); + allOn.setShowAsAction(MenuItem.SHOW_AS_ACTION_ALWAYS); + return true; + } + + @Override + protected void onDestroy() { + for (int i = 0; i < adapter.getCount(); i++) { + CheckBoxModel checkBoxModel = (CheckBoxModel) adapter.getItem(i); + Command command = editedCommands.get(i); + CommandSetting commandSetting = CommandSetting.selectByKey(command.getKey()); + commandSetting.visibility = checkBoxModel.isChecked(); + commandSetting.save(); + CommandSettingCache.getInstance().put(commandSetting); + } + super.onDestroy(); + } + + @Override + public boolean onOptionsItemSelected(MenuItem item) { + switch (item.getItemId()) { + case R.id.menu_edit_command_all_on: { + enableAll(); + break; + } + case android.R.id.home: { + NavUtils.navigateUpFromSameTask(this); + return true; + } + } + return true; + } + + private void enableAll() { + adapter.setNotifiable(false); + for (int i = 0; i < adapter.getCount(); i++) { + CheckBoxModel item = (CheckBoxModel) adapter.getItem(i); + item.setChecked(true); + } + adapter.setNotifiable(true); + adapter.notifyDataSetChanged(); + updateListView(); + } + + private void initializeViews() { + ListView listView = getListView(); + adapter = new CustomListAdapter<>(this, CheckBoxModel.class); + listView.setAdapter(adapter); + adapter.addToTop(getCheckBoxItems()); + adapter.update(); + } + + private void updateListView() { + getListView().requestLayout(); + } +} diff --git a/app/src/main/java/net/lacolaco/smileessence/activity/EditExtractionActivity.java b/app/src/main/java/net/lacolaco/smileessence/activity/EditExtractionActivity.java new file mode 100644 index 00000000..f967ce04 --- /dev/null +++ b/app/src/main/java/net/lacolaco/smileessence/activity/EditExtractionActivity.java @@ -0,0 +1,216 @@ +/* + * The MIT License (MIT) + * + * Copyright (c) 2012-2014 lacolaco.net + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE + * SOFTWARE. + */ + +package net.lacolaco.smileessence.activity; + +import android.app.ActionBar; +import android.app.Activity; +import android.os.Bundle; +import android.support.v4.app.NavUtils; +import android.text.TextUtils; +import android.util.SparseBooleanArray; +import android.view.*; +import android.widget.AbsListView; +import android.widget.AdapterView; +import android.widget.ListView; + +import net.lacolaco.smileessence.Application; +import net.lacolaco.smileessence.R; +import net.lacolaco.smileessence.entity.ExtractionWord; +import net.lacolaco.smileessence.logging.Logger; +import net.lacolaco.smileessence.util.Themes; +import net.lacolaco.smileessence.view.adapter.CustomListAdapter; +import net.lacolaco.smileessence.view.dialog.DialogHelper; +import net.lacolaco.smileessence.view.dialog.EditTextDialogFragment; + +import java.util.List; + +public class EditExtractionActivity extends Activity implements AdapterView.OnItemClickListener, + AbsListView.MultiChoiceModeListener { + + // ------------------------------ FIELDS ------------------------------ + + private CustomListAdapter adapter; + + // --------------------- GETTER / SETTER METHODS --------------------- + + private ExtractionWord[] getExtractionWords() { + List all = ExtractionWord.getAll(); + return all.toArray(new ExtractionWord[all.size()]); + } + + private ListView getListView() { + return (ListView) findViewById(R.id.listview_edit_list); + } + + // ------------------------ INTERFACE METHODS ------------------------ + + + // --------------------- Interface Callback --------------------- + + @Override + public boolean onCreateActionMode(ActionMode mode, Menu menu) { + menu.clear(); + MenuInflater inflater = mode.getMenuInflater(); + inflater.inflate(R.menu.edit_list, menu); + return true; + } + + @Override + public boolean onPrepareActionMode(ActionMode mode, Menu menu) { + return false; + } + + @Override + public boolean onActionItemClicked(ActionMode mode, MenuItem item) { + switch (item.getItemId()) { + case R.id.menu_edit_list_delete: { + deleteSelectedItems(); + } + } + mode.finish(); + return true; + } + + @Override + public void onDestroyActionMode(ActionMode mode) { + } + + // --------------------- Interface MultiChoiceModeListener --------------------- + + @Override + public void onItemCheckedStateChanged(ActionMode mode, int position, long id, boolean checked) { + } + + // --------------------- Interface OnItemClickListener --------------------- + + @Override + public void onItemClick(AdapterView parent, View view, int position, long id) { + openEditExtractionWordDialog(position); + } + + // ------------------------ OVERRIDE METHODS ------------------------ + + @Override + protected void onCreate(Bundle savedInstanceState) { + setTheme(Themes.getTheme(((Application) getApplication()).getThemeIndex())); + super.onCreate(savedInstanceState); + setContentView(R.layout.layout_edit_list); + ActionBar actionBar = getActionBar(); + actionBar.setDisplayHomeAsUpEnabled(true); + initializeViews(); + Logger.debug("EditExtractionWordActivity:onCreate"); + } + + @Override + public boolean onCreateOptionsMenu(Menu menu) { + MenuItem add = menu.add(Menu.NONE, R.id.menu_edit_list_add, Menu.NONE, ""); + add.setIcon(android.R.drawable.ic_menu_add); + add.setShowAsAction(MenuItem.SHOW_AS_ACTION_ALWAYS); + return true; + } + + @Override + public boolean onOptionsItemSelected(MenuItem item) { + switch (item.getItemId()) { + case R.id.menu_edit_list_add: { + addNewExtractionWord(); + break; + } + case android.R.id.home: { + NavUtils.navigateUpFromSameTask(this); + return true; + } + } + return true; + } + + // -------------------------- OTHER METHODS -------------------------- + + public void deleteSelectedItems() { + SparseBooleanArray checkedItems = getListView().getCheckedItemPositions(); + adapter.setNotifiable(false); + for (int i = adapter.getCount() - 1; i > -1; i--) { + if (checkedItems.get(i)) { + ExtractionWord extractionWord = adapter.removeItem(i); + extractionWord.delete(); + } + } + adapter.setNotifiable(true); + adapter.notifyDataSetChanged(); + updateListView(); + } + + public void openEditExtractionWordDialog(int position) { + final ExtractionWord extractionWord = (ExtractionWord) adapter.getItem(position); + EditTextDialogFragment dialogFragment = new EditTextDialogFragment() { + @Override + public void onTextInput(String text) { + if (TextUtils.isEmpty(text.trim())) { + return; + } + extractionWord.text = text; + extractionWord.save(); + adapter.notifyDataSetChanged(); + updateListView(); + } + }; + dialogFragment.setParams(getString(R.string.dialog_title_edit), extractionWord.text); + DialogHelper.showDialog(this, dialogFragment); + } + + private void addNewExtractionWord() { + final ExtractionWord extractionWord = new ExtractionWord(); + EditTextDialogFragment dialogFragment = new EditTextDialogFragment() { + @Override + public void onTextInput(String text) { + if (TextUtils.isEmpty(text.trim())) { + return; + } + extractionWord.text = text; + extractionWord.save(); + adapter.addToBottom(extractionWord); + adapter.notifyDataSetChanged(); + updateListView(); + } + }; + dialogFragment.setParams(getString(R.string.dialog_title_add), ""); + DialogHelper.showDialog(this, dialogFragment); + } + + private void initializeViews() { + ListView listView = getListView(); + adapter = new CustomListAdapter<>(this, ExtractionWord.class); + listView.setAdapter(adapter); + adapter.addToTop(getExtractionWords()); + adapter.update(); + listView.setChoiceMode(ListView.CHOICE_MODE_MULTIPLE_MODAL); + listView.setOnItemClickListener(this); + listView.setMultiChoiceModeListener(this); + } + + private void updateListView() { + getListView().requestLayout(); + } +} diff --git a/app/src/main/java/net/lacolaco/smileessence/activity/EditTabActivity.java b/app/src/main/java/net/lacolaco/smileessence/activity/EditTabActivity.java new file mode 100644 index 00000000..e167152f --- /dev/null +++ b/app/src/main/java/net/lacolaco/smileessence/activity/EditTabActivity.java @@ -0,0 +1,160 @@ +/* + * The MIT License (MIT) + * + * Copyright (c) 2012-2014 lacolaco.net + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE + * SOFTWARE. + */ + +package net.lacolaco.smileessence.activity; + +import android.app.ActionBar; +import android.app.Activity; +import android.os.Bundle; +import android.support.v4.app.NavUtils; +import android.view.MenuItem; +import android.widget.ListView; + +import net.lacolaco.smileessence.Application; +import net.lacolaco.smileessence.R; +import net.lacolaco.smileessence.logging.Logger; +import net.lacolaco.smileessence.notification.Notificator; +import net.lacolaco.smileessence.preference.UserPreferenceHelper; +import net.lacolaco.smileessence.util.Themes; +import net.lacolaco.smileessence.view.adapter.CustomListAdapter; +import net.lacolaco.smileessence.viewmodel.EditableCheckBoxModel; + +import java.util.ArrayList; +import java.util.List; + +public class EditTabActivity extends Activity { + + // ------------------------------ FIELDS ------------------------------ + + private CustomListAdapter adapter; + + // --------------------- GETTER / SETTER METHODS --------------------- + + private EditableCheckBoxModel[] getCheckBoxItems() { + List models = new ArrayList<>(); + + EditableCheckBoxModel post = new EditableCheckBoxModel(getString(R.string.page_name_post)); + post.setChecked(true).setInputText(String.valueOf(0)).setFreezing(true); + models.add(post); + EditableCheckBoxModel home = new EditableCheckBoxModel(getString(R.string.page_name_home)); + home.setChecked(true).setInputText(String.valueOf(1)).setFreezing(true); + models.add(home); + EditableCheckBoxModel mentions = new EditableCheckBoxModel(getString(R.string.page_name_mentions)); + mentions.setChecked(true).setInputText(String.valueOf(2)).setFreezing(true); + models.add(mentions); + EditableCheckBoxModel messages = new EditableCheckBoxModel(getString(R.string.page_name_messages)); + messages.setChecked(getVisibility(R.string.key_page_messages_visibility)) + .setInputText(String.valueOf(getPosition(R.string.key_page_messages_position, 3))); + models.add(messages); + EditableCheckBoxModel history = new EditableCheckBoxModel(getString(R.string.page_name_history)); + history.setChecked(getVisibility(R.string.key_page_history_visibility)) + .setInputText(String.valueOf(getPosition(R.string.key_page_history_position, 4))); + models.add(history); + EditableCheckBoxModel search = new EditableCheckBoxModel(getString(R.string.page_name_search)); + search.setChecked(getVisibility(R.string.key_page_search_visibility)) + .setInputText(String.valueOf(getPosition(R.string.key_page_search_position, 5))); + models.add(search); + EditableCheckBoxModel list = new EditableCheckBoxModel(getString(R.string.page_name_list)); + list.setChecked(getVisibility(R.string.key_page_list_visibility)) + .setInputText(String.valueOf(getPosition(R.string.key_page_list_position, 6))); + models.add(list); + return models.toArray(new EditableCheckBoxModel[models.size()]); + } + + private ListView getListView() { + return (ListView) findViewById(R.id.listview_edit_list); + } + + private MainActivity getMainActivity() { + return (MainActivity) getParent(); + } + + private UserPreferenceHelper getPreference() { + return new UserPreferenceHelper(this); + } + + // ------------------------ OVERRIDE METHODS ------------------------ + + @Override + protected void onCreate(Bundle savedInstanceState) { + UserPreferenceHelper userPreferenceHelper = getPreference(); + setTheme(Themes.getTheme(((Application) getApplication()).getThemeIndex())); + super.onCreate(savedInstanceState); + setContentView(R.layout.layout_edit_list); + ActionBar actionBar = getActionBar(); + actionBar.setDisplayHomeAsUpEnabled(true); + initializeViews(); + Logger.debug("EditTabActivity:onCreate"); + } + + @Override + protected void onDestroy() { + EditableCheckBoxModel messages = (EditableCheckBoxModel) adapter.getItem(3); + putVisibility(R.string.key_page_messages_visibility, messages.isChecked()); + //TODO putPosition(R.string.key_page_messages_position, Integer.parseInt(messages.getInputText())); + EditableCheckBoxModel history = (EditableCheckBoxModel) adapter.getItem(4); + putVisibility(R.string.key_page_history_visibility, history.isChecked()); + EditableCheckBoxModel search = (EditableCheckBoxModel) adapter.getItem(5); + putVisibility(R.string.key_page_search_visibility, search.isChecked()); + EditableCheckBoxModel list = (EditableCheckBoxModel) adapter.getItem(6); + putVisibility(R.string.key_page_list_visibility, list.isChecked()); + new Notificator(this, R.string.notice_tab_editted).makeToast().show(); + super.onDestroy(); + } + + @Override + public boolean onOptionsItemSelected(MenuItem item) { + switch (item.getItemId()) { + case android.R.id.home: { + NavUtils.navigateUpFromSameTask(this); + return true; + } + } + return true; + } + + private int getPosition(int key, int defaultValue) { + return Integer.parseInt(getPreference().getValue(key, String.valueOf(defaultValue))); + } + + private boolean getVisibility(int key) { + return getPreference().getValue(key, true); + } + + private void initializeViews() { + ListView listView = getListView(); + adapter = new CustomListAdapter<>(this, EditableCheckBoxModel.class); + listView.setAdapter(adapter); + adapter.addToTop(getCheckBoxItems()); + adapter.update(); + } + + private void putPosition(int key, int value) { + getPreference().putValue(key, String.valueOf(value)); + } + + private void putVisibility(int key, boolean value) { + getPreference().putValue(key, value); + } +} diff --git a/app/src/main/java/net/lacolaco/smileessence/activity/EditTemplateActivity.java b/app/src/main/java/net/lacolaco/smileessence/activity/EditTemplateActivity.java new file mode 100644 index 00000000..d87be8fb --- /dev/null +++ b/app/src/main/java/net/lacolaco/smileessence/activity/EditTemplateActivity.java @@ -0,0 +1,216 @@ +/* + * The MIT License (MIT) + * + * Copyright (c) 2012-2014 lacolaco.net + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE + * SOFTWARE. + */ + +package net.lacolaco.smileessence.activity; + +import android.app.ActionBar; +import android.app.Activity; +import android.os.Bundle; +import android.support.v4.app.NavUtils; +import android.text.TextUtils; +import android.util.SparseBooleanArray; +import android.view.*; +import android.widget.AbsListView; +import android.widget.AdapterView; +import android.widget.ListView; + +import net.lacolaco.smileessence.Application; +import net.lacolaco.smileessence.R; +import net.lacolaco.smileessence.entity.Template; +import net.lacolaco.smileessence.logging.Logger; +import net.lacolaco.smileessence.util.Themes; +import net.lacolaco.smileessence.view.adapter.CustomListAdapter; +import net.lacolaco.smileessence.view.dialog.DialogHelper; +import net.lacolaco.smileessence.view.dialog.EditTextDialogFragment; + +import java.util.List; + +public class EditTemplateActivity extends Activity implements AdapterView.OnItemClickListener, + AbsListView.MultiChoiceModeListener { + + // ------------------------------ FIELDS ------------------------------ + + private CustomListAdapter