├── .gitmodules ├── Yukari ├── libs │ └── .gitkeep ├── .gitignore └── src │ ├── test │ ├── resources │ │ └── mockito-extensions │ │ │ └── org.mockito.plugins.MockMaker │ └── java │ │ └── shibafu │ │ └── yukari │ │ ├── stub │ │ └── FakeTextStatus.kt │ │ ├── media2 │ │ └── impl │ │ │ └── TwimgTest.java │ │ └── util │ │ └── StringUtilTest.java │ ├── main │ ├── res │ │ ├── raw │ │ │ ├── y_rt.ogg │ │ │ ├── y_apply.ogg │ │ │ ├── y_fav.ogg │ │ │ ├── y_like.ogg │ │ │ ├── y_love.ogg │ │ │ ├── y_reply.ogg │ │ │ ├── akari_fav.ogg │ │ │ ├── kiri_like.ogg │ │ │ ├── kiri_suki.ogg │ │ │ ├── akari_like.ogg │ │ │ ├── akari_love.ogg │ │ │ ├── akari_reply.ogg │ │ │ ├── kiri_reply.ogg │ │ │ ├── kiri_retweet.ogg │ │ │ └── akari_retweet.ogg │ │ ├── drawable │ │ │ ├── ic_favrt.png │ │ │ ├── ic_quote.png │ │ │ ├── ic_reply.png │ │ │ ├── ic_share.png │ │ │ ├── ic_favorite.png │ │ │ ├── ic_retweet.png │ │ │ ├── ic_splash.xml │ │ │ ├── selector_key_light_background.xml │ │ │ ├── ic_baseline_arrow_drop_down_24.xml │ │ │ ├── ic_check_128.xml │ │ │ ├── icon_background.xml │ │ │ ├── loading_from_remote.xml │ │ │ ├── ic_visibility_direct_dark.xml │ │ │ ├── ic_visibility_direct_light.xml │ │ │ ├── ic_visibility_direct_dark_18dp.xml │ │ │ ├── ic_visibility_direct_light_18dp.xml │ │ │ ├── dialog_full_material_dark.xml │ │ │ ├── selector_tweet_own_background.xml │ │ │ ├── dialog_full_material_light.xml │ │ │ ├── selector_tweet_mention_background.xml │ │ │ ├── selector_tweet_own_d_background.xml │ │ │ ├── selector_tweet_retweet_background.xml │ │ │ ├── ic_person_primary_dark_24dp.xml │ │ │ ├── ic_person_primary_light_24dp.xml │ │ │ ├── selector_tweet_normal_background.xml │ │ │ ├── selector_tweet_own_c_background.xml │ │ │ ├── selector_key_background.xml │ │ │ ├── selector_tweet_mention_d_background.xml │ │ │ ├── selector_tweet_retweet_d_background.xml │ │ │ ├── selector_gray_background.xml │ │ │ ├── selector_tweet_mention_c_background.xml │ │ │ ├── selector_tweet_normal_d_background.xml │ │ │ ├── selector_tweet_retweet_c_background.xml │ │ │ ├── selector_tweet_normal_c_background.xml │ │ │ ├── ic_location_on_primary_light_24dp.xml │ │ │ ├── menu_dialog_full_material_dark.xml │ │ │ ├── ic_location_on_primary_dark_24dp.xml │ │ │ ├── ic_insert_invitation_primary_dark_24dp.xml │ │ │ ├── ic_insert_invitation_primary_light_24dp.xml │ │ │ ├── menu_dialog_full_material_light.xml │ │ │ ├── ic_visibility_private_dark.xml │ │ │ ├── ic_visibility_private_light.xml │ │ │ ├── ic_visibility_private_dark_18dp.xml │ │ │ ├── ic_visibility_private_light_18dp.xml │ │ │ ├── ic_visibility_unlisted_dark.xml │ │ │ ├── ic_visibility_unlisted_light.xml │ │ │ ├── ic_visibility_unlisted_dark_18dp.xml │ │ │ ├── ic_visibility_unlisted_light_18dp.xml │ │ │ ├── selector_tab_background.xml │ │ │ ├── ic_link_primary_light_24dp.xml │ │ │ ├── ic_link_primary_dark_24dp.xml │ │ │ ├── bg_tips.xml │ │ │ ├── ic_visibility_public_dark.xml │ │ │ ├── ic_visibility_public_light.xml │ │ │ ├── ic_visibility_public_dark_18dp.xml │ │ │ └── ic_visibility_public_light_18dp.xml │ │ ├── drawable-hdpi │ │ │ ├── ic_list.png │ │ │ ├── ic_quit.png │ │ │ ├── ic_close.png │ │ │ ├── ic_f_not.png │ │ │ ├── ic_grass.png │ │ │ ├── ic_list_d.png │ │ │ ├── ic_morse.png │ │ │ ├── ic_play_d.png │ │ │ ├── ic_quit_d.png │ │ │ ├── ic_santen.png │ │ │ ├── ic_search.png │ │ │ ├── ic_secure.png │ │ │ ├── ic_bookmark.png │ │ │ ├── ic_close_d.png │ │ │ ├── ic_download.png │ │ │ ├── ic_f_follow.png │ │ │ ├── ic_f_friend.png │ │ │ ├── ic_favorited.png │ │ │ ├── ic_feedback.png │ │ │ ├── ic_grass_d.png │ │ │ ├── ic_hashtag.png │ │ │ ├── ic_hashtag_d.png │ │ │ ├── ic_launcher.png │ │ │ ├── ic_menu_dark.png │ │ │ ├── ic_morse_d.png │ │ │ ├── ic_pause_d.png │ │ │ ├── ic_profile.png │ │ │ ├── ic_profile_d.png │ │ │ ├── ic_reply_b.png │ │ │ ├── ic_reply_b_d.png │ │ │ ├── ic_santen_d.png │ │ │ ├── ic_search_d.png │ │ │ ├── ic_secure_d.png │ │ │ ├── ic_settings.png │ │ │ ├── ic_web_site.png │ │ │ ├── ic_action_add.png │ │ │ ├── ic_bookmark_d.png │ │ │ ├── ic_f_follower.png │ │ │ ├── ic_favorite_m.png │ │ │ ├── ic_favorited_d.png │ │ │ ├── ic_feedback_d.png │ │ │ ├── ic_menu_dark_d.png │ │ │ ├── ic_prof_follow.png │ │ │ ├── ic_prof_tweets.png │ │ │ ├── ic_settings_d.png │ │ │ ├── ic_stat_reply.png │ │ │ ├── ic_voice_input.png │ │ │ ├── yukatterload.9.png │ │ │ ├── ic_access_camera.png │ │ │ ├── ic_action_add_d.png │ │ │ ├── ic_action_search.png │ │ │ ├── ic_favorite_m_d.png │ │ │ ├── ic_launcher_morse.png │ │ │ ├── ic_launcher_tweet.png │ │ │ ├── ic_playing_music.png │ │ │ ├── ic_prof_favorite.png │ │ │ ├── ic_prof_follow_d.png │ │ │ ├── ic_prof_follower.png │ │ │ ├── ic_prof_tweets_d.png │ │ │ ├── ic_stat_favorite.png │ │ │ ├── ic_stat_message.png │ │ │ ├── ic_stat_retweet.png │ │ │ ├── ic_states_warning.png │ │ │ ├── ic_voice_input_d.png │ │ │ ├── rect_transbox.9.png │ │ │ ├── ic_access_camera_d.png │ │ │ ├── ic_action_overflow.png │ │ │ ├── ic_action_search_d.png │ │ │ ├── ic_always_light_off.png │ │ │ ├── ic_always_light_on.png │ │ │ ├── ic_content_picture.png │ │ │ ├── ic_playing_music_d.png │ │ │ ├── ic_prof_favorite_d.png │ │ │ ├── ic_prof_follower_d.png │ │ │ ├── ic_states_warning_d.png │ │ │ ├── ic_action_overflow_d.png │ │ │ ├── ic_always_light_off_d.png │ │ │ ├── ic_content_picture_d.png │ │ │ ├── ic_images_rotate_left.png │ │ │ ├── ic_images_rotate_right.png │ │ │ ├── ic_navigation_refresh.png │ │ │ └── ic_navigation_refresh_d.png │ │ ├── drawable-mdpi │ │ │ ├── ic_list.png │ │ │ ├── ic_quit.png │ │ │ ├── ic_close.png │ │ │ ├── ic_f_not.png │ │ │ ├── ic_grass.png │ │ │ ├── ic_list_d.png │ │ │ ├── ic_morse.png │ │ │ ├── ic_play_d.png │ │ │ ├── ic_quit_d.png │ │ │ ├── ic_santen.png │ │ │ ├── ic_search.png │ │ │ ├── ic_secure.png │ │ │ ├── ic_bookmark.png │ │ │ ├── ic_close_d.png │ │ │ ├── ic_download.png │ │ │ ├── ic_f_follow.png │ │ │ ├── ic_f_friend.png │ │ │ ├── ic_favorited.png │ │ │ ├── ic_feedback.png │ │ │ ├── ic_grass_d.png │ │ │ ├── ic_hashtag.png │ │ │ ├── ic_hashtag_d.png │ │ │ ├── ic_launcher.png │ │ │ ├── ic_menu_dark.png │ │ │ ├── ic_morse_d.png │ │ │ ├── ic_pause_d.png │ │ │ ├── ic_profile.png │ │ │ ├── ic_profile_d.png │ │ │ ├── ic_reply_b.png │ │ │ ├── ic_reply_b_d.png │ │ │ ├── ic_santen_d.png │ │ │ ├── ic_search_d.png │ │ │ ├── ic_secure_d.png │ │ │ ├── ic_settings.png │ │ │ ├── ic_web_site.png │ │ │ ├── ic_action_add.png │ │ │ ├── ic_bookmark_d.png │ │ │ ├── ic_f_follower.png │ │ │ ├── ic_favorite_m.png │ │ │ ├── ic_favorited_d.png │ │ │ ├── ic_feedback_d.png │ │ │ ├── ic_menu_dark_d.png │ │ │ ├── ic_prof_follow.png │ │ │ ├── ic_prof_tweets.png │ │ │ ├── ic_settings_d.png │ │ │ ├── ic_stat_reply.png │ │ │ ├── ic_voice_input.png │ │ │ ├── yukatterload.9.png │ │ │ ├── ic_access_camera.png │ │ │ ├── ic_action_add_d.png │ │ │ ├── ic_action_search.png │ │ │ ├── ic_favorite_m_d.png │ │ │ ├── ic_launcher_morse.png │ │ │ ├── ic_launcher_tweet.png │ │ │ ├── ic_playing_music.png │ │ │ ├── ic_prof_favorite.png │ │ │ ├── ic_prof_follow_d.png │ │ │ ├── ic_prof_follower.png │ │ │ ├── ic_prof_tweets_d.png │ │ │ ├── ic_stat_favorite.png │ │ │ ├── ic_stat_message.png │ │ │ ├── ic_stat_retweet.png │ │ │ ├── ic_states_warning.png │ │ │ ├── ic_voice_input_d.png │ │ │ ├── rect_transbox.9.png │ │ │ ├── ic_access_camera_d.png │ │ │ ├── ic_action_overflow.png │ │ │ ├── ic_action_search_d.png │ │ │ ├── ic_always_light_off.png │ │ │ ├── ic_always_light_on.png │ │ │ ├── ic_content_picture.png │ │ │ ├── ic_playing_music_d.png │ │ │ ├── ic_prof_favorite_d.png │ │ │ ├── ic_prof_follower_d.png │ │ │ ├── ic_states_warning_d.png │ │ │ ├── ic_action_overflow_d.png │ │ │ ├── ic_always_light_off_d.png │ │ │ ├── ic_content_picture_d.png │ │ │ ├── ic_images_rotate_left.png │ │ │ ├── ic_images_rotate_right.png │ │ │ ├── ic_navigation_refresh.png │ │ │ └── ic_navigation_refresh_d.png │ │ ├── drawable-xhdpi │ │ │ ├── ic_close.png │ │ │ ├── ic_f_not.png │ │ │ ├── ic_grass.png │ │ │ ├── ic_list.png │ │ │ ├── ic_morse.png │ │ │ ├── ic_quit.png │ │ │ ├── ic_bookmark.png │ │ │ ├── ic_close_d.png │ │ │ ├── ic_download.png │ │ │ ├── ic_f_follow.png │ │ │ ├── ic_f_friend.png │ │ │ ├── ic_feedback.png │ │ │ ├── ic_grass_d.png │ │ │ ├── ic_hashtag.png │ │ │ ├── ic_launcher.png │ │ │ ├── ic_list_d.png │ │ │ ├── ic_morse_d.png │ │ │ ├── ic_pause_d.png │ │ │ ├── ic_play_d.png │ │ │ ├── ic_profile.png │ │ │ ├── ic_quit_d.png │ │ │ ├── ic_reply_b.png │ │ │ ├── ic_santen.png │ │ │ ├── ic_santen_d.png │ │ │ ├── ic_search.png │ │ │ ├── ic_search_d.png │ │ │ ├── ic_secure.png │ │ │ ├── ic_secure_d.png │ │ │ ├── ic_settings.png │ │ │ ├── ic_web_site.png │ │ │ ├── ic_action_add.png │ │ │ ├── ic_bookmark_d.png │ │ │ ├── ic_f_follower.png │ │ │ ├── ic_favorite_m.png │ │ │ ├── ic_favorited.png │ │ │ ├── ic_feedback_d.png │ │ │ ├── ic_hashtag_d.png │ │ │ ├── ic_menu_dark.png │ │ │ ├── ic_profile_d.png │ │ │ ├── ic_reply_b_d.png │ │ │ ├── ic_settings_d.png │ │ │ ├── ic_stat_reply.png │ │ │ ├── ic_access_camera.png │ │ │ ├── ic_action_add_d.png │ │ │ ├── ic_action_search.png │ │ │ ├── ic_favorite_m_d.png │ │ │ ├── ic_favorited_d.png │ │ │ ├── ic_menu_dark_d.png │ │ │ ├── ic_playing_music.png │ │ │ ├── ic_prof_favorite.png │ │ │ ├── ic_prof_follow.png │ │ │ ├── ic_prof_follow_d.png │ │ │ ├── ic_prof_follower.png │ │ │ ├── ic_prof_tweets.png │ │ │ ├── ic_prof_tweets_d.png │ │ │ ├── ic_stat_favorite.png │ │ │ ├── ic_stat_message.png │ │ │ ├── ic_stat_retweet.png │ │ │ ├── ic_voice_input.png │ │ │ ├── ic_voice_input_d.png │ │ │ ├── rect_transbox.9.png │ │ │ ├── yukatterload.9.png │ │ │ ├── ic_access_camera_d.png │ │ │ ├── ic_action_overflow.png │ │ │ ├── ic_action_search_d.png │ │ │ ├── ic_always_light_on.png │ │ │ ├── ic_content_picture.png │ │ │ ├── ic_launcher_morse.png │ │ │ ├── ic_launcher_tweet.png │ │ │ ├── ic_playing_music_d.png │ │ │ ├── ic_prof_favorite_d.png │ │ │ ├── ic_prof_follower_d.png │ │ │ ├── ic_states_warning.png │ │ │ ├── ic_action_overflow_d.png │ │ │ ├── ic_always_light_off.png │ │ │ ├── ic_always_light_off_d.png │ │ │ ├── ic_content_picture_d.png │ │ │ ├── ic_images_rotate_left.png │ │ │ ├── ic_navigation_refresh.png │ │ │ ├── ic_states_warning_d.png │ │ │ ├── ic_images_rotate_right.png │ │ │ └── ic_navigation_refresh_d.png │ │ ├── drawable-xxhdpi │ │ │ ├── ic_list.png │ │ │ ├── ic_quit.png │ │ │ ├── ic_close.png │ │ │ ├── ic_close_d.png │ │ │ ├── ic_f_not.png │ │ │ ├── ic_grass.png │ │ │ ├── ic_grass_d.png │ │ │ ├── ic_hashtag.png │ │ │ ├── ic_list_d.png │ │ │ ├── ic_morse.png │ │ │ ├── ic_morse_d.png │ │ │ ├── ic_pause_d.png │ │ │ ├── ic_play_d.png │ │ │ ├── ic_profile.png │ │ │ ├── ic_quit_d.png │ │ │ ├── ic_reply_b.png │ │ │ ├── ic_santen.png │ │ │ ├── ic_search.png │ │ │ ├── ic_secure.png │ │ │ ├── ic_bookmark.png │ │ │ ├── ic_download.png │ │ │ ├── ic_f_follow.png │ │ │ ├── ic_f_friend.png │ │ │ ├── ic_favorited.png │ │ │ ├── ic_feedback.png │ │ │ ├── ic_hashtag_d.png │ │ │ ├── ic_launcher.png │ │ │ ├── ic_menu_dark.png │ │ │ ├── ic_profile_d.png │ │ │ ├── ic_reply_b_d.png │ │ │ ├── ic_santen_d.png │ │ │ ├── ic_search_d.png │ │ │ ├── ic_secure_d.png │ │ │ ├── ic_settings.png │ │ │ ├── ic_web_site.png │ │ │ ├── ic_action_add.png │ │ │ ├── ic_action_add_d.png │ │ │ ├── ic_bookmark_d.png │ │ │ ├── ic_f_follower.png │ │ │ ├── ic_favorite_m.png │ │ │ ├── ic_favorite_m_d.png │ │ │ ├── ic_favorited_d.png │ │ │ ├── ic_feedback_d.png │ │ │ ├── ic_menu_dark_d.png │ │ │ ├── ic_prof_follow.png │ │ │ ├── ic_prof_tweets.png │ │ │ ├── ic_settings_d.png │ │ │ ├── ic_stat_message.png │ │ │ ├── ic_stat_reply.png │ │ │ ├── ic_stat_retweet.png │ │ │ ├── ic_voice_input.png │ │ │ ├── rect_transbox.9.png │ │ │ ├── sortable_dark.png │ │ │ ├── sortable_light.png │ │ │ ├── yukatterload.9.png │ │ │ ├── ic_access_camera.png │ │ │ ├── ic_action_search.png │ │ │ ├── ic_launcher_morse.png │ │ │ ├── ic_launcher_tweet.png │ │ │ ├── ic_playing_music.png │ │ │ ├── ic_prof_favorite.png │ │ │ ├── ic_prof_follow_d.png │ │ │ ├── ic_prof_follower.png │ │ │ ├── ic_prof_tweets_d.png │ │ │ ├── ic_stat_favorite.png │ │ │ ├── ic_states_warning.png │ │ │ ├── ic_voice_input_d.png │ │ │ ├── ic_access_camera_d.png │ │ │ ├── ic_action_overflow.png │ │ │ ├── ic_action_overflow_d.png │ │ │ ├── ic_action_search_d.png │ │ │ ├── ic_always_light_off.png │ │ │ ├── ic_always_light_on.png │ │ │ ├── ic_content_picture.png │ │ │ ├── ic_content_picture_d.png │ │ │ ├── ic_playing_music_d.png │ │ │ ├── ic_prof_favorite_d.png │ │ │ ├── ic_prof_follower_d.png │ │ │ ├── ic_states_warning_d.png │ │ │ ├── ic_always_light_off_d.png │ │ │ ├── ic_images_rotate_left.png │ │ │ ├── ic_images_rotate_right.png │ │ │ ├── ic_navigation_refresh.png │ │ │ └── ic_navigation_refresh_d.png │ │ ├── mipmap-hdpi │ │ │ ├── ic_launcher_akari.png │ │ │ └── ic_launcher_tweet_r.png │ │ ├── mipmap-mdpi │ │ │ ├── ic_launcher_akari.png │ │ │ └── ic_launcher_tweet_r.png │ │ ├── mipmap-xhdpi │ │ │ ├── ic_launcher_akari.png │ │ │ └── ic_launcher_tweet_r.png │ │ ├── mipmap-xxhdpi │ │ │ ├── ic_launcher_akari.png │ │ │ └── ic_launcher_tweet_r.png │ │ ├── mipmap-xxxhdpi │ │ │ ├── ic_launcher_akari.png │ │ │ └── ic_launcher_tweet_r.png │ │ ├── drawable-xxxhdpi │ │ │ └── ic_launcher_tweet.png │ │ ├── values-sw360dp │ │ │ ├── dimens.xml │ │ │ └── values-preference.xml │ │ ├── values-v31 │ │ │ ├── strings.xml │ │ │ └── styles.xml │ │ ├── values-v27 │ │ │ └── styles.xml │ │ ├── anim │ │ │ ├── anim_fadein.xml │ │ │ ├── anim_fadeout.xml │ │ │ ├── activity_tweet_close_enter.xml │ │ │ ├── activity_tweet_close_exit.xml │ │ │ ├── activity_tweet_open_enter.xml │ │ │ └── activity_tweet_open_exit.xml │ │ ├── menu │ │ │ ├── reply_to.xml │ │ │ ├── mute.xml │ │ │ ├── accountmanage.xml │ │ │ ├── profile_edit.xml │ │ │ ├── user_search.xml │ │ │ ├── search.xml │ │ │ └── follow.xml │ │ ├── values-night-v31 │ │ │ └── styles.xml │ │ ├── values-en │ │ │ └── strings.xml │ │ ├── values │ │ │ └── integer.xml │ │ ├── color │ │ │ ├── selector_key_dark_textcolor.xml │ │ │ ├── selector_key_light_textcolor.xml │ │ │ └── selector_key_yukari_dark_textcolor.xml │ │ ├── values-sw720dp-land │ │ │ └── dimens.xml │ │ ├── xml │ │ │ ├── pref_search.xml │ │ │ ├── shortcuts.xml │ │ │ └── pref_filter.xml │ │ ├── values-sw600dp │ │ │ └── dimens.xml │ │ └── layout │ │ │ ├── activity_mastodon_follow.xml │ │ │ ├── activity_pluggaloid_output.xml │ │ │ ├── row_font.xml │ │ │ ├── popup_badge.xml │ │ │ ├── menu_profile_manage_follow.xml │ │ │ ├── row_intent.xml │ │ │ ├── view_morse.xml │ │ │ └── fragment_oauth_provider.xml │ ├── ic_launcher-web.png │ ├── assets │ │ ├── Roboto-Thin.ttf │ │ └── Koruri-Regular.ttf │ ├── ic_launcher_akari-web.png │ ├── ic_launcher_tweet_r-web.png │ └── java │ │ └── shibafu │ │ └── yukari │ │ ├── linkage │ │ ├── TimelineHubProvider.kt │ │ ├── RestQueryException.kt │ │ ├── PostValidator.kt │ │ └── ProviderStream.kt │ │ ├── util │ │ ├── ReferenceHolder.kt │ │ ├── AttrUtil.java │ │ └── CompatUtil.java │ │ ├── common │ │ ├── async │ │ │ ├── SimpleAsyncTask.java │ │ │ └── TwitterAsyncTask.java │ │ ├── StatusChildUI.java │ │ ├── StatusUI.java │ │ ├── NotificationChannelPrefix.java │ │ ├── NotificationPreferenceSoundUri.kt │ │ ├── okhttp │ │ │ └── UserAgentInterceptor.kt │ │ ├── TabType.java │ │ ├── bitmapcache │ │ │ └── MemoryCalculator.java │ │ └── span │ │ │ ├── HashTagSpan.java │ │ │ └── UserProfileSpan.java │ │ ├── database │ │ ├── DBRecord.java │ │ ├── MuteMatch.java │ │ ├── ApiType.java │ │ ├── UserExtrasManager.java │ │ ├── DBTable.java │ │ └── DatabaseEvent.java │ │ ├── entity │ │ ├── NotifyHistory.kt │ │ ├── PluginApplicable.kt │ │ ├── NotifyKind.java │ │ ├── StatusRelation.java │ │ ├── StatusComparator.kt │ │ ├── MergeableStatus.kt │ │ ├── Mention.kt │ │ └── ShadowUser.kt │ │ ├── fragment │ │ ├── tabcontent │ │ │ ├── TimelineTab.java │ │ │ └── QueryableTab.java │ │ ├── base │ │ │ ├── YukariBaseFragment.java │ │ │ └── ListYukariBaseFragment.java │ │ └── PostProgressDialogFragment.java │ │ ├── filter │ │ ├── source │ │ │ └── All.kt │ │ └── sexp │ │ │ └── EvaluateContext.kt │ │ ├── media2 │ │ └── impl │ │ │ ├── DonVideo.kt │ │ │ ├── DonPicture.kt │ │ │ ├── RouterCake.kt │ │ │ ├── SimplePicture.java │ │ │ ├── Twitpic.java │ │ │ └── Pixiv.java │ │ ├── view │ │ └── ExceptionStatusView.kt │ │ ├── twitter │ │ ├── MissingTwitterInstanceException.java │ │ └── TwitterStream.kt │ │ ├── mastodon │ │ ├── MastodonValidator.kt │ │ ├── sexp │ │ │ └── Functions.kt │ │ ├── MastodonRestQuery.kt │ │ ├── entity │ │ │ └── DonMention.kt │ │ └── api │ │ │ └── AccountsEx.kt │ │ └── activity │ │ └── LicenseActivity.java │ └── alpha │ └── res │ ├── drawable-hdpi │ └── ic_launcher.png │ ├── drawable-mdpi │ └── ic_launcher.png │ ├── drawable-xhdpi │ └── ic_launcher.png │ ├── drawable-xxhdpi │ └── ic_launcher.png │ ├── drawable-xxxhdpi │ └── ic_launcher.png │ ├── values │ └── strings.xml │ └── xml │ └── shortcuts.xml ├── api ├── mastodon-ws │ ├── .gitignore │ ├── src │ │ └── main │ │ │ └── java │ │ │ └── info │ │ │ └── shibafu528 │ │ │ └── yukari │ │ │ └── api │ │ │ └── mastodon │ │ │ └── ws │ │ │ ├── Event.kt │ │ │ └── StreamListener.kt │ └── build.gradle └── README.md ├── gl-helpers ├── .gitignore ├── README.md ├── src │ └── main │ │ ├── java │ │ └── combu │ │ │ └── excompass │ │ │ ├── CompassListener.java │ │ │ └── FloatSampler.java │ │ └── AndroidManifest.xml ├── build.gradle └── proguard-rules.pro ├── yukari-processor ├── .gitignore ├── src │ └── main │ │ └── resources │ │ └── META-INF │ │ └── services │ │ └── javax.annotation.processing.Processor └── build.gradle ├── yukari-processor-annotation ├── .gitignore ├── src │ └── main │ │ └── java │ │ └── info │ │ └── shibafu528 │ │ └── yukari │ │ └── processor │ │ ├── messagequeue │ │ ├── Message.java │ │ ├── MessageQueue.java │ │ └── PassThrough.java │ │ └── filter │ │ └── Source.java └── build.gradle ├── gradle └── wrapper │ ├── gradle-wrapper.jar │ └── gradle-wrapper.properties ├── settings.gradle ├── .gitignore └── gradle.properties /.gitmodules: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /Yukari/libs/.gitkeep: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /api/mastodon-ws/.gitignore: -------------------------------------------------------------------------------- 1 | /build -------------------------------------------------------------------------------- /gl-helpers/.gitignore: -------------------------------------------------------------------------------- 1 | /build 2 | -------------------------------------------------------------------------------- /yukari-processor/.gitignore: -------------------------------------------------------------------------------- 1 | build -------------------------------------------------------------------------------- /yukari-processor-annotation/.gitignore: -------------------------------------------------------------------------------- 1 | build -------------------------------------------------------------------------------- /Yukari/.gitignore: -------------------------------------------------------------------------------- 1 | *.apk 2 | manifest-merger-release-report.txt 3 | /alpha 4 | /stable -------------------------------------------------------------------------------- /Yukari/src/test/resources/mockito-extensions/org.mockito.plugins.MockMaker: -------------------------------------------------------------------------------- 1 | mock-maker-inline -------------------------------------------------------------------------------- /Yukari/src/main/res/raw/y_rt.ogg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shibafu528/Yukari/HEAD/Yukari/src/main/res/raw/y_rt.ogg -------------------------------------------------------------------------------- /Yukari/src/main/ic_launcher-web.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shibafu528/Yukari/HEAD/Yukari/src/main/ic_launcher-web.png -------------------------------------------------------------------------------- /Yukari/src/main/res/raw/y_apply.ogg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shibafu528/Yukari/HEAD/Yukari/src/main/res/raw/y_apply.ogg -------------------------------------------------------------------------------- /Yukari/src/main/res/raw/y_fav.ogg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shibafu528/Yukari/HEAD/Yukari/src/main/res/raw/y_fav.ogg -------------------------------------------------------------------------------- /Yukari/src/main/res/raw/y_like.ogg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shibafu528/Yukari/HEAD/Yukari/src/main/res/raw/y_like.ogg -------------------------------------------------------------------------------- /Yukari/src/main/res/raw/y_love.ogg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shibafu528/Yukari/HEAD/Yukari/src/main/res/raw/y_love.ogg -------------------------------------------------------------------------------- /Yukari/src/main/res/raw/y_reply.ogg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shibafu528/Yukari/HEAD/Yukari/src/main/res/raw/y_reply.ogg -------------------------------------------------------------------------------- /gradle/wrapper/gradle-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shibafu528/Yukari/HEAD/gradle/wrapper/gradle-wrapper.jar -------------------------------------------------------------------------------- /Yukari/src/main/res/raw/akari_fav.ogg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shibafu528/Yukari/HEAD/Yukari/src/main/res/raw/akari_fav.ogg -------------------------------------------------------------------------------- /Yukari/src/main/res/raw/kiri_like.ogg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shibafu528/Yukari/HEAD/Yukari/src/main/res/raw/kiri_like.ogg -------------------------------------------------------------------------------- /Yukari/src/main/res/raw/kiri_suki.ogg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shibafu528/Yukari/HEAD/Yukari/src/main/res/raw/kiri_suki.ogg -------------------------------------------------------------------------------- /Yukari/src/main/assets/Roboto-Thin.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shibafu528/Yukari/HEAD/Yukari/src/main/assets/Roboto-Thin.ttf -------------------------------------------------------------------------------- /Yukari/src/main/res/raw/akari_like.ogg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shibafu528/Yukari/HEAD/Yukari/src/main/res/raw/akari_like.ogg -------------------------------------------------------------------------------- /Yukari/src/main/res/raw/akari_love.ogg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shibafu528/Yukari/HEAD/Yukari/src/main/res/raw/akari_love.ogg -------------------------------------------------------------------------------- /Yukari/src/main/res/raw/akari_reply.ogg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shibafu528/Yukari/HEAD/Yukari/src/main/res/raw/akari_reply.ogg -------------------------------------------------------------------------------- /Yukari/src/main/res/raw/kiri_reply.ogg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shibafu528/Yukari/HEAD/Yukari/src/main/res/raw/kiri_reply.ogg -------------------------------------------------------------------------------- /Yukari/src/main/res/raw/kiri_retweet.ogg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shibafu528/Yukari/HEAD/Yukari/src/main/res/raw/kiri_retweet.ogg -------------------------------------------------------------------------------- /Yukari/src/main/assets/Koruri-Regular.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shibafu528/Yukari/HEAD/Yukari/src/main/assets/Koruri-Regular.ttf -------------------------------------------------------------------------------- /Yukari/src/main/ic_launcher_akari-web.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shibafu528/Yukari/HEAD/Yukari/src/main/ic_launcher_akari-web.png -------------------------------------------------------------------------------- /Yukari/src/main/res/drawable/ic_favrt.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shibafu528/Yukari/HEAD/Yukari/src/main/res/drawable/ic_favrt.png -------------------------------------------------------------------------------- /Yukari/src/main/res/drawable/ic_quote.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shibafu528/Yukari/HEAD/Yukari/src/main/res/drawable/ic_quote.png -------------------------------------------------------------------------------- /Yukari/src/main/res/drawable/ic_reply.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shibafu528/Yukari/HEAD/Yukari/src/main/res/drawable/ic_reply.png -------------------------------------------------------------------------------- /Yukari/src/main/res/drawable/ic_share.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shibafu528/Yukari/HEAD/Yukari/src/main/res/drawable/ic_share.png -------------------------------------------------------------------------------- /Yukari/src/main/res/raw/akari_retweet.ogg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shibafu528/Yukari/HEAD/Yukari/src/main/res/raw/akari_retweet.ogg -------------------------------------------------------------------------------- /Yukari/src/main/ic_launcher_tweet_r-web.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shibafu528/Yukari/HEAD/Yukari/src/main/ic_launcher_tweet_r-web.png -------------------------------------------------------------------------------- /Yukari/src/main/res/drawable-hdpi/ic_list.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shibafu528/Yukari/HEAD/Yukari/src/main/res/drawable-hdpi/ic_list.png -------------------------------------------------------------------------------- /Yukari/src/main/res/drawable-hdpi/ic_quit.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shibafu528/Yukari/HEAD/Yukari/src/main/res/drawable-hdpi/ic_quit.png -------------------------------------------------------------------------------- /Yukari/src/main/res/drawable-mdpi/ic_list.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shibafu528/Yukari/HEAD/Yukari/src/main/res/drawable-mdpi/ic_list.png -------------------------------------------------------------------------------- /Yukari/src/main/res/drawable-mdpi/ic_quit.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shibafu528/Yukari/HEAD/Yukari/src/main/res/drawable-mdpi/ic_quit.png -------------------------------------------------------------------------------- /Yukari/src/main/res/drawable/ic_favorite.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shibafu528/Yukari/HEAD/Yukari/src/main/res/drawable/ic_favorite.png -------------------------------------------------------------------------------- /Yukari/src/main/res/drawable/ic_retweet.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shibafu528/Yukari/HEAD/Yukari/src/main/res/drawable/ic_retweet.png -------------------------------------------------------------------------------- /Yukari/src/main/res/drawable-hdpi/ic_close.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shibafu528/Yukari/HEAD/Yukari/src/main/res/drawable-hdpi/ic_close.png -------------------------------------------------------------------------------- /Yukari/src/main/res/drawable-hdpi/ic_f_not.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shibafu528/Yukari/HEAD/Yukari/src/main/res/drawable-hdpi/ic_f_not.png -------------------------------------------------------------------------------- /Yukari/src/main/res/drawable-hdpi/ic_grass.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shibafu528/Yukari/HEAD/Yukari/src/main/res/drawable-hdpi/ic_grass.png -------------------------------------------------------------------------------- /Yukari/src/main/res/drawable-hdpi/ic_list_d.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shibafu528/Yukari/HEAD/Yukari/src/main/res/drawable-hdpi/ic_list_d.png -------------------------------------------------------------------------------- /Yukari/src/main/res/drawable-hdpi/ic_morse.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shibafu528/Yukari/HEAD/Yukari/src/main/res/drawable-hdpi/ic_morse.png -------------------------------------------------------------------------------- /Yukari/src/main/res/drawable-hdpi/ic_play_d.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shibafu528/Yukari/HEAD/Yukari/src/main/res/drawable-hdpi/ic_play_d.png -------------------------------------------------------------------------------- /Yukari/src/main/res/drawable-hdpi/ic_quit_d.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shibafu528/Yukari/HEAD/Yukari/src/main/res/drawable-hdpi/ic_quit_d.png -------------------------------------------------------------------------------- /Yukari/src/main/res/drawable-hdpi/ic_santen.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shibafu528/Yukari/HEAD/Yukari/src/main/res/drawable-hdpi/ic_santen.png -------------------------------------------------------------------------------- /Yukari/src/main/res/drawable-hdpi/ic_search.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shibafu528/Yukari/HEAD/Yukari/src/main/res/drawable-hdpi/ic_search.png -------------------------------------------------------------------------------- /Yukari/src/main/res/drawable-hdpi/ic_secure.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shibafu528/Yukari/HEAD/Yukari/src/main/res/drawable-hdpi/ic_secure.png -------------------------------------------------------------------------------- /Yukari/src/main/res/drawable-mdpi/ic_close.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shibafu528/Yukari/HEAD/Yukari/src/main/res/drawable-mdpi/ic_close.png -------------------------------------------------------------------------------- /Yukari/src/main/res/drawable-mdpi/ic_f_not.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shibafu528/Yukari/HEAD/Yukari/src/main/res/drawable-mdpi/ic_f_not.png -------------------------------------------------------------------------------- /Yukari/src/main/res/drawable-mdpi/ic_grass.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shibafu528/Yukari/HEAD/Yukari/src/main/res/drawable-mdpi/ic_grass.png -------------------------------------------------------------------------------- /Yukari/src/main/res/drawable-mdpi/ic_list_d.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shibafu528/Yukari/HEAD/Yukari/src/main/res/drawable-mdpi/ic_list_d.png -------------------------------------------------------------------------------- /Yukari/src/main/res/drawable-mdpi/ic_morse.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shibafu528/Yukari/HEAD/Yukari/src/main/res/drawable-mdpi/ic_morse.png -------------------------------------------------------------------------------- /Yukari/src/main/res/drawable-mdpi/ic_play_d.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shibafu528/Yukari/HEAD/Yukari/src/main/res/drawable-mdpi/ic_play_d.png -------------------------------------------------------------------------------- /Yukari/src/main/res/drawable-mdpi/ic_quit_d.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shibafu528/Yukari/HEAD/Yukari/src/main/res/drawable-mdpi/ic_quit_d.png -------------------------------------------------------------------------------- /Yukari/src/main/res/drawable-mdpi/ic_santen.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shibafu528/Yukari/HEAD/Yukari/src/main/res/drawable-mdpi/ic_santen.png -------------------------------------------------------------------------------- /Yukari/src/main/res/drawable-mdpi/ic_search.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shibafu528/Yukari/HEAD/Yukari/src/main/res/drawable-mdpi/ic_search.png -------------------------------------------------------------------------------- /Yukari/src/main/res/drawable-mdpi/ic_secure.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shibafu528/Yukari/HEAD/Yukari/src/main/res/drawable-mdpi/ic_secure.png -------------------------------------------------------------------------------- /Yukari/src/main/res/drawable-xhdpi/ic_close.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shibafu528/Yukari/HEAD/Yukari/src/main/res/drawable-xhdpi/ic_close.png -------------------------------------------------------------------------------- /Yukari/src/main/res/drawable-xhdpi/ic_f_not.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shibafu528/Yukari/HEAD/Yukari/src/main/res/drawable-xhdpi/ic_f_not.png -------------------------------------------------------------------------------- /Yukari/src/main/res/drawable-xhdpi/ic_grass.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shibafu528/Yukari/HEAD/Yukari/src/main/res/drawable-xhdpi/ic_grass.png -------------------------------------------------------------------------------- /Yukari/src/main/res/drawable-xhdpi/ic_list.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shibafu528/Yukari/HEAD/Yukari/src/main/res/drawable-xhdpi/ic_list.png -------------------------------------------------------------------------------- /Yukari/src/main/res/drawable-xhdpi/ic_morse.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shibafu528/Yukari/HEAD/Yukari/src/main/res/drawable-xhdpi/ic_morse.png -------------------------------------------------------------------------------- /Yukari/src/main/res/drawable-xhdpi/ic_quit.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shibafu528/Yukari/HEAD/Yukari/src/main/res/drawable-xhdpi/ic_quit.png -------------------------------------------------------------------------------- /Yukari/src/main/res/drawable-xxhdpi/ic_list.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shibafu528/Yukari/HEAD/Yukari/src/main/res/drawable-xxhdpi/ic_list.png -------------------------------------------------------------------------------- /Yukari/src/main/res/drawable-xxhdpi/ic_quit.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shibafu528/Yukari/HEAD/Yukari/src/main/res/drawable-xxhdpi/ic_quit.png -------------------------------------------------------------------------------- /Yukari/src/alpha/res/drawable-hdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shibafu528/Yukari/HEAD/Yukari/src/alpha/res/drawable-hdpi/ic_launcher.png -------------------------------------------------------------------------------- /Yukari/src/alpha/res/drawable-mdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shibafu528/Yukari/HEAD/Yukari/src/alpha/res/drawable-mdpi/ic_launcher.png -------------------------------------------------------------------------------- /Yukari/src/main/res/drawable-hdpi/ic_bookmark.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shibafu528/Yukari/HEAD/Yukari/src/main/res/drawable-hdpi/ic_bookmark.png -------------------------------------------------------------------------------- /Yukari/src/main/res/drawable-hdpi/ic_close_d.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shibafu528/Yukari/HEAD/Yukari/src/main/res/drawable-hdpi/ic_close_d.png -------------------------------------------------------------------------------- /Yukari/src/main/res/drawable-hdpi/ic_download.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shibafu528/Yukari/HEAD/Yukari/src/main/res/drawable-hdpi/ic_download.png -------------------------------------------------------------------------------- /Yukari/src/main/res/drawable-hdpi/ic_f_follow.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shibafu528/Yukari/HEAD/Yukari/src/main/res/drawable-hdpi/ic_f_follow.png -------------------------------------------------------------------------------- /Yukari/src/main/res/drawable-hdpi/ic_f_friend.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shibafu528/Yukari/HEAD/Yukari/src/main/res/drawable-hdpi/ic_f_friend.png -------------------------------------------------------------------------------- /Yukari/src/main/res/drawable-hdpi/ic_favorited.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shibafu528/Yukari/HEAD/Yukari/src/main/res/drawable-hdpi/ic_favorited.png -------------------------------------------------------------------------------- /Yukari/src/main/res/drawable-hdpi/ic_feedback.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shibafu528/Yukari/HEAD/Yukari/src/main/res/drawable-hdpi/ic_feedback.png -------------------------------------------------------------------------------- /Yukari/src/main/res/drawable-hdpi/ic_grass_d.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shibafu528/Yukari/HEAD/Yukari/src/main/res/drawable-hdpi/ic_grass_d.png -------------------------------------------------------------------------------- /Yukari/src/main/res/drawable-hdpi/ic_hashtag.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shibafu528/Yukari/HEAD/Yukari/src/main/res/drawable-hdpi/ic_hashtag.png -------------------------------------------------------------------------------- /Yukari/src/main/res/drawable-hdpi/ic_hashtag_d.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shibafu528/Yukari/HEAD/Yukari/src/main/res/drawable-hdpi/ic_hashtag_d.png -------------------------------------------------------------------------------- /Yukari/src/main/res/drawable-hdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shibafu528/Yukari/HEAD/Yukari/src/main/res/drawable-hdpi/ic_launcher.png -------------------------------------------------------------------------------- /Yukari/src/main/res/drawable-hdpi/ic_menu_dark.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shibafu528/Yukari/HEAD/Yukari/src/main/res/drawable-hdpi/ic_menu_dark.png -------------------------------------------------------------------------------- /Yukari/src/main/res/drawable-hdpi/ic_morse_d.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shibafu528/Yukari/HEAD/Yukari/src/main/res/drawable-hdpi/ic_morse_d.png -------------------------------------------------------------------------------- /Yukari/src/main/res/drawable-hdpi/ic_pause_d.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shibafu528/Yukari/HEAD/Yukari/src/main/res/drawable-hdpi/ic_pause_d.png -------------------------------------------------------------------------------- /Yukari/src/main/res/drawable-hdpi/ic_profile.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shibafu528/Yukari/HEAD/Yukari/src/main/res/drawable-hdpi/ic_profile.png -------------------------------------------------------------------------------- /Yukari/src/main/res/drawable-hdpi/ic_profile_d.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shibafu528/Yukari/HEAD/Yukari/src/main/res/drawable-hdpi/ic_profile_d.png -------------------------------------------------------------------------------- /Yukari/src/main/res/drawable-hdpi/ic_reply_b.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shibafu528/Yukari/HEAD/Yukari/src/main/res/drawable-hdpi/ic_reply_b.png -------------------------------------------------------------------------------- /Yukari/src/main/res/drawable-hdpi/ic_reply_b_d.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shibafu528/Yukari/HEAD/Yukari/src/main/res/drawable-hdpi/ic_reply_b_d.png -------------------------------------------------------------------------------- /Yukari/src/main/res/drawable-hdpi/ic_santen_d.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shibafu528/Yukari/HEAD/Yukari/src/main/res/drawable-hdpi/ic_santen_d.png -------------------------------------------------------------------------------- /Yukari/src/main/res/drawable-hdpi/ic_search_d.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shibafu528/Yukari/HEAD/Yukari/src/main/res/drawable-hdpi/ic_search_d.png -------------------------------------------------------------------------------- /Yukari/src/main/res/drawable-hdpi/ic_secure_d.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shibafu528/Yukari/HEAD/Yukari/src/main/res/drawable-hdpi/ic_secure_d.png -------------------------------------------------------------------------------- /Yukari/src/main/res/drawable-hdpi/ic_settings.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shibafu528/Yukari/HEAD/Yukari/src/main/res/drawable-hdpi/ic_settings.png -------------------------------------------------------------------------------- /Yukari/src/main/res/drawable-hdpi/ic_web_site.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shibafu528/Yukari/HEAD/Yukari/src/main/res/drawable-hdpi/ic_web_site.png -------------------------------------------------------------------------------- /Yukari/src/main/res/drawable-mdpi/ic_bookmark.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shibafu528/Yukari/HEAD/Yukari/src/main/res/drawable-mdpi/ic_bookmark.png -------------------------------------------------------------------------------- /Yukari/src/main/res/drawable-mdpi/ic_close_d.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shibafu528/Yukari/HEAD/Yukari/src/main/res/drawable-mdpi/ic_close_d.png -------------------------------------------------------------------------------- /Yukari/src/main/res/drawable-mdpi/ic_download.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shibafu528/Yukari/HEAD/Yukari/src/main/res/drawable-mdpi/ic_download.png -------------------------------------------------------------------------------- /Yukari/src/main/res/drawable-mdpi/ic_f_follow.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shibafu528/Yukari/HEAD/Yukari/src/main/res/drawable-mdpi/ic_f_follow.png -------------------------------------------------------------------------------- /Yukari/src/main/res/drawable-mdpi/ic_f_friend.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shibafu528/Yukari/HEAD/Yukari/src/main/res/drawable-mdpi/ic_f_friend.png -------------------------------------------------------------------------------- /Yukari/src/main/res/drawable-mdpi/ic_favorited.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shibafu528/Yukari/HEAD/Yukari/src/main/res/drawable-mdpi/ic_favorited.png -------------------------------------------------------------------------------- /Yukari/src/main/res/drawable-mdpi/ic_feedback.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shibafu528/Yukari/HEAD/Yukari/src/main/res/drawable-mdpi/ic_feedback.png -------------------------------------------------------------------------------- /Yukari/src/main/res/drawable-mdpi/ic_grass_d.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shibafu528/Yukari/HEAD/Yukari/src/main/res/drawable-mdpi/ic_grass_d.png -------------------------------------------------------------------------------- /Yukari/src/main/res/drawable-mdpi/ic_hashtag.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shibafu528/Yukari/HEAD/Yukari/src/main/res/drawable-mdpi/ic_hashtag.png -------------------------------------------------------------------------------- /Yukari/src/main/res/drawable-mdpi/ic_hashtag_d.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shibafu528/Yukari/HEAD/Yukari/src/main/res/drawable-mdpi/ic_hashtag_d.png -------------------------------------------------------------------------------- /Yukari/src/main/res/drawable-mdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shibafu528/Yukari/HEAD/Yukari/src/main/res/drawable-mdpi/ic_launcher.png -------------------------------------------------------------------------------- /Yukari/src/main/res/drawable-mdpi/ic_menu_dark.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shibafu528/Yukari/HEAD/Yukari/src/main/res/drawable-mdpi/ic_menu_dark.png -------------------------------------------------------------------------------- /Yukari/src/main/res/drawable-mdpi/ic_morse_d.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shibafu528/Yukari/HEAD/Yukari/src/main/res/drawable-mdpi/ic_morse_d.png -------------------------------------------------------------------------------- /Yukari/src/main/res/drawable-mdpi/ic_pause_d.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shibafu528/Yukari/HEAD/Yukari/src/main/res/drawable-mdpi/ic_pause_d.png -------------------------------------------------------------------------------- /Yukari/src/main/res/drawable-mdpi/ic_profile.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shibafu528/Yukari/HEAD/Yukari/src/main/res/drawable-mdpi/ic_profile.png -------------------------------------------------------------------------------- /Yukari/src/main/res/drawable-mdpi/ic_profile_d.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shibafu528/Yukari/HEAD/Yukari/src/main/res/drawable-mdpi/ic_profile_d.png -------------------------------------------------------------------------------- /Yukari/src/main/res/drawable-mdpi/ic_reply_b.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shibafu528/Yukari/HEAD/Yukari/src/main/res/drawable-mdpi/ic_reply_b.png -------------------------------------------------------------------------------- /Yukari/src/main/res/drawable-mdpi/ic_reply_b_d.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shibafu528/Yukari/HEAD/Yukari/src/main/res/drawable-mdpi/ic_reply_b_d.png -------------------------------------------------------------------------------- /Yukari/src/main/res/drawable-mdpi/ic_santen_d.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shibafu528/Yukari/HEAD/Yukari/src/main/res/drawable-mdpi/ic_santen_d.png -------------------------------------------------------------------------------- /Yukari/src/main/res/drawable-mdpi/ic_search_d.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shibafu528/Yukari/HEAD/Yukari/src/main/res/drawable-mdpi/ic_search_d.png -------------------------------------------------------------------------------- /Yukari/src/main/res/drawable-mdpi/ic_secure_d.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shibafu528/Yukari/HEAD/Yukari/src/main/res/drawable-mdpi/ic_secure_d.png -------------------------------------------------------------------------------- /Yukari/src/main/res/drawable-mdpi/ic_settings.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shibafu528/Yukari/HEAD/Yukari/src/main/res/drawable-mdpi/ic_settings.png -------------------------------------------------------------------------------- /Yukari/src/main/res/drawable-mdpi/ic_web_site.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shibafu528/Yukari/HEAD/Yukari/src/main/res/drawable-mdpi/ic_web_site.png -------------------------------------------------------------------------------- /Yukari/src/main/res/drawable-xhdpi/ic_bookmark.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shibafu528/Yukari/HEAD/Yukari/src/main/res/drawable-xhdpi/ic_bookmark.png -------------------------------------------------------------------------------- /Yukari/src/main/res/drawable-xhdpi/ic_close_d.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shibafu528/Yukari/HEAD/Yukari/src/main/res/drawable-xhdpi/ic_close_d.png -------------------------------------------------------------------------------- /Yukari/src/main/res/drawable-xhdpi/ic_download.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shibafu528/Yukari/HEAD/Yukari/src/main/res/drawable-xhdpi/ic_download.png -------------------------------------------------------------------------------- /Yukari/src/main/res/drawable-xhdpi/ic_f_follow.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shibafu528/Yukari/HEAD/Yukari/src/main/res/drawable-xhdpi/ic_f_follow.png -------------------------------------------------------------------------------- /Yukari/src/main/res/drawable-xhdpi/ic_f_friend.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shibafu528/Yukari/HEAD/Yukari/src/main/res/drawable-xhdpi/ic_f_friend.png -------------------------------------------------------------------------------- /Yukari/src/main/res/drawable-xhdpi/ic_feedback.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shibafu528/Yukari/HEAD/Yukari/src/main/res/drawable-xhdpi/ic_feedback.png -------------------------------------------------------------------------------- /Yukari/src/main/res/drawable-xhdpi/ic_grass_d.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shibafu528/Yukari/HEAD/Yukari/src/main/res/drawable-xhdpi/ic_grass_d.png -------------------------------------------------------------------------------- /Yukari/src/main/res/drawable-xhdpi/ic_hashtag.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shibafu528/Yukari/HEAD/Yukari/src/main/res/drawable-xhdpi/ic_hashtag.png -------------------------------------------------------------------------------- /Yukari/src/main/res/drawable-xhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shibafu528/Yukari/HEAD/Yukari/src/main/res/drawable-xhdpi/ic_launcher.png -------------------------------------------------------------------------------- /Yukari/src/main/res/drawable-xhdpi/ic_list_d.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shibafu528/Yukari/HEAD/Yukari/src/main/res/drawable-xhdpi/ic_list_d.png -------------------------------------------------------------------------------- /Yukari/src/main/res/drawable-xhdpi/ic_morse_d.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shibafu528/Yukari/HEAD/Yukari/src/main/res/drawable-xhdpi/ic_morse_d.png -------------------------------------------------------------------------------- /Yukari/src/main/res/drawable-xhdpi/ic_pause_d.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shibafu528/Yukari/HEAD/Yukari/src/main/res/drawable-xhdpi/ic_pause_d.png -------------------------------------------------------------------------------- /Yukari/src/main/res/drawable-xhdpi/ic_play_d.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shibafu528/Yukari/HEAD/Yukari/src/main/res/drawable-xhdpi/ic_play_d.png -------------------------------------------------------------------------------- /Yukari/src/main/res/drawable-xhdpi/ic_profile.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shibafu528/Yukari/HEAD/Yukari/src/main/res/drawable-xhdpi/ic_profile.png -------------------------------------------------------------------------------- /Yukari/src/main/res/drawable-xhdpi/ic_quit_d.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shibafu528/Yukari/HEAD/Yukari/src/main/res/drawable-xhdpi/ic_quit_d.png -------------------------------------------------------------------------------- /Yukari/src/main/res/drawable-xhdpi/ic_reply_b.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shibafu528/Yukari/HEAD/Yukari/src/main/res/drawable-xhdpi/ic_reply_b.png -------------------------------------------------------------------------------- /Yukari/src/main/res/drawable-xhdpi/ic_santen.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shibafu528/Yukari/HEAD/Yukari/src/main/res/drawable-xhdpi/ic_santen.png -------------------------------------------------------------------------------- /Yukari/src/main/res/drawable-xhdpi/ic_santen_d.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shibafu528/Yukari/HEAD/Yukari/src/main/res/drawable-xhdpi/ic_santen_d.png -------------------------------------------------------------------------------- /Yukari/src/main/res/drawable-xhdpi/ic_search.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shibafu528/Yukari/HEAD/Yukari/src/main/res/drawable-xhdpi/ic_search.png -------------------------------------------------------------------------------- /Yukari/src/main/res/drawable-xhdpi/ic_search_d.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shibafu528/Yukari/HEAD/Yukari/src/main/res/drawable-xhdpi/ic_search_d.png -------------------------------------------------------------------------------- /Yukari/src/main/res/drawable-xhdpi/ic_secure.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shibafu528/Yukari/HEAD/Yukari/src/main/res/drawable-xhdpi/ic_secure.png -------------------------------------------------------------------------------- /Yukari/src/main/res/drawable-xhdpi/ic_secure_d.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shibafu528/Yukari/HEAD/Yukari/src/main/res/drawable-xhdpi/ic_secure_d.png -------------------------------------------------------------------------------- /Yukari/src/main/res/drawable-xhdpi/ic_settings.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shibafu528/Yukari/HEAD/Yukari/src/main/res/drawable-xhdpi/ic_settings.png -------------------------------------------------------------------------------- /Yukari/src/main/res/drawable-xhdpi/ic_web_site.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shibafu528/Yukari/HEAD/Yukari/src/main/res/drawable-xhdpi/ic_web_site.png -------------------------------------------------------------------------------- /Yukari/src/main/res/drawable-xxhdpi/ic_close.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shibafu528/Yukari/HEAD/Yukari/src/main/res/drawable-xxhdpi/ic_close.png -------------------------------------------------------------------------------- /Yukari/src/main/res/drawable-xxhdpi/ic_close_d.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shibafu528/Yukari/HEAD/Yukari/src/main/res/drawable-xxhdpi/ic_close_d.png -------------------------------------------------------------------------------- /Yukari/src/main/res/drawable-xxhdpi/ic_f_not.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shibafu528/Yukari/HEAD/Yukari/src/main/res/drawable-xxhdpi/ic_f_not.png -------------------------------------------------------------------------------- /Yukari/src/main/res/drawable-xxhdpi/ic_grass.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shibafu528/Yukari/HEAD/Yukari/src/main/res/drawable-xxhdpi/ic_grass.png -------------------------------------------------------------------------------- /Yukari/src/main/res/drawable-xxhdpi/ic_grass_d.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shibafu528/Yukari/HEAD/Yukari/src/main/res/drawable-xxhdpi/ic_grass_d.png -------------------------------------------------------------------------------- /Yukari/src/main/res/drawable-xxhdpi/ic_hashtag.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shibafu528/Yukari/HEAD/Yukari/src/main/res/drawable-xxhdpi/ic_hashtag.png -------------------------------------------------------------------------------- /Yukari/src/main/res/drawable-xxhdpi/ic_list_d.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shibafu528/Yukari/HEAD/Yukari/src/main/res/drawable-xxhdpi/ic_list_d.png -------------------------------------------------------------------------------- /Yukari/src/main/res/drawable-xxhdpi/ic_morse.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shibafu528/Yukari/HEAD/Yukari/src/main/res/drawable-xxhdpi/ic_morse.png -------------------------------------------------------------------------------- /Yukari/src/main/res/drawable-xxhdpi/ic_morse_d.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shibafu528/Yukari/HEAD/Yukari/src/main/res/drawable-xxhdpi/ic_morse_d.png -------------------------------------------------------------------------------- /Yukari/src/main/res/drawable-xxhdpi/ic_pause_d.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shibafu528/Yukari/HEAD/Yukari/src/main/res/drawable-xxhdpi/ic_pause_d.png -------------------------------------------------------------------------------- /Yukari/src/main/res/drawable-xxhdpi/ic_play_d.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shibafu528/Yukari/HEAD/Yukari/src/main/res/drawable-xxhdpi/ic_play_d.png -------------------------------------------------------------------------------- /Yukari/src/main/res/drawable-xxhdpi/ic_profile.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shibafu528/Yukari/HEAD/Yukari/src/main/res/drawable-xxhdpi/ic_profile.png -------------------------------------------------------------------------------- /Yukari/src/main/res/drawable-xxhdpi/ic_quit_d.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shibafu528/Yukari/HEAD/Yukari/src/main/res/drawable-xxhdpi/ic_quit_d.png -------------------------------------------------------------------------------- /Yukari/src/main/res/drawable-xxhdpi/ic_reply_b.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shibafu528/Yukari/HEAD/Yukari/src/main/res/drawable-xxhdpi/ic_reply_b.png -------------------------------------------------------------------------------- /Yukari/src/main/res/drawable-xxhdpi/ic_santen.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shibafu528/Yukari/HEAD/Yukari/src/main/res/drawable-xxhdpi/ic_santen.png -------------------------------------------------------------------------------- /Yukari/src/main/res/drawable-xxhdpi/ic_search.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shibafu528/Yukari/HEAD/Yukari/src/main/res/drawable-xxhdpi/ic_search.png -------------------------------------------------------------------------------- /Yukari/src/main/res/drawable-xxhdpi/ic_secure.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shibafu528/Yukari/HEAD/Yukari/src/main/res/drawable-xxhdpi/ic_secure.png -------------------------------------------------------------------------------- /Yukari/src/alpha/res/drawable-xhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shibafu528/Yukari/HEAD/Yukari/src/alpha/res/drawable-xhdpi/ic_launcher.png -------------------------------------------------------------------------------- /Yukari/src/alpha/res/drawable-xxhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shibafu528/Yukari/HEAD/Yukari/src/alpha/res/drawable-xxhdpi/ic_launcher.png -------------------------------------------------------------------------------- /Yukari/src/main/res/drawable-hdpi/ic_action_add.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shibafu528/Yukari/HEAD/Yukari/src/main/res/drawable-hdpi/ic_action_add.png -------------------------------------------------------------------------------- /Yukari/src/main/res/drawable-hdpi/ic_bookmark_d.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shibafu528/Yukari/HEAD/Yukari/src/main/res/drawable-hdpi/ic_bookmark_d.png -------------------------------------------------------------------------------- /Yukari/src/main/res/drawable-hdpi/ic_f_follower.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shibafu528/Yukari/HEAD/Yukari/src/main/res/drawable-hdpi/ic_f_follower.png -------------------------------------------------------------------------------- /Yukari/src/main/res/drawable-hdpi/ic_favorite_m.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shibafu528/Yukari/HEAD/Yukari/src/main/res/drawable-hdpi/ic_favorite_m.png -------------------------------------------------------------------------------- /Yukari/src/main/res/drawable-hdpi/ic_favorited_d.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shibafu528/Yukari/HEAD/Yukari/src/main/res/drawable-hdpi/ic_favorited_d.png -------------------------------------------------------------------------------- /Yukari/src/main/res/drawable-hdpi/ic_feedback_d.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shibafu528/Yukari/HEAD/Yukari/src/main/res/drawable-hdpi/ic_feedback_d.png -------------------------------------------------------------------------------- /Yukari/src/main/res/drawable-hdpi/ic_menu_dark_d.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shibafu528/Yukari/HEAD/Yukari/src/main/res/drawable-hdpi/ic_menu_dark_d.png -------------------------------------------------------------------------------- /Yukari/src/main/res/drawable-hdpi/ic_prof_follow.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shibafu528/Yukari/HEAD/Yukari/src/main/res/drawable-hdpi/ic_prof_follow.png -------------------------------------------------------------------------------- /Yukari/src/main/res/drawable-hdpi/ic_prof_tweets.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shibafu528/Yukari/HEAD/Yukari/src/main/res/drawable-hdpi/ic_prof_tweets.png -------------------------------------------------------------------------------- /Yukari/src/main/res/drawable-hdpi/ic_settings_d.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shibafu528/Yukari/HEAD/Yukari/src/main/res/drawable-hdpi/ic_settings_d.png -------------------------------------------------------------------------------- /Yukari/src/main/res/drawable-hdpi/ic_stat_reply.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shibafu528/Yukari/HEAD/Yukari/src/main/res/drawable-hdpi/ic_stat_reply.png -------------------------------------------------------------------------------- /Yukari/src/main/res/drawable-hdpi/ic_voice_input.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shibafu528/Yukari/HEAD/Yukari/src/main/res/drawable-hdpi/ic_voice_input.png -------------------------------------------------------------------------------- /Yukari/src/main/res/drawable-hdpi/yukatterload.9.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shibafu528/Yukari/HEAD/Yukari/src/main/res/drawable-hdpi/yukatterload.9.png -------------------------------------------------------------------------------- /Yukari/src/main/res/drawable-mdpi/ic_action_add.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shibafu528/Yukari/HEAD/Yukari/src/main/res/drawable-mdpi/ic_action_add.png -------------------------------------------------------------------------------- /Yukari/src/main/res/drawable-mdpi/ic_bookmark_d.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shibafu528/Yukari/HEAD/Yukari/src/main/res/drawable-mdpi/ic_bookmark_d.png -------------------------------------------------------------------------------- /Yukari/src/main/res/drawable-mdpi/ic_f_follower.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shibafu528/Yukari/HEAD/Yukari/src/main/res/drawable-mdpi/ic_f_follower.png -------------------------------------------------------------------------------- /Yukari/src/main/res/drawable-mdpi/ic_favorite_m.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shibafu528/Yukari/HEAD/Yukari/src/main/res/drawable-mdpi/ic_favorite_m.png -------------------------------------------------------------------------------- /Yukari/src/main/res/drawable-mdpi/ic_favorited_d.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shibafu528/Yukari/HEAD/Yukari/src/main/res/drawable-mdpi/ic_favorited_d.png -------------------------------------------------------------------------------- /Yukari/src/main/res/drawable-mdpi/ic_feedback_d.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shibafu528/Yukari/HEAD/Yukari/src/main/res/drawable-mdpi/ic_feedback_d.png -------------------------------------------------------------------------------- /Yukari/src/main/res/drawable-mdpi/ic_menu_dark_d.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shibafu528/Yukari/HEAD/Yukari/src/main/res/drawable-mdpi/ic_menu_dark_d.png -------------------------------------------------------------------------------- /Yukari/src/main/res/drawable-mdpi/ic_prof_follow.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shibafu528/Yukari/HEAD/Yukari/src/main/res/drawable-mdpi/ic_prof_follow.png -------------------------------------------------------------------------------- /Yukari/src/main/res/drawable-mdpi/ic_prof_tweets.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shibafu528/Yukari/HEAD/Yukari/src/main/res/drawable-mdpi/ic_prof_tweets.png -------------------------------------------------------------------------------- /Yukari/src/main/res/drawable-mdpi/ic_settings_d.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shibafu528/Yukari/HEAD/Yukari/src/main/res/drawable-mdpi/ic_settings_d.png -------------------------------------------------------------------------------- /Yukari/src/main/res/drawable-mdpi/ic_stat_reply.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shibafu528/Yukari/HEAD/Yukari/src/main/res/drawable-mdpi/ic_stat_reply.png -------------------------------------------------------------------------------- /Yukari/src/main/res/drawable-mdpi/ic_voice_input.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shibafu528/Yukari/HEAD/Yukari/src/main/res/drawable-mdpi/ic_voice_input.png -------------------------------------------------------------------------------- /Yukari/src/main/res/drawable-mdpi/yukatterload.9.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shibafu528/Yukari/HEAD/Yukari/src/main/res/drawable-mdpi/yukatterload.9.png -------------------------------------------------------------------------------- /Yukari/src/main/res/drawable-xhdpi/ic_action_add.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shibafu528/Yukari/HEAD/Yukari/src/main/res/drawable-xhdpi/ic_action_add.png -------------------------------------------------------------------------------- /Yukari/src/main/res/drawable-xhdpi/ic_bookmark_d.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shibafu528/Yukari/HEAD/Yukari/src/main/res/drawable-xhdpi/ic_bookmark_d.png -------------------------------------------------------------------------------- /Yukari/src/main/res/drawable-xhdpi/ic_f_follower.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shibafu528/Yukari/HEAD/Yukari/src/main/res/drawable-xhdpi/ic_f_follower.png -------------------------------------------------------------------------------- /Yukari/src/main/res/drawable-xhdpi/ic_favorite_m.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shibafu528/Yukari/HEAD/Yukari/src/main/res/drawable-xhdpi/ic_favorite_m.png -------------------------------------------------------------------------------- /Yukari/src/main/res/drawable-xhdpi/ic_favorited.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shibafu528/Yukari/HEAD/Yukari/src/main/res/drawable-xhdpi/ic_favorited.png -------------------------------------------------------------------------------- /Yukari/src/main/res/drawable-xhdpi/ic_feedback_d.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shibafu528/Yukari/HEAD/Yukari/src/main/res/drawable-xhdpi/ic_feedback_d.png -------------------------------------------------------------------------------- /Yukari/src/main/res/drawable-xhdpi/ic_hashtag_d.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shibafu528/Yukari/HEAD/Yukari/src/main/res/drawable-xhdpi/ic_hashtag_d.png -------------------------------------------------------------------------------- /Yukari/src/main/res/drawable-xhdpi/ic_menu_dark.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shibafu528/Yukari/HEAD/Yukari/src/main/res/drawable-xhdpi/ic_menu_dark.png -------------------------------------------------------------------------------- /Yukari/src/main/res/drawable-xhdpi/ic_profile_d.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shibafu528/Yukari/HEAD/Yukari/src/main/res/drawable-xhdpi/ic_profile_d.png -------------------------------------------------------------------------------- /Yukari/src/main/res/drawable-xhdpi/ic_reply_b_d.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shibafu528/Yukari/HEAD/Yukari/src/main/res/drawable-xhdpi/ic_reply_b_d.png -------------------------------------------------------------------------------- /Yukari/src/main/res/drawable-xhdpi/ic_settings_d.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shibafu528/Yukari/HEAD/Yukari/src/main/res/drawable-xhdpi/ic_settings_d.png -------------------------------------------------------------------------------- /Yukari/src/main/res/drawable-xhdpi/ic_stat_reply.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shibafu528/Yukari/HEAD/Yukari/src/main/res/drawable-xhdpi/ic_stat_reply.png -------------------------------------------------------------------------------- /Yukari/src/main/res/drawable-xxhdpi/ic_bookmark.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shibafu528/Yukari/HEAD/Yukari/src/main/res/drawable-xxhdpi/ic_bookmark.png -------------------------------------------------------------------------------- /Yukari/src/main/res/drawable-xxhdpi/ic_download.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shibafu528/Yukari/HEAD/Yukari/src/main/res/drawable-xxhdpi/ic_download.png -------------------------------------------------------------------------------- /Yukari/src/main/res/drawable-xxhdpi/ic_f_follow.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shibafu528/Yukari/HEAD/Yukari/src/main/res/drawable-xxhdpi/ic_f_follow.png -------------------------------------------------------------------------------- /Yukari/src/main/res/drawable-xxhdpi/ic_f_friend.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shibafu528/Yukari/HEAD/Yukari/src/main/res/drawable-xxhdpi/ic_f_friend.png -------------------------------------------------------------------------------- /Yukari/src/main/res/drawable-xxhdpi/ic_favorited.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shibafu528/Yukari/HEAD/Yukari/src/main/res/drawable-xxhdpi/ic_favorited.png -------------------------------------------------------------------------------- /Yukari/src/main/res/drawable-xxhdpi/ic_feedback.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shibafu528/Yukari/HEAD/Yukari/src/main/res/drawable-xxhdpi/ic_feedback.png -------------------------------------------------------------------------------- /Yukari/src/main/res/drawable-xxhdpi/ic_hashtag_d.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shibafu528/Yukari/HEAD/Yukari/src/main/res/drawable-xxhdpi/ic_hashtag_d.png -------------------------------------------------------------------------------- /Yukari/src/main/res/drawable-xxhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shibafu528/Yukari/HEAD/Yukari/src/main/res/drawable-xxhdpi/ic_launcher.png -------------------------------------------------------------------------------- /Yukari/src/main/res/drawable-xxhdpi/ic_menu_dark.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shibafu528/Yukari/HEAD/Yukari/src/main/res/drawable-xxhdpi/ic_menu_dark.png -------------------------------------------------------------------------------- /Yukari/src/main/res/drawable-xxhdpi/ic_profile_d.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shibafu528/Yukari/HEAD/Yukari/src/main/res/drawable-xxhdpi/ic_profile_d.png -------------------------------------------------------------------------------- /Yukari/src/main/res/drawable-xxhdpi/ic_reply_b_d.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shibafu528/Yukari/HEAD/Yukari/src/main/res/drawable-xxhdpi/ic_reply_b_d.png -------------------------------------------------------------------------------- /Yukari/src/main/res/drawable-xxhdpi/ic_santen_d.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shibafu528/Yukari/HEAD/Yukari/src/main/res/drawable-xxhdpi/ic_santen_d.png -------------------------------------------------------------------------------- /Yukari/src/main/res/drawable-xxhdpi/ic_search_d.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shibafu528/Yukari/HEAD/Yukari/src/main/res/drawable-xxhdpi/ic_search_d.png -------------------------------------------------------------------------------- /Yukari/src/main/res/drawable-xxhdpi/ic_secure_d.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shibafu528/Yukari/HEAD/Yukari/src/main/res/drawable-xxhdpi/ic_secure_d.png -------------------------------------------------------------------------------- /Yukari/src/main/res/drawable-xxhdpi/ic_settings.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shibafu528/Yukari/HEAD/Yukari/src/main/res/drawable-xxhdpi/ic_settings.png -------------------------------------------------------------------------------- /Yukari/src/main/res/drawable-xxhdpi/ic_web_site.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shibafu528/Yukari/HEAD/Yukari/src/main/res/drawable-xxhdpi/ic_web_site.png -------------------------------------------------------------------------------- /Yukari/src/alpha/res/drawable-xxxhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shibafu528/Yukari/HEAD/Yukari/src/alpha/res/drawable-xxxhdpi/ic_launcher.png -------------------------------------------------------------------------------- /Yukari/src/main/res/drawable-hdpi/ic_access_camera.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shibafu528/Yukari/HEAD/Yukari/src/main/res/drawable-hdpi/ic_access_camera.png -------------------------------------------------------------------------------- /Yukari/src/main/res/drawable-hdpi/ic_action_add_d.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shibafu528/Yukari/HEAD/Yukari/src/main/res/drawable-hdpi/ic_action_add_d.png -------------------------------------------------------------------------------- /Yukari/src/main/res/drawable-hdpi/ic_action_search.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shibafu528/Yukari/HEAD/Yukari/src/main/res/drawable-hdpi/ic_action_search.png -------------------------------------------------------------------------------- /Yukari/src/main/res/drawable-hdpi/ic_favorite_m_d.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shibafu528/Yukari/HEAD/Yukari/src/main/res/drawable-hdpi/ic_favorite_m_d.png -------------------------------------------------------------------------------- /Yukari/src/main/res/drawable-hdpi/ic_launcher_morse.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shibafu528/Yukari/HEAD/Yukari/src/main/res/drawable-hdpi/ic_launcher_morse.png -------------------------------------------------------------------------------- /Yukari/src/main/res/drawable-hdpi/ic_launcher_tweet.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shibafu528/Yukari/HEAD/Yukari/src/main/res/drawable-hdpi/ic_launcher_tweet.png -------------------------------------------------------------------------------- /Yukari/src/main/res/drawable-hdpi/ic_playing_music.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shibafu528/Yukari/HEAD/Yukari/src/main/res/drawable-hdpi/ic_playing_music.png -------------------------------------------------------------------------------- /Yukari/src/main/res/drawable-hdpi/ic_prof_favorite.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shibafu528/Yukari/HEAD/Yukari/src/main/res/drawable-hdpi/ic_prof_favorite.png -------------------------------------------------------------------------------- /Yukari/src/main/res/drawable-hdpi/ic_prof_follow_d.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shibafu528/Yukari/HEAD/Yukari/src/main/res/drawable-hdpi/ic_prof_follow_d.png -------------------------------------------------------------------------------- /Yukari/src/main/res/drawable-hdpi/ic_prof_follower.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shibafu528/Yukari/HEAD/Yukari/src/main/res/drawable-hdpi/ic_prof_follower.png -------------------------------------------------------------------------------- /Yukari/src/main/res/drawable-hdpi/ic_prof_tweets_d.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shibafu528/Yukari/HEAD/Yukari/src/main/res/drawable-hdpi/ic_prof_tweets_d.png -------------------------------------------------------------------------------- /Yukari/src/main/res/drawable-hdpi/ic_stat_favorite.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shibafu528/Yukari/HEAD/Yukari/src/main/res/drawable-hdpi/ic_stat_favorite.png -------------------------------------------------------------------------------- /Yukari/src/main/res/drawable-hdpi/ic_stat_message.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shibafu528/Yukari/HEAD/Yukari/src/main/res/drawable-hdpi/ic_stat_message.png -------------------------------------------------------------------------------- /Yukari/src/main/res/drawable-hdpi/ic_stat_retweet.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shibafu528/Yukari/HEAD/Yukari/src/main/res/drawable-hdpi/ic_stat_retweet.png -------------------------------------------------------------------------------- /Yukari/src/main/res/drawable-hdpi/ic_states_warning.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shibafu528/Yukari/HEAD/Yukari/src/main/res/drawable-hdpi/ic_states_warning.png -------------------------------------------------------------------------------- /Yukari/src/main/res/drawable-hdpi/ic_voice_input_d.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shibafu528/Yukari/HEAD/Yukari/src/main/res/drawable-hdpi/ic_voice_input_d.png -------------------------------------------------------------------------------- /Yukari/src/main/res/drawable-hdpi/rect_transbox.9.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shibafu528/Yukari/HEAD/Yukari/src/main/res/drawable-hdpi/rect_transbox.9.png -------------------------------------------------------------------------------- /Yukari/src/main/res/drawable-mdpi/ic_access_camera.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shibafu528/Yukari/HEAD/Yukari/src/main/res/drawable-mdpi/ic_access_camera.png -------------------------------------------------------------------------------- /Yukari/src/main/res/drawable-mdpi/ic_action_add_d.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shibafu528/Yukari/HEAD/Yukari/src/main/res/drawable-mdpi/ic_action_add_d.png -------------------------------------------------------------------------------- /Yukari/src/main/res/drawable-mdpi/ic_action_search.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shibafu528/Yukari/HEAD/Yukari/src/main/res/drawable-mdpi/ic_action_search.png -------------------------------------------------------------------------------- /Yukari/src/main/res/drawable-mdpi/ic_favorite_m_d.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shibafu528/Yukari/HEAD/Yukari/src/main/res/drawable-mdpi/ic_favorite_m_d.png -------------------------------------------------------------------------------- /Yukari/src/main/res/drawable-mdpi/ic_launcher_morse.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shibafu528/Yukari/HEAD/Yukari/src/main/res/drawable-mdpi/ic_launcher_morse.png -------------------------------------------------------------------------------- /Yukari/src/main/res/drawable-mdpi/ic_launcher_tweet.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shibafu528/Yukari/HEAD/Yukari/src/main/res/drawable-mdpi/ic_launcher_tweet.png -------------------------------------------------------------------------------- /Yukari/src/main/res/drawable-mdpi/ic_playing_music.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shibafu528/Yukari/HEAD/Yukari/src/main/res/drawable-mdpi/ic_playing_music.png -------------------------------------------------------------------------------- /Yukari/src/main/res/drawable-mdpi/ic_prof_favorite.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shibafu528/Yukari/HEAD/Yukari/src/main/res/drawable-mdpi/ic_prof_favorite.png -------------------------------------------------------------------------------- /Yukari/src/main/res/drawable-mdpi/ic_prof_follow_d.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shibafu528/Yukari/HEAD/Yukari/src/main/res/drawable-mdpi/ic_prof_follow_d.png -------------------------------------------------------------------------------- /Yukari/src/main/res/drawable-mdpi/ic_prof_follower.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shibafu528/Yukari/HEAD/Yukari/src/main/res/drawable-mdpi/ic_prof_follower.png -------------------------------------------------------------------------------- /Yukari/src/main/res/drawable-mdpi/ic_prof_tweets_d.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shibafu528/Yukari/HEAD/Yukari/src/main/res/drawable-mdpi/ic_prof_tweets_d.png -------------------------------------------------------------------------------- /Yukari/src/main/res/drawable-mdpi/ic_stat_favorite.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shibafu528/Yukari/HEAD/Yukari/src/main/res/drawable-mdpi/ic_stat_favorite.png -------------------------------------------------------------------------------- /Yukari/src/main/res/drawable-mdpi/ic_stat_message.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shibafu528/Yukari/HEAD/Yukari/src/main/res/drawable-mdpi/ic_stat_message.png -------------------------------------------------------------------------------- /Yukari/src/main/res/drawable-mdpi/ic_stat_retweet.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shibafu528/Yukari/HEAD/Yukari/src/main/res/drawable-mdpi/ic_stat_retweet.png -------------------------------------------------------------------------------- /Yukari/src/main/res/drawable-mdpi/ic_states_warning.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shibafu528/Yukari/HEAD/Yukari/src/main/res/drawable-mdpi/ic_states_warning.png -------------------------------------------------------------------------------- /Yukari/src/main/res/drawable-mdpi/ic_voice_input_d.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shibafu528/Yukari/HEAD/Yukari/src/main/res/drawable-mdpi/ic_voice_input_d.png -------------------------------------------------------------------------------- /Yukari/src/main/res/drawable-mdpi/rect_transbox.9.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shibafu528/Yukari/HEAD/Yukari/src/main/res/drawable-mdpi/rect_transbox.9.png -------------------------------------------------------------------------------- /Yukari/src/main/res/drawable-xhdpi/ic_access_camera.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shibafu528/Yukari/HEAD/Yukari/src/main/res/drawable-xhdpi/ic_access_camera.png -------------------------------------------------------------------------------- /Yukari/src/main/res/drawable-xhdpi/ic_action_add_d.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shibafu528/Yukari/HEAD/Yukari/src/main/res/drawable-xhdpi/ic_action_add_d.png -------------------------------------------------------------------------------- /Yukari/src/main/res/drawable-xhdpi/ic_action_search.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shibafu528/Yukari/HEAD/Yukari/src/main/res/drawable-xhdpi/ic_action_search.png -------------------------------------------------------------------------------- /Yukari/src/main/res/drawable-xhdpi/ic_favorite_m_d.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shibafu528/Yukari/HEAD/Yukari/src/main/res/drawable-xhdpi/ic_favorite_m_d.png -------------------------------------------------------------------------------- /Yukari/src/main/res/drawable-xhdpi/ic_favorited_d.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shibafu528/Yukari/HEAD/Yukari/src/main/res/drawable-xhdpi/ic_favorited_d.png -------------------------------------------------------------------------------- /Yukari/src/main/res/drawable-xhdpi/ic_menu_dark_d.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shibafu528/Yukari/HEAD/Yukari/src/main/res/drawable-xhdpi/ic_menu_dark_d.png -------------------------------------------------------------------------------- /Yukari/src/main/res/drawable-xhdpi/ic_playing_music.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shibafu528/Yukari/HEAD/Yukari/src/main/res/drawable-xhdpi/ic_playing_music.png -------------------------------------------------------------------------------- /Yukari/src/main/res/drawable-xhdpi/ic_prof_favorite.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shibafu528/Yukari/HEAD/Yukari/src/main/res/drawable-xhdpi/ic_prof_favorite.png -------------------------------------------------------------------------------- /Yukari/src/main/res/drawable-xhdpi/ic_prof_follow.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shibafu528/Yukari/HEAD/Yukari/src/main/res/drawable-xhdpi/ic_prof_follow.png -------------------------------------------------------------------------------- /Yukari/src/main/res/drawable-xhdpi/ic_prof_follow_d.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shibafu528/Yukari/HEAD/Yukari/src/main/res/drawable-xhdpi/ic_prof_follow_d.png -------------------------------------------------------------------------------- /Yukari/src/main/res/drawable-xhdpi/ic_prof_follower.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shibafu528/Yukari/HEAD/Yukari/src/main/res/drawable-xhdpi/ic_prof_follower.png -------------------------------------------------------------------------------- /Yukari/src/main/res/drawable-xhdpi/ic_prof_tweets.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shibafu528/Yukari/HEAD/Yukari/src/main/res/drawable-xhdpi/ic_prof_tweets.png -------------------------------------------------------------------------------- /Yukari/src/main/res/drawable-xhdpi/ic_prof_tweets_d.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shibafu528/Yukari/HEAD/Yukari/src/main/res/drawable-xhdpi/ic_prof_tweets_d.png -------------------------------------------------------------------------------- /Yukari/src/main/res/drawable-xhdpi/ic_stat_favorite.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shibafu528/Yukari/HEAD/Yukari/src/main/res/drawable-xhdpi/ic_stat_favorite.png -------------------------------------------------------------------------------- /Yukari/src/main/res/drawable-xhdpi/ic_stat_message.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shibafu528/Yukari/HEAD/Yukari/src/main/res/drawable-xhdpi/ic_stat_message.png -------------------------------------------------------------------------------- /Yukari/src/main/res/drawable-xhdpi/ic_stat_retweet.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shibafu528/Yukari/HEAD/Yukari/src/main/res/drawable-xhdpi/ic_stat_retweet.png -------------------------------------------------------------------------------- /Yukari/src/main/res/drawable-xhdpi/ic_voice_input.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shibafu528/Yukari/HEAD/Yukari/src/main/res/drawable-xhdpi/ic_voice_input.png -------------------------------------------------------------------------------- /Yukari/src/main/res/drawable-xhdpi/ic_voice_input_d.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shibafu528/Yukari/HEAD/Yukari/src/main/res/drawable-xhdpi/ic_voice_input_d.png -------------------------------------------------------------------------------- /Yukari/src/main/res/drawable-xhdpi/rect_transbox.9.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shibafu528/Yukari/HEAD/Yukari/src/main/res/drawable-xhdpi/rect_transbox.9.png -------------------------------------------------------------------------------- /Yukari/src/main/res/drawable-xhdpi/yukatterload.9.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shibafu528/Yukari/HEAD/Yukari/src/main/res/drawable-xhdpi/yukatterload.9.png -------------------------------------------------------------------------------- /Yukari/src/main/res/drawable-xxhdpi/ic_action_add.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shibafu528/Yukari/HEAD/Yukari/src/main/res/drawable-xxhdpi/ic_action_add.png -------------------------------------------------------------------------------- /Yukari/src/main/res/drawable-xxhdpi/ic_action_add_d.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shibafu528/Yukari/HEAD/Yukari/src/main/res/drawable-xxhdpi/ic_action_add_d.png -------------------------------------------------------------------------------- /Yukari/src/main/res/drawable-xxhdpi/ic_bookmark_d.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shibafu528/Yukari/HEAD/Yukari/src/main/res/drawable-xxhdpi/ic_bookmark_d.png -------------------------------------------------------------------------------- /Yukari/src/main/res/drawable-xxhdpi/ic_f_follower.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shibafu528/Yukari/HEAD/Yukari/src/main/res/drawable-xxhdpi/ic_f_follower.png -------------------------------------------------------------------------------- /Yukari/src/main/res/drawable-xxhdpi/ic_favorite_m.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shibafu528/Yukari/HEAD/Yukari/src/main/res/drawable-xxhdpi/ic_favorite_m.png -------------------------------------------------------------------------------- /Yukari/src/main/res/drawable-xxhdpi/ic_favorite_m_d.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shibafu528/Yukari/HEAD/Yukari/src/main/res/drawable-xxhdpi/ic_favorite_m_d.png -------------------------------------------------------------------------------- /Yukari/src/main/res/drawable-xxhdpi/ic_favorited_d.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shibafu528/Yukari/HEAD/Yukari/src/main/res/drawable-xxhdpi/ic_favorited_d.png -------------------------------------------------------------------------------- /Yukari/src/main/res/drawable-xxhdpi/ic_feedback_d.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shibafu528/Yukari/HEAD/Yukari/src/main/res/drawable-xxhdpi/ic_feedback_d.png -------------------------------------------------------------------------------- /Yukari/src/main/res/drawable-xxhdpi/ic_menu_dark_d.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shibafu528/Yukari/HEAD/Yukari/src/main/res/drawable-xxhdpi/ic_menu_dark_d.png -------------------------------------------------------------------------------- /Yukari/src/main/res/drawable-xxhdpi/ic_prof_follow.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shibafu528/Yukari/HEAD/Yukari/src/main/res/drawable-xxhdpi/ic_prof_follow.png -------------------------------------------------------------------------------- /Yukari/src/main/res/drawable-xxhdpi/ic_prof_tweets.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shibafu528/Yukari/HEAD/Yukari/src/main/res/drawable-xxhdpi/ic_prof_tweets.png -------------------------------------------------------------------------------- /Yukari/src/main/res/drawable-xxhdpi/ic_settings_d.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shibafu528/Yukari/HEAD/Yukari/src/main/res/drawable-xxhdpi/ic_settings_d.png -------------------------------------------------------------------------------- /Yukari/src/main/res/drawable-xxhdpi/ic_stat_message.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shibafu528/Yukari/HEAD/Yukari/src/main/res/drawable-xxhdpi/ic_stat_message.png -------------------------------------------------------------------------------- /Yukari/src/main/res/drawable-xxhdpi/ic_stat_reply.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shibafu528/Yukari/HEAD/Yukari/src/main/res/drawable-xxhdpi/ic_stat_reply.png -------------------------------------------------------------------------------- /Yukari/src/main/res/drawable-xxhdpi/ic_stat_retweet.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shibafu528/Yukari/HEAD/Yukari/src/main/res/drawable-xxhdpi/ic_stat_retweet.png -------------------------------------------------------------------------------- /Yukari/src/main/res/drawable-xxhdpi/ic_voice_input.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shibafu528/Yukari/HEAD/Yukari/src/main/res/drawable-xxhdpi/ic_voice_input.png -------------------------------------------------------------------------------- /Yukari/src/main/res/drawable-xxhdpi/rect_transbox.9.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shibafu528/Yukari/HEAD/Yukari/src/main/res/drawable-xxhdpi/rect_transbox.9.png -------------------------------------------------------------------------------- /Yukari/src/main/res/drawable-xxhdpi/sortable_dark.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shibafu528/Yukari/HEAD/Yukari/src/main/res/drawable-xxhdpi/sortable_dark.png -------------------------------------------------------------------------------- /Yukari/src/main/res/drawable-xxhdpi/sortable_light.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shibafu528/Yukari/HEAD/Yukari/src/main/res/drawable-xxhdpi/sortable_light.png -------------------------------------------------------------------------------- /Yukari/src/main/res/drawable-xxhdpi/yukatterload.9.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shibafu528/Yukari/HEAD/Yukari/src/main/res/drawable-xxhdpi/yukatterload.9.png -------------------------------------------------------------------------------- /Yukari/src/main/res/mipmap-hdpi/ic_launcher_akari.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shibafu528/Yukari/HEAD/Yukari/src/main/res/mipmap-hdpi/ic_launcher_akari.png -------------------------------------------------------------------------------- /Yukari/src/main/res/mipmap-hdpi/ic_launcher_tweet_r.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shibafu528/Yukari/HEAD/Yukari/src/main/res/mipmap-hdpi/ic_launcher_tweet_r.png -------------------------------------------------------------------------------- /Yukari/src/main/res/mipmap-mdpi/ic_launcher_akari.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shibafu528/Yukari/HEAD/Yukari/src/main/res/mipmap-mdpi/ic_launcher_akari.png -------------------------------------------------------------------------------- /Yukari/src/main/res/mipmap-mdpi/ic_launcher_tweet_r.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shibafu528/Yukari/HEAD/Yukari/src/main/res/mipmap-mdpi/ic_launcher_tweet_r.png -------------------------------------------------------------------------------- /Yukari/src/main/res/mipmap-xhdpi/ic_launcher_akari.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shibafu528/Yukari/HEAD/Yukari/src/main/res/mipmap-xhdpi/ic_launcher_akari.png -------------------------------------------------------------------------------- /Yukari/src/main/res/mipmap-xxhdpi/ic_launcher_akari.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shibafu528/Yukari/HEAD/Yukari/src/main/res/mipmap-xxhdpi/ic_launcher_akari.png -------------------------------------------------------------------------------- /Yukari/src/main/res/drawable-hdpi/ic_access_camera_d.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shibafu528/Yukari/HEAD/Yukari/src/main/res/drawable-hdpi/ic_access_camera_d.png -------------------------------------------------------------------------------- /Yukari/src/main/res/drawable-hdpi/ic_action_overflow.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shibafu528/Yukari/HEAD/Yukari/src/main/res/drawable-hdpi/ic_action_overflow.png -------------------------------------------------------------------------------- /Yukari/src/main/res/drawable-hdpi/ic_action_search_d.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shibafu528/Yukari/HEAD/Yukari/src/main/res/drawable-hdpi/ic_action_search_d.png -------------------------------------------------------------------------------- /Yukari/src/main/res/drawable-hdpi/ic_always_light_off.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shibafu528/Yukari/HEAD/Yukari/src/main/res/drawable-hdpi/ic_always_light_off.png -------------------------------------------------------------------------------- /Yukari/src/main/res/drawable-hdpi/ic_always_light_on.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shibafu528/Yukari/HEAD/Yukari/src/main/res/drawable-hdpi/ic_always_light_on.png -------------------------------------------------------------------------------- /Yukari/src/main/res/drawable-hdpi/ic_content_picture.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shibafu528/Yukari/HEAD/Yukari/src/main/res/drawable-hdpi/ic_content_picture.png -------------------------------------------------------------------------------- /Yukari/src/main/res/drawable-hdpi/ic_playing_music_d.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shibafu528/Yukari/HEAD/Yukari/src/main/res/drawable-hdpi/ic_playing_music_d.png -------------------------------------------------------------------------------- /Yukari/src/main/res/drawable-hdpi/ic_prof_favorite_d.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shibafu528/Yukari/HEAD/Yukari/src/main/res/drawable-hdpi/ic_prof_favorite_d.png -------------------------------------------------------------------------------- /Yukari/src/main/res/drawable-hdpi/ic_prof_follower_d.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shibafu528/Yukari/HEAD/Yukari/src/main/res/drawable-hdpi/ic_prof_follower_d.png -------------------------------------------------------------------------------- /Yukari/src/main/res/drawable-hdpi/ic_states_warning_d.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shibafu528/Yukari/HEAD/Yukari/src/main/res/drawable-hdpi/ic_states_warning_d.png -------------------------------------------------------------------------------- /Yukari/src/main/res/drawable-mdpi/ic_access_camera_d.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shibafu528/Yukari/HEAD/Yukari/src/main/res/drawable-mdpi/ic_access_camera_d.png -------------------------------------------------------------------------------- /Yukari/src/main/res/drawable-mdpi/ic_action_overflow.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shibafu528/Yukari/HEAD/Yukari/src/main/res/drawable-mdpi/ic_action_overflow.png -------------------------------------------------------------------------------- /Yukari/src/main/res/drawable-mdpi/ic_action_search_d.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shibafu528/Yukari/HEAD/Yukari/src/main/res/drawable-mdpi/ic_action_search_d.png -------------------------------------------------------------------------------- /Yukari/src/main/res/drawable-mdpi/ic_always_light_off.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shibafu528/Yukari/HEAD/Yukari/src/main/res/drawable-mdpi/ic_always_light_off.png -------------------------------------------------------------------------------- /Yukari/src/main/res/drawable-mdpi/ic_always_light_on.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shibafu528/Yukari/HEAD/Yukari/src/main/res/drawable-mdpi/ic_always_light_on.png -------------------------------------------------------------------------------- /Yukari/src/main/res/drawable-mdpi/ic_content_picture.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shibafu528/Yukari/HEAD/Yukari/src/main/res/drawable-mdpi/ic_content_picture.png -------------------------------------------------------------------------------- /Yukari/src/main/res/drawable-mdpi/ic_playing_music_d.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shibafu528/Yukari/HEAD/Yukari/src/main/res/drawable-mdpi/ic_playing_music_d.png -------------------------------------------------------------------------------- /Yukari/src/main/res/drawable-mdpi/ic_prof_favorite_d.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shibafu528/Yukari/HEAD/Yukari/src/main/res/drawable-mdpi/ic_prof_favorite_d.png -------------------------------------------------------------------------------- /Yukari/src/main/res/drawable-mdpi/ic_prof_follower_d.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shibafu528/Yukari/HEAD/Yukari/src/main/res/drawable-mdpi/ic_prof_follower_d.png -------------------------------------------------------------------------------- /Yukari/src/main/res/drawable-mdpi/ic_states_warning_d.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shibafu528/Yukari/HEAD/Yukari/src/main/res/drawable-mdpi/ic_states_warning_d.png -------------------------------------------------------------------------------- /Yukari/src/main/res/drawable-xhdpi/ic_access_camera_d.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shibafu528/Yukari/HEAD/Yukari/src/main/res/drawable-xhdpi/ic_access_camera_d.png -------------------------------------------------------------------------------- /Yukari/src/main/res/drawable-xhdpi/ic_action_overflow.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shibafu528/Yukari/HEAD/Yukari/src/main/res/drawable-xhdpi/ic_action_overflow.png -------------------------------------------------------------------------------- /Yukari/src/main/res/drawable-xhdpi/ic_action_search_d.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shibafu528/Yukari/HEAD/Yukari/src/main/res/drawable-xhdpi/ic_action_search_d.png -------------------------------------------------------------------------------- /Yukari/src/main/res/drawable-xhdpi/ic_always_light_on.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shibafu528/Yukari/HEAD/Yukari/src/main/res/drawable-xhdpi/ic_always_light_on.png -------------------------------------------------------------------------------- /Yukari/src/main/res/drawable-xhdpi/ic_content_picture.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shibafu528/Yukari/HEAD/Yukari/src/main/res/drawable-xhdpi/ic_content_picture.png -------------------------------------------------------------------------------- /Yukari/src/main/res/drawable-xhdpi/ic_launcher_morse.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shibafu528/Yukari/HEAD/Yukari/src/main/res/drawable-xhdpi/ic_launcher_morse.png -------------------------------------------------------------------------------- /Yukari/src/main/res/drawable-xhdpi/ic_launcher_tweet.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shibafu528/Yukari/HEAD/Yukari/src/main/res/drawable-xhdpi/ic_launcher_tweet.png -------------------------------------------------------------------------------- /Yukari/src/main/res/drawable-xhdpi/ic_playing_music_d.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shibafu528/Yukari/HEAD/Yukari/src/main/res/drawable-xhdpi/ic_playing_music_d.png -------------------------------------------------------------------------------- /Yukari/src/main/res/drawable-xhdpi/ic_prof_favorite_d.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shibafu528/Yukari/HEAD/Yukari/src/main/res/drawable-xhdpi/ic_prof_favorite_d.png -------------------------------------------------------------------------------- /Yukari/src/main/res/drawable-xhdpi/ic_prof_follower_d.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shibafu528/Yukari/HEAD/Yukari/src/main/res/drawable-xhdpi/ic_prof_follower_d.png -------------------------------------------------------------------------------- /Yukari/src/main/res/drawable-xhdpi/ic_states_warning.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shibafu528/Yukari/HEAD/Yukari/src/main/res/drawable-xhdpi/ic_states_warning.png -------------------------------------------------------------------------------- /Yukari/src/main/res/drawable-xxhdpi/ic_access_camera.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shibafu528/Yukari/HEAD/Yukari/src/main/res/drawable-xxhdpi/ic_access_camera.png -------------------------------------------------------------------------------- /Yukari/src/main/res/drawable-xxhdpi/ic_action_search.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shibafu528/Yukari/HEAD/Yukari/src/main/res/drawable-xxhdpi/ic_action_search.png -------------------------------------------------------------------------------- /Yukari/src/main/res/drawable-xxhdpi/ic_launcher_morse.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shibafu528/Yukari/HEAD/Yukari/src/main/res/drawable-xxhdpi/ic_launcher_morse.png -------------------------------------------------------------------------------- /Yukari/src/main/res/drawable-xxhdpi/ic_launcher_tweet.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shibafu528/Yukari/HEAD/Yukari/src/main/res/drawable-xxhdpi/ic_launcher_tweet.png -------------------------------------------------------------------------------- /Yukari/src/main/res/drawable-xxhdpi/ic_playing_music.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shibafu528/Yukari/HEAD/Yukari/src/main/res/drawable-xxhdpi/ic_playing_music.png -------------------------------------------------------------------------------- /Yukari/src/main/res/drawable-xxhdpi/ic_prof_favorite.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shibafu528/Yukari/HEAD/Yukari/src/main/res/drawable-xxhdpi/ic_prof_favorite.png -------------------------------------------------------------------------------- /Yukari/src/main/res/drawable-xxhdpi/ic_prof_follow_d.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shibafu528/Yukari/HEAD/Yukari/src/main/res/drawable-xxhdpi/ic_prof_follow_d.png -------------------------------------------------------------------------------- /Yukari/src/main/res/drawable-xxhdpi/ic_prof_follower.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shibafu528/Yukari/HEAD/Yukari/src/main/res/drawable-xxhdpi/ic_prof_follower.png -------------------------------------------------------------------------------- /Yukari/src/main/res/drawable-xxhdpi/ic_prof_tweets_d.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shibafu528/Yukari/HEAD/Yukari/src/main/res/drawable-xxhdpi/ic_prof_tweets_d.png -------------------------------------------------------------------------------- /Yukari/src/main/res/drawable-xxhdpi/ic_stat_favorite.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shibafu528/Yukari/HEAD/Yukari/src/main/res/drawable-xxhdpi/ic_stat_favorite.png -------------------------------------------------------------------------------- /Yukari/src/main/res/drawable-xxhdpi/ic_states_warning.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shibafu528/Yukari/HEAD/Yukari/src/main/res/drawable-xxhdpi/ic_states_warning.png -------------------------------------------------------------------------------- /Yukari/src/main/res/drawable-xxhdpi/ic_voice_input_d.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shibafu528/Yukari/HEAD/Yukari/src/main/res/drawable-xxhdpi/ic_voice_input_d.png -------------------------------------------------------------------------------- /Yukari/src/main/res/mipmap-xhdpi/ic_launcher_tweet_r.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shibafu528/Yukari/HEAD/Yukari/src/main/res/mipmap-xhdpi/ic_launcher_tweet_r.png -------------------------------------------------------------------------------- /Yukari/src/main/res/mipmap-xxhdpi/ic_launcher_tweet_r.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shibafu528/Yukari/HEAD/Yukari/src/main/res/mipmap-xxhdpi/ic_launcher_tweet_r.png -------------------------------------------------------------------------------- /Yukari/src/main/res/mipmap-xxxhdpi/ic_launcher_akari.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shibafu528/Yukari/HEAD/Yukari/src/main/res/mipmap-xxxhdpi/ic_launcher_akari.png -------------------------------------------------------------------------------- /Yukari/src/main/res/drawable-hdpi/ic_action_overflow_d.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shibafu528/Yukari/HEAD/Yukari/src/main/res/drawable-hdpi/ic_action_overflow_d.png -------------------------------------------------------------------------------- /Yukari/src/main/res/drawable-hdpi/ic_always_light_off_d.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shibafu528/Yukari/HEAD/Yukari/src/main/res/drawable-hdpi/ic_always_light_off_d.png -------------------------------------------------------------------------------- /Yukari/src/main/res/drawable-hdpi/ic_content_picture_d.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shibafu528/Yukari/HEAD/Yukari/src/main/res/drawable-hdpi/ic_content_picture_d.png -------------------------------------------------------------------------------- /Yukari/src/main/res/drawable-hdpi/ic_images_rotate_left.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shibafu528/Yukari/HEAD/Yukari/src/main/res/drawable-hdpi/ic_images_rotate_left.png -------------------------------------------------------------------------------- /Yukari/src/main/res/drawable-hdpi/ic_images_rotate_right.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shibafu528/Yukari/HEAD/Yukari/src/main/res/drawable-hdpi/ic_images_rotate_right.png -------------------------------------------------------------------------------- /Yukari/src/main/res/drawable-hdpi/ic_navigation_refresh.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shibafu528/Yukari/HEAD/Yukari/src/main/res/drawable-hdpi/ic_navigation_refresh.png -------------------------------------------------------------------------------- /Yukari/src/main/res/drawable-mdpi/ic_action_overflow_d.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shibafu528/Yukari/HEAD/Yukari/src/main/res/drawable-mdpi/ic_action_overflow_d.png -------------------------------------------------------------------------------- /Yukari/src/main/res/drawable-mdpi/ic_always_light_off_d.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shibafu528/Yukari/HEAD/Yukari/src/main/res/drawable-mdpi/ic_always_light_off_d.png -------------------------------------------------------------------------------- /Yukari/src/main/res/drawable-mdpi/ic_content_picture_d.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shibafu528/Yukari/HEAD/Yukari/src/main/res/drawable-mdpi/ic_content_picture_d.png -------------------------------------------------------------------------------- /Yukari/src/main/res/drawable-mdpi/ic_images_rotate_left.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shibafu528/Yukari/HEAD/Yukari/src/main/res/drawable-mdpi/ic_images_rotate_left.png -------------------------------------------------------------------------------- /Yukari/src/main/res/drawable-mdpi/ic_images_rotate_right.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shibafu528/Yukari/HEAD/Yukari/src/main/res/drawable-mdpi/ic_images_rotate_right.png -------------------------------------------------------------------------------- /Yukari/src/main/res/drawable-mdpi/ic_navigation_refresh.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shibafu528/Yukari/HEAD/Yukari/src/main/res/drawable-mdpi/ic_navigation_refresh.png -------------------------------------------------------------------------------- /Yukari/src/main/res/drawable-xhdpi/ic_action_overflow_d.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shibafu528/Yukari/HEAD/Yukari/src/main/res/drawable-xhdpi/ic_action_overflow_d.png -------------------------------------------------------------------------------- /Yukari/src/main/res/drawable-xhdpi/ic_always_light_off.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shibafu528/Yukari/HEAD/Yukari/src/main/res/drawable-xhdpi/ic_always_light_off.png -------------------------------------------------------------------------------- /Yukari/src/main/res/drawable-xhdpi/ic_always_light_off_d.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shibafu528/Yukari/HEAD/Yukari/src/main/res/drawable-xhdpi/ic_always_light_off_d.png -------------------------------------------------------------------------------- /Yukari/src/main/res/drawable-xhdpi/ic_content_picture_d.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shibafu528/Yukari/HEAD/Yukari/src/main/res/drawable-xhdpi/ic_content_picture_d.png -------------------------------------------------------------------------------- /Yukari/src/main/res/drawable-xhdpi/ic_images_rotate_left.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shibafu528/Yukari/HEAD/Yukari/src/main/res/drawable-xhdpi/ic_images_rotate_left.png -------------------------------------------------------------------------------- /Yukari/src/main/res/drawable-xhdpi/ic_navigation_refresh.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shibafu528/Yukari/HEAD/Yukari/src/main/res/drawable-xhdpi/ic_navigation_refresh.png -------------------------------------------------------------------------------- /Yukari/src/main/res/drawable-xhdpi/ic_states_warning_d.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shibafu528/Yukari/HEAD/Yukari/src/main/res/drawable-xhdpi/ic_states_warning_d.png -------------------------------------------------------------------------------- /Yukari/src/main/res/drawable-xxhdpi/ic_access_camera_d.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shibafu528/Yukari/HEAD/Yukari/src/main/res/drawable-xxhdpi/ic_access_camera_d.png -------------------------------------------------------------------------------- /Yukari/src/main/res/drawable-xxhdpi/ic_action_overflow.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shibafu528/Yukari/HEAD/Yukari/src/main/res/drawable-xxhdpi/ic_action_overflow.png -------------------------------------------------------------------------------- /Yukari/src/main/res/drawable-xxhdpi/ic_action_overflow_d.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shibafu528/Yukari/HEAD/Yukari/src/main/res/drawable-xxhdpi/ic_action_overflow_d.png -------------------------------------------------------------------------------- /Yukari/src/main/res/drawable-xxhdpi/ic_action_search_d.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shibafu528/Yukari/HEAD/Yukari/src/main/res/drawable-xxhdpi/ic_action_search_d.png -------------------------------------------------------------------------------- /Yukari/src/main/res/drawable-xxhdpi/ic_always_light_off.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shibafu528/Yukari/HEAD/Yukari/src/main/res/drawable-xxhdpi/ic_always_light_off.png -------------------------------------------------------------------------------- /Yukari/src/main/res/drawable-xxhdpi/ic_always_light_on.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shibafu528/Yukari/HEAD/Yukari/src/main/res/drawable-xxhdpi/ic_always_light_on.png -------------------------------------------------------------------------------- /Yukari/src/main/res/drawable-xxhdpi/ic_content_picture.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shibafu528/Yukari/HEAD/Yukari/src/main/res/drawable-xxhdpi/ic_content_picture.png -------------------------------------------------------------------------------- /Yukari/src/main/res/drawable-xxhdpi/ic_content_picture_d.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shibafu528/Yukari/HEAD/Yukari/src/main/res/drawable-xxhdpi/ic_content_picture_d.png -------------------------------------------------------------------------------- /Yukari/src/main/res/drawable-xxhdpi/ic_playing_music_d.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shibafu528/Yukari/HEAD/Yukari/src/main/res/drawable-xxhdpi/ic_playing_music_d.png -------------------------------------------------------------------------------- /Yukari/src/main/res/drawable-xxhdpi/ic_prof_favorite_d.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shibafu528/Yukari/HEAD/Yukari/src/main/res/drawable-xxhdpi/ic_prof_favorite_d.png -------------------------------------------------------------------------------- /Yukari/src/main/res/drawable-xxhdpi/ic_prof_follower_d.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shibafu528/Yukari/HEAD/Yukari/src/main/res/drawable-xxhdpi/ic_prof_follower_d.png -------------------------------------------------------------------------------- /Yukari/src/main/res/drawable-xxhdpi/ic_states_warning_d.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shibafu528/Yukari/HEAD/Yukari/src/main/res/drawable-xxhdpi/ic_states_warning_d.png -------------------------------------------------------------------------------- /Yukari/src/main/res/drawable-xxxhdpi/ic_launcher_tweet.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shibafu528/Yukari/HEAD/Yukari/src/main/res/drawable-xxxhdpi/ic_launcher_tweet.png -------------------------------------------------------------------------------- /Yukari/src/main/res/mipmap-xxxhdpi/ic_launcher_tweet_r.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shibafu528/Yukari/HEAD/Yukari/src/main/res/mipmap-xxxhdpi/ic_launcher_tweet_r.png -------------------------------------------------------------------------------- /settings.gradle: -------------------------------------------------------------------------------- 1 | include ':Yukari' 2 | include ':yukari-processor-annotation' 3 | include ':yukari-processor' 4 | include ':gl-helpers' 5 | include ':api:mastodon-ws' 6 | -------------------------------------------------------------------------------- /Yukari/src/main/res/drawable-hdpi/ic_navigation_refresh_d.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shibafu528/Yukari/HEAD/Yukari/src/main/res/drawable-hdpi/ic_navigation_refresh_d.png -------------------------------------------------------------------------------- /Yukari/src/main/res/drawable-mdpi/ic_navigation_refresh_d.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shibafu528/Yukari/HEAD/Yukari/src/main/res/drawable-mdpi/ic_navigation_refresh_d.png -------------------------------------------------------------------------------- /Yukari/src/main/res/drawable-xhdpi/ic_images_rotate_right.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shibafu528/Yukari/HEAD/Yukari/src/main/res/drawable-xhdpi/ic_images_rotate_right.png -------------------------------------------------------------------------------- /Yukari/src/main/res/drawable-xhdpi/ic_navigation_refresh_d.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shibafu528/Yukari/HEAD/Yukari/src/main/res/drawable-xhdpi/ic_navigation_refresh_d.png -------------------------------------------------------------------------------- /Yukari/src/main/res/drawable-xxhdpi/ic_always_light_off_d.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shibafu528/Yukari/HEAD/Yukari/src/main/res/drawable-xxhdpi/ic_always_light_off_d.png -------------------------------------------------------------------------------- /Yukari/src/main/res/drawable-xxhdpi/ic_images_rotate_left.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shibafu528/Yukari/HEAD/Yukari/src/main/res/drawable-xxhdpi/ic_images_rotate_left.png -------------------------------------------------------------------------------- /Yukari/src/main/res/drawable-xxhdpi/ic_images_rotate_right.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shibafu528/Yukari/HEAD/Yukari/src/main/res/drawable-xxhdpi/ic_images_rotate_right.png -------------------------------------------------------------------------------- /Yukari/src/main/res/drawable-xxhdpi/ic_navigation_refresh.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shibafu528/Yukari/HEAD/Yukari/src/main/res/drawable-xxhdpi/ic_navigation_refresh.png -------------------------------------------------------------------------------- /Yukari/src/main/java/shibafu/yukari/linkage/TimelineHubProvider.kt: -------------------------------------------------------------------------------- 1 | package shibafu.yukari.linkage 2 | 3 | interface TimelineHubProvider { 4 | val timelineHub: TimelineHub 5 | } -------------------------------------------------------------------------------- /Yukari/src/main/res/drawable-xxhdpi/ic_navigation_refresh_d.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shibafu528/Yukari/HEAD/Yukari/src/main/res/drawable-xxhdpi/ic_navigation_refresh_d.png -------------------------------------------------------------------------------- /Yukari/src/main/res/values-sw360dp/dimens.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 16dp 4 | -------------------------------------------------------------------------------- /gl-helpers/README.md: -------------------------------------------------------------------------------- 1 | gl-helpers 2 | === 3 | 4 | a.k.a. "combudashi" (kombu-dashi, kelp stock) 5 | 6 | Collection of OpenGL ES helper classes for app development in my club activities. -------------------------------------------------------------------------------- /gl-helpers/src/main/java/combu/excompass/CompassListener.java: -------------------------------------------------------------------------------- 1 | package combu.excompass; 2 | 3 | public interface CompassListener { 4 | void onCompassUpdated(CompassValues values); 5 | } 6 | -------------------------------------------------------------------------------- /gl-helpers/src/main/AndroidManifest.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /Yukari/src/main/res/values-v31/strings.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | ポップアップ通知 (Android 12以降非推奨) 4 | -------------------------------------------------------------------------------- /yukari-processor/src/main/resources/META-INF/services/javax.annotation.processing.Processor: -------------------------------------------------------------------------------- 1 | info.shibafu528.yukari.processor.messagequeue.MessageQueueProcessor 2 | info.shibafu528.yukari.processor.filter.SourceProcessor -------------------------------------------------------------------------------- /Yukari/src/alpha/res/values/strings.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | Yukari Next 4 | Yukari Next 5 | -------------------------------------------------------------------------------- /yukari-processor-annotation/src/main/java/info/shibafu528/yukari/processor/messagequeue/Message.java: -------------------------------------------------------------------------------- 1 | package info.shibafu528.yukari.processor.messagequeue; 2 | 3 | public abstract class Message { 4 | public int methodId; 5 | } 6 | -------------------------------------------------------------------------------- /Yukari/src/main/java/shibafu/yukari/util/ReferenceHolder.kt: -------------------------------------------------------------------------------- 1 | package shibafu.yukari.util 2 | 3 | /** 4 | * 参照を保持するためのホルダークラスです。 5 | * 6 | * Created by shibafu on 2015/12/22. 7 | */ 8 | data class ReferenceHolder(var reference: T? = null); 9 | -------------------------------------------------------------------------------- /Yukari/src/main/java/shibafu/yukari/common/async/SimpleAsyncTask.java: -------------------------------------------------------------------------------- 1 | package shibafu.yukari.common.async; 2 | 3 | /** 4 | * Created by Shibafu on 13/11/23. 5 | */ 6 | public abstract class SimpleAsyncTask extends ParallelAsyncTask { 7 | } 8 | -------------------------------------------------------------------------------- /Yukari/src/main/res/values-v27/styles.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 6 | -------------------------------------------------------------------------------- /Yukari/src/main/java/shibafu/yukari/database/DBRecord.java: -------------------------------------------------------------------------------- 1 | package shibafu.yukari.database; 2 | 3 | import android.content.ContentValues; 4 | 5 | /** 6 | * Created by Shibafu on 13/12/19. 7 | */ 8 | public interface DBRecord { 9 | ContentValues getContentValues(); 10 | } 11 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | /local.properties 2 | /.idea/* 3 | !/YukariProject/.idea/dictionaries/ 4 | !/YukariProject/.idea/encodings.xml 5 | !/YukariProject/.idea/misc.xml 6 | /.gradle/ 7 | /.settings/ 8 | /build/ 9 | /captures/ 10 | /Yukari/*.apk 11 | /Yukari/build/ 12 | .directory 13 | *.apk 14 | *.iml -------------------------------------------------------------------------------- /Yukari/src/main/res/drawable/ic_splash.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | -------------------------------------------------------------------------------- /Yukari/src/main/res/drawable/selector_key_light_background.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 6 | -------------------------------------------------------------------------------- /Yukari/src/main/java/shibafu/yukari/entity/NotifyHistory.kt: -------------------------------------------------------------------------------- 1 | package shibafu.yukari.entity 2 | 3 | /** 4 | * 通知履歴 5 | */ 6 | @Deprecated("機能廃止済。定数のみ TimelineHubImpl#onNotify のために残している。") 7 | object NotifyHistory { 8 | const val KIND_FAVED = 0 9 | const val KIND_RETWEETED = 1 10 | } -------------------------------------------------------------------------------- /Yukari/src/test/java/shibafu/yukari/stub/FakeTextStatus.kt: -------------------------------------------------------------------------------- 1 | package shibafu.yukari.stub 2 | 3 | import shibafu.yukari.twitter.statusimpl.FakeStatus 4 | 5 | public class FakeTextStatus(id: Long, private val text: String) : FakeStatus(id) { 6 | public override fun getText(): String = this.text 7 | } -------------------------------------------------------------------------------- /Yukari/src/main/java/shibafu/yukari/linkage/RestQueryException.kt: -------------------------------------------------------------------------------- 1 | package shibafu.yukari.linkage 2 | 3 | import shibafu.yukari.database.AuthUserRecord 4 | 5 | /** 6 | * [RestQuery] 処理中に発生した例外のラッパー 7 | */ 8 | class RestQueryException(val userRecord: AuthUserRecord, cause: Throwable) : Exception(cause) -------------------------------------------------------------------------------- /Yukari/src/main/res/anim/anim_fadein.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | -------------------------------------------------------------------------------- /Yukari/src/main/res/anim/anim_fadeout.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | -------------------------------------------------------------------------------- /gradle/wrapper/gradle-wrapper.properties: -------------------------------------------------------------------------------- 1 | distributionBase=GRADLE_USER_HOME 2 | distributionPath=wrapper/dists 3 | distributionUrl=https\://services.gradle.org/distributions/gradle-8.13-bin.zip 4 | networkTimeout=10000 5 | validateDistributionUrl=true 6 | zipStoreBase=GRADLE_USER_HOME 7 | zipStorePath=wrapper/dists 8 | -------------------------------------------------------------------------------- /Yukari/src/main/java/shibafu/yukari/common/StatusChildUI.java: -------------------------------------------------------------------------------- 1 | package shibafu.yukari.common; 2 | 3 | import shibafu.yukari.database.AuthUserRecord; 4 | 5 | /** 6 | * Statusを操作するUIの構成要素のうち、子となるクラスが持つインターフェース 7 | */ 8 | public interface StatusChildUI { 9 | void onUserChanged(AuthUserRecord userRecord); 10 | } 11 | -------------------------------------------------------------------------------- /Yukari/src/main/java/shibafu/yukari/entity/PluginApplicable.kt: -------------------------------------------------------------------------------- 1 | package shibafu.yukari.entity 2 | 3 | /** 4 | * プライバシー上の理由を考慮し、プラグインに情報を渡しても良いかを確認する手段を提供するインターフェース。 5 | */ 6 | interface PluginApplicable { 7 | /** 8 | * プライバシー上の理由を考慮し、プラグインに情報を渡しても良ければ真を返す。 9 | */ 10 | val isApplicablePlugin: Boolean 11 | } -------------------------------------------------------------------------------- /Yukari/src/main/java/shibafu/yukari/fragment/tabcontent/TimelineTab.java: -------------------------------------------------------------------------------- 1 | package shibafu.yukari.fragment.tabcontent; 2 | 3 | public interface TimelineTab { 4 | void scrollToTop(); 5 | void scrollToBottom(); 6 | void scrollToOldestUnread(); 7 | void scrollToPrevPage(); 8 | void scrollToNextPage(); 9 | } 10 | -------------------------------------------------------------------------------- /Yukari/src/main/res/menu/reply_to.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 5 | 7 | -------------------------------------------------------------------------------- /api/README.md: -------------------------------------------------------------------------------- 1 | api/ : External service API wrapper libs 2 | === 3 | 4 | | lib | description | 5 | |-------------|--------------------------------------------------| 6 | | ~mastodon~ | 欲しくなったら書く | 7 | | mastodon-ws | Streaming API library for Mastodon via WebSocket | -------------------------------------------------------------------------------- /Yukari/src/main/java/shibafu/yukari/database/MuteMatch.java: -------------------------------------------------------------------------------- 1 | package shibafu.yukari.database; 2 | 3 | /** 4 | * Created by shibafu on 14/12/14. 5 | */ 6 | public interface MuteMatch { 7 | public static final int MATCH_EXACT = 0; 8 | public static final int MATCH_PARTIAL = 1; 9 | public static final int MATCH_REGEX = 2; 10 | } 11 | -------------------------------------------------------------------------------- /Yukari/src/main/res/values-night-v31/styles.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 7 | -------------------------------------------------------------------------------- /Yukari/src/main/res/values-v31/styles.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 7 | -------------------------------------------------------------------------------- /Yukari/src/main/res/values-en/strings.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | Keyword 4 | TARGET 5 | MATCH 6 | ERASE 7 | EXPIRATION 8 | -------------------------------------------------------------------------------- /Yukari/src/main/res/drawable/ic_baseline_arrow_drop_down_24.xml: -------------------------------------------------------------------------------- 1 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /Yukari/src/main/res/menu/mute.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 5 | 9 | -------------------------------------------------------------------------------- /Yukari/src/main/res/drawable/ic_check_128.xml: -------------------------------------------------------------------------------- 1 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /Yukari/src/main/java/shibafu/yukari/entity/NotifyKind.java: -------------------------------------------------------------------------------- 1 | package shibafu.yukari.entity; 2 | 3 | import androidx.annotation.IntDef; 4 | 5 | import java.lang.annotation.Retention; 6 | import java.lang.annotation.RetentionPolicy; 7 | 8 | @IntDef({NotifyHistory.KIND_FAVED, NotifyHistory.KIND_RETWEETED}) 9 | @Retention(RetentionPolicy.SOURCE) 10 | public @interface NotifyKind { 11 | } 12 | -------------------------------------------------------------------------------- /Yukari/src/main/java/shibafu/yukari/database/ApiType.java: -------------------------------------------------------------------------------- 1 | package shibafu.yukari.database; 2 | 3 | import androidx.annotation.IntDef; 4 | 5 | import java.lang.annotation.Retention; 6 | import java.lang.annotation.RetentionPolicy; 7 | 8 | @IntDef({Provider.API_SYSTEM, Provider.API_TWITTER, Provider.API_MASTODON}) 9 | @Retention(RetentionPolicy.SOURCE) 10 | public @interface ApiType { 11 | } 12 | -------------------------------------------------------------------------------- /Yukari/src/main/res/drawable/icon_background.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 10 | -------------------------------------------------------------------------------- /Yukari/src/main/res/menu/accountmanage.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 5 | 10 | -------------------------------------------------------------------------------- /api/mastodon-ws/src/main/java/info/shibafu528/yukari/api/mastodon/ws/Event.kt: -------------------------------------------------------------------------------- 1 | package info.shibafu528.yukari.api.mastodon.ws 2 | 3 | /** 4 | * サーバから着信したイベント。 5 | * 6 | * [API Document](https://docs.joinmastodon.org/methods/streaming/#events-11) 7 | */ 8 | internal data class Event(val stream: List, 9 | val event: String, 10 | val payload: String?) 11 | 12 | -------------------------------------------------------------------------------- /Yukari/src/main/java/shibafu/yukari/filter/source/All.kt: -------------------------------------------------------------------------------- 1 | package shibafu.yukari.filter.source 2 | 3 | import shibafu.yukari.database.AuthUserRecord 4 | 5 | /** 6 | * 全ての受信ツイートを対象とする抽出ソースです。 7 | * 8 | * Created by shibafu on 15/06/07. 9 | */ 10 | public data class All(private val pseudo: Unit = Unit) : FilterSource { 11 | override val sourceAccount: AuthUserRecord? = null 12 | 13 | override fun getRestQuery() = null 14 | } -------------------------------------------------------------------------------- /Yukari/src/main/res/drawable/loading_from_remote.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | -------------------------------------------------------------------------------- /Yukari/src/main/res/values/integer.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 1 4 | 2 5 | 3 6 | 4 7 | 5 8 | 6 9 | -------------------------------------------------------------------------------- /Yukari/src/main/res/drawable/ic_visibility_direct_dark.xml: -------------------------------------------------------------------------------- 1 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /Yukari/src/main/res/drawable/ic_visibility_direct_light.xml: -------------------------------------------------------------------------------- 1 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /Yukari/src/main/java/shibafu/yukari/fragment/tabcontent/QueryableTab.java: -------------------------------------------------------------------------------- 1 | package shibafu.yukari.fragment.tabcontent; 2 | 3 | import androidx.annotation.NonNull; 4 | import shibafu.yukari.entity.Status; 5 | 6 | import java.util.Collection; 7 | 8 | /** 9 | * クエリによる {@link Status} の抽出をサポートするため、検索対象のコレクションを提供するインターフェース。 10 | */ 11 | public interface QueryableTab { 12 | @NonNull 13 | Collection getQueryableElements(); 14 | } 15 | -------------------------------------------------------------------------------- /Yukari/src/main/res/drawable/ic_visibility_direct_dark_18dp.xml: -------------------------------------------------------------------------------- 1 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /Yukari/src/main/res/drawable/ic_visibility_direct_light_18dp.xml: -------------------------------------------------------------------------------- 1 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /gradle.properties: -------------------------------------------------------------------------------- 1 | org.gradle.daemon=true 2 | org.gradle.jvmargs=-Xmx4096m -XX:+HeapDumpOnOutOfMemoryError -Dfile.encoding=UTF-8 3 | org.gradle.parallel=true 4 | org.gradle.configureondemand=true 5 | 6 | #kotlin.incremental=true 7 | kotlin.coroutines=enable 8 | 9 | android.useAndroidX=true 10 | android.enableR8.fullMode=false 11 | android.defaults.buildfeatures.buildconfig=true 12 | android.nonTransitiveRClass=false 13 | android.nonFinalResIds=false 14 | -------------------------------------------------------------------------------- /Yukari/src/main/res/anim/activity_tweet_close_enter.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 5 | 8 | -------------------------------------------------------------------------------- /Yukari/src/main/res/anim/activity_tweet_close_exit.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 5 | 8 | -------------------------------------------------------------------------------- /Yukari/src/main/res/anim/activity_tweet_open_enter.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 5 | 8 | -------------------------------------------------------------------------------- /Yukari/src/main/res/anim/activity_tweet_open_exit.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 5 | 8 | -------------------------------------------------------------------------------- /Yukari/src/main/res/color/selector_key_dark_textcolor.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 7 | 10 | 12 | -------------------------------------------------------------------------------- /Yukari/src/main/res/drawable/dialog_full_material_dark.xml: -------------------------------------------------------------------------------- 1 | 2 | 7 | 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /Yukari/src/main/res/color/selector_key_light_textcolor.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 7 | 10 | 12 | -------------------------------------------------------------------------------- /Yukari/src/main/res/menu/profile_edit.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 5 | 8 | 11 | -------------------------------------------------------------------------------- /Yukari/src/main/java/shibafu/yukari/database/UserExtrasManager.java: -------------------------------------------------------------------------------- 1 | package shibafu.yukari.database; 2 | 3 | import androidx.annotation.Nullable; 4 | 5 | import java.util.List; 6 | 7 | public interface UserExtrasManager { 8 | void setColor(String url, int color); 9 | 10 | void setPriority(String url, AuthUserRecord userRecord); 11 | 12 | @Nullable 13 | AuthUserRecord getPriority(String url); 14 | 15 | List getUserExtras(); 16 | } 17 | -------------------------------------------------------------------------------- /Yukari/src/main/res/color/selector_key_yukari_dark_textcolor.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 7 | 10 | 12 | -------------------------------------------------------------------------------- /Yukari/src/main/res/drawable/selector_tweet_own_background.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 7 | 10 | 12 | -------------------------------------------------------------------------------- /Yukari/src/main/res/drawable/dialog_full_material_light.xml: -------------------------------------------------------------------------------- 1 | 2 | 7 | 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /Yukari/src/main/res/drawable/selector_tweet_mention_background.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 7 | 10 | 12 | -------------------------------------------------------------------------------- /Yukari/src/main/res/drawable/selector_tweet_own_d_background.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 7 | 10 | 12 | -------------------------------------------------------------------------------- /Yukari/src/main/res/drawable/selector_tweet_retweet_background.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 7 | 10 | 12 | -------------------------------------------------------------------------------- /Yukari/src/main/res/drawable/ic_person_primary_dark_24dp.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /Yukari/src/main/res/drawable/ic_person_primary_light_24dp.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /Yukari/src/main/res/drawable/selector_tweet_normal_background.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 7 | 10 | 12 | -------------------------------------------------------------------------------- /Yukari/src/main/res/drawable/selector_tweet_own_c_background.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 7 | 10 | 12 | -------------------------------------------------------------------------------- /Yukari/src/main/res/drawable/selector_key_background.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 7 | 10 | 12 | -------------------------------------------------------------------------------- /Yukari/src/main/res/drawable/selector_tweet_mention_d_background.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 7 | 10 | 12 | -------------------------------------------------------------------------------- /Yukari/src/main/res/drawable/selector_tweet_retweet_d_background.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 7 | 10 | 12 | -------------------------------------------------------------------------------- /yukari-processor-annotation/src/main/java/info/shibafu528/yukari/processor/filter/Source.java: -------------------------------------------------------------------------------- 1 | package info.shibafu528.yukari.processor.filter; 2 | 3 | import java.lang.annotation.ElementType; 4 | import java.lang.annotation.Retention; 5 | import java.lang.annotation.RetentionPolicy; 6 | import java.lang.annotation.Target; 7 | 8 | @Target(ElementType.TYPE) 9 | @Retention(RetentionPolicy.SOURCE) 10 | public @interface Source { 11 | int apiType(); 12 | String slug(); 13 | } 14 | -------------------------------------------------------------------------------- /Yukari/src/main/res/drawable/selector_gray_background.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 7 | 10 | 12 | -------------------------------------------------------------------------------- /Yukari/src/main/res/drawable/selector_tweet_mention_c_background.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 7 | 10 | 12 | -------------------------------------------------------------------------------- /Yukari/src/main/res/drawable/selector_tweet_normal_d_background.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 7 | 10 | 12 | -------------------------------------------------------------------------------- /Yukari/src/main/res/drawable/selector_tweet_retweet_c_background.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 7 | 10 | 12 | -------------------------------------------------------------------------------- /Yukari/src/main/res/drawable/selector_tweet_normal_c_background.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 7 | 10 | 12 | -------------------------------------------------------------------------------- /Yukari/src/main/res/menu/user_search.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 5 | 10 | -------------------------------------------------------------------------------- /Yukari/src/main/res/values-sw360dp/values-preference.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | false 6 | 0dp 7 | -------------------------------------------------------------------------------- /Yukari/src/main/res/values-sw720dp-land/dimens.xml: -------------------------------------------------------------------------------- 1 | 2 | 4 | 128dp 5 | 6 | 50dp 7 | 116dp 8 | 12dp 9 | 10 | -------------------------------------------------------------------------------- /yukari-processor-annotation/build.gradle: -------------------------------------------------------------------------------- 1 | apply plugin: 'java-library' 2 | 3 | repositories { 4 | mavenCentral() 5 | } 6 | 7 | dependencies { 8 | api 'com.google.code.findbugs:jsr305:3.0.2' 9 | } 10 | 11 | def defaultEncoding = 'UTF-8' 12 | compileJava { 13 | options.encoding = defaultEncoding 14 | } 15 | compileTestJava { 16 | options.encoding = defaultEncoding 17 | } 18 | 19 | java { 20 | toolchain { 21 | languageVersion = JavaLanguageVersion.of(8) 22 | } 23 | } -------------------------------------------------------------------------------- /Yukari/src/main/res/xml/pref_search.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 7 | 11 | -------------------------------------------------------------------------------- /Yukari/src/main/res/drawable/ic_location_on_primary_light_24dp.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /Yukari/src/main/res/drawable/menu_dialog_full_material_dark.xml: -------------------------------------------------------------------------------- 1 | 2 | 7 | 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /Yukari/src/main/res/drawable/ic_location_on_primary_dark_24dp.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /Yukari/src/main/java/shibafu/yukari/common/StatusUI.java: -------------------------------------------------------------------------------- 1 | package shibafu.yukari.common; 2 | 3 | import androidx.annotation.NonNull; 4 | import androidx.annotation.Nullable; 5 | import shibafu.yukari.entity.Status; 6 | import shibafu.yukari.database.AuthUserRecord; 7 | 8 | /** 9 | * Statusを操作するUIの構成要素のうち、親となるクラスが持つインターフェース 10 | */ 11 | public interface StatusUI { 12 | @NonNull 13 | Status getStatus(); 14 | 15 | @Nullable 16 | AuthUserRecord getUserRecord(); 17 | void setUserRecord(AuthUserRecord userRecord); 18 | } 19 | -------------------------------------------------------------------------------- /Yukari/src/main/res/drawable/ic_insert_invitation_primary_dark_24dp.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /Yukari/src/main/res/drawable/ic_insert_invitation_primary_light_24dp.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /Yukari/src/main/res/drawable/menu_dialog_full_material_light.xml: -------------------------------------------------------------------------------- 1 | 2 | 7 | 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /Yukari/src/main/res/menu/search.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 7 | 9 | 11 | 13 | -------------------------------------------------------------------------------- /yukari-processor-annotation/src/main/java/info/shibafu528/yukari/processor/messagequeue/MessageQueue.java: -------------------------------------------------------------------------------- 1 | package info.shibafu528.yukari.processor.messagequeue; 2 | 3 | import java.lang.annotation.ElementType; 4 | import java.lang.annotation.Retention; 5 | import java.lang.annotation.RetentionPolicy; 6 | import java.lang.annotation.Target; 7 | 8 | /** 9 | * メッセージキューを自動生成します。 10 | */ 11 | @Target(ElementType.TYPE) 12 | @Retention(RetentionPolicy.SOURCE) 13 | public @interface MessageQueue { 14 | String queueClass() default ""; 15 | } 16 | -------------------------------------------------------------------------------- /Yukari/src/main/java/shibafu/yukari/entity/StatusRelation.java: -------------------------------------------------------------------------------- 1 | package shibafu.yukari.entity; 2 | 3 | import androidx.annotation.IntDef; 4 | 5 | import java.lang.annotation.Retention; 6 | import java.lang.annotation.RetentionPolicy; 7 | import java.util.List; 8 | 9 | /** 10 | * あるメッセージと自分との関係性 11 | * @see shibafu.yukari.entity.Status#getStatusRelation(List) 12 | */ 13 | @IntDef({Status.RELATION_NONE, Status.RELATION_OWNED, Status.RELATION_MENTIONED_TO_ME}) 14 | @Retention(RetentionPolicy.SOURCE) 15 | public @interface StatusRelation { 16 | } 17 | -------------------------------------------------------------------------------- /Yukari/src/main/java/shibafu/yukari/media2/impl/DonVideo.kt: -------------------------------------------------------------------------------- 1 | package shibafu.yukari.media2.impl 2 | 3 | import com.sys1yagi.mastodon4j.api.entity.Attachment 4 | import shibafu.yukari.media2.MemoizeMedia 5 | 6 | class DonVideo(private val attachment: Attachment) : MemoizeMedia(attachment.remoteUrl ?: attachment.url) { 7 | 8 | override fun canPreview(): Boolean = false 9 | 10 | override fun resolveMediaUrl(): String = attachment.remoteUrl ?: attachment.url 11 | 12 | override fun resolveThumbnailUrl(): String = attachment.previewUrl 13 | } -------------------------------------------------------------------------------- /Yukari/src/main/java/shibafu/yukari/media2/impl/DonPicture.kt: -------------------------------------------------------------------------------- 1 | package shibafu.yukari.media2.impl 2 | 3 | import com.sys1yagi.mastodon4j.api.entity.Attachment 4 | import shibafu.yukari.media2.MemoizeMedia 5 | 6 | class DonPicture(private val attachment: Attachment) : MemoizeMedia(attachment.remoteUrl ?: attachment.url) { 7 | 8 | override fun canPreview(): Boolean = true 9 | 10 | override fun resolveMediaUrl(): String = attachment.remoteUrl ?: attachment.url 11 | 12 | override fun resolveThumbnailUrl(): String = attachment.previewUrl 13 | } -------------------------------------------------------------------------------- /yukari-processor-annotation/src/main/java/info/shibafu528/yukari/processor/messagequeue/PassThrough.java: -------------------------------------------------------------------------------- 1 | package info.shibafu528.yukari.processor.messagequeue; 2 | 3 | import java.lang.annotation.ElementType; 4 | import java.lang.annotation.Retention; 5 | import java.lang.annotation.RetentionPolicy; 6 | import java.lang.annotation.Target; 7 | 8 | /** 9 | * {@link MessageQueue} によるキュー処理の対象外としてマークし、直接ハンドラーのメソッドが呼び出されるようにします。 10 | */ 11 | @Target(ElementType.METHOD) 12 | @Retention(RetentionPolicy.SOURCE) 13 | public @interface PassThrough { 14 | } 15 | -------------------------------------------------------------------------------- /Yukari/src/main/java/shibafu/yukari/database/DBTable.java: -------------------------------------------------------------------------------- 1 | package shibafu.yukari.database; 2 | 3 | import java.lang.annotation.ElementType; 4 | import java.lang.annotation.Retention; 5 | import java.lang.annotation.RetentionPolicy; 6 | import java.lang.annotation.Target; 7 | 8 | /** 9 | * Created by shibafu on 14/12/14. 10 | */ 11 | @Target(ElementType.TYPE) 12 | @Retention(RetentionPolicy.RUNTIME) 13 | public @interface DBTable { 14 | String value(); 15 | String idColumnName() default "_id"; 16 | String deleteKeyMethodName() default "getId"; 17 | } 18 | -------------------------------------------------------------------------------- /Yukari/src/main/java/shibafu/yukari/common/NotificationChannelPrefix.java: -------------------------------------------------------------------------------- 1 | package shibafu.yukari.common; 2 | 3 | public final class NotificationChannelPrefix { 4 | public static final String GROUP_ACCOUNT = "account::"; 5 | public static final String CHANNEL_MENTION = "mention::"; 6 | public static final String CHANNEL_REPOST = "repost::"; 7 | public static final String CHANNEL_FAVORITE = "favorite::"; 8 | public static final String CHANNEL_MESSAGE = "message::"; 9 | public static final String CHANNEL_REPOST_RESPOND = "repost_respond::"; 10 | } 11 | -------------------------------------------------------------------------------- /Yukari/src/main/java/shibafu/yukari/entity/StatusComparator.kt: -------------------------------------------------------------------------------- 1 | package shibafu.yukari.entity 2 | 3 | object StatusComparator { 4 | val BY_OWNED_STATUS = Comparator.comparing { !it.isOwnedStatus() } 5 | val BY_MENTIONED = Comparator.comparing { status -> 6 | status.mentions.find { it.isMentionedTo(status.representUser) } == null 7 | } 8 | val BY_PRIMARY_ACCOUNT_RECEIVED = Comparator.comparing { !it.representUser.isPrimary } 9 | val BY_RECEIVER_ID = Comparator.comparingLong { it.representUser.InternalId } 10 | } -------------------------------------------------------------------------------- /Yukari/src/main/res/drawable/ic_visibility_private_dark.xml: -------------------------------------------------------------------------------- 1 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /Yukari/src/main/res/drawable/ic_visibility_private_light.xml: -------------------------------------------------------------------------------- 1 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /Yukari/src/main/res/drawable/ic_visibility_private_dark_18dp.xml: -------------------------------------------------------------------------------- 1 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /Yukari/src/main/res/drawable/ic_visibility_private_light_18dp.xml: -------------------------------------------------------------------------------- 1 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /Yukari/src/main/res/drawable/ic_visibility_unlisted_dark.xml: -------------------------------------------------------------------------------- 1 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /Yukari/src/main/res/drawable/ic_visibility_unlisted_light.xml: -------------------------------------------------------------------------------- 1 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /Yukari/src/main/res/drawable/ic_visibility_unlisted_dark_18dp.xml: -------------------------------------------------------------------------------- 1 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /Yukari/src/main/res/drawable/ic_visibility_unlisted_light_18dp.xml: -------------------------------------------------------------------------------- 1 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /Yukari/src/main/res/drawable/selector_tab_background.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 7 | 10 | 13 | 15 | -------------------------------------------------------------------------------- /Yukari/src/main/res/drawable/ic_link_primary_light_24dp.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /Yukari/src/main/java/shibafu/yukari/filter/sexp/EvaluateContext.kt: -------------------------------------------------------------------------------- 1 | package shibafu.yukari.filter.sexp 2 | 3 | import shibafu.yukari.database.AuthUserRecord 4 | 5 | /** 6 | * クエリ評価のパラメータや状態を保持します。 7 | * 8 | * @property target 評価対象オブジェクト 9 | * @property userRecords ユーザアカウント 10 | */ 11 | class EvaluateContext(val target: Any, val userRecords: List) { 12 | /** 13 | * 評価中に関数によって設定、あるいは呼び出し元によって追加で与えられる変数を格納します。 14 | * 15 | * この表に格納されている値は [VariableNode] において "$key" の形で参照することが出来ます。 16 | */ 17 | var variables: MutableMap = mutableMapOf() 18 | } -------------------------------------------------------------------------------- /Yukari/src/main/java/shibafu/yukari/util/AttrUtil.java: -------------------------------------------------------------------------------- 1 | package shibafu.yukari.util; 2 | 3 | import android.content.res.Resources; 4 | import androidx.annotation.AnyRes; 5 | import androidx.annotation.AttrRes; 6 | import android.util.TypedValue; 7 | 8 | /** 9 | * Created by shibafu on 14/08/06. 10 | */ 11 | public class AttrUtil { 12 | @AnyRes 13 | public static int resolveAttribute(Resources.Theme theme, @AttrRes int resId) { 14 | TypedValue value = new TypedValue(); 15 | theme.resolveAttribute(resId, value, true); 16 | return value.resourceId; 17 | } 18 | } 19 | -------------------------------------------------------------------------------- /Yukari/src/main/res/drawable/ic_link_primary_dark_24dp.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /Yukari/src/main/java/shibafu/yukari/common/NotificationPreferenceSoundUri.kt: -------------------------------------------------------------------------------- 1 | package shibafu.yukari.common 2 | 3 | import android.net.Uri 4 | import android.provider.Settings 5 | 6 | object NotificationPreferenceSoundUri { 7 | @JvmStatic 8 | fun parse(prefValue: String?): Uri? = when (prefValue) { 9 | null -> Settings.System.DEFAULT_NOTIFICATION_URI 10 | "null" -> null 11 | else -> Uri.parse(prefValue) 12 | } 13 | 14 | @JvmStatic 15 | fun toString(uri: Uri?): String = uri.toString() // Any.toString() = if (this == null) { "null" } else { this.toString() } 16 | } -------------------------------------------------------------------------------- /Yukari/src/main/java/shibafu/yukari/view/ExceptionStatusView.kt: -------------------------------------------------------------------------------- 1 | package shibafu.yukari.view 2 | 3 | import android.content.Context 4 | import android.util.AttributeSet 5 | 6 | class ExceptionStatusView : StatusView { 7 | constructor(context: Context?, singleLine: Boolean) : super(context, singleLine) 8 | @JvmOverloads 9 | constructor(context: Context?, attrs: AttributeSet? = null, defStyleAttr: Int = 0) : super(context, attrs, defStyleAttr) 10 | constructor(context: Context?, attrs: AttributeSet?, defStyleAttr: Int, defStyleRes: Int) : super(context, attrs, defStyleAttr, defStyleRes) 11 | } -------------------------------------------------------------------------------- /Yukari/src/main/res/drawable/bg_tips.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 12 | 13 | 14 | 15 | -------------------------------------------------------------------------------- /Yukari/src/main/java/shibafu/yukari/linkage/PostValidator.kt: -------------------------------------------------------------------------------- 1 | package shibafu.yukari.linkage 2 | 3 | /** 4 | * 投稿の文字数計算に関する処理 (入力の文字数を求めたり、最大文字数の情報を照会したり) の実装。 5 | */ 6 | interface PostValidator { 7 | /** 8 | * 入力可能な最大文字数を取得します。表示用の目安であり、正確な文字数を表すとは限りません。 9 | */ 10 | fun getMaxLength(options: Map): Int 11 | 12 | /** 13 | * 投稿先サービスの基準に則り、入力テキストの文字数を計測します。表示用の目安であり、正確な文字数を表すとは限りません。 14 | * @param text 計測対象のテキスト 15 | * @param options サービス依存の追加情報 16 | * @return 目安の文字数 17 | */ 18 | fun getMeasuredLength(text: String, options: Map): Int 19 | } -------------------------------------------------------------------------------- /Yukari/src/main/res/values-sw600dp/dimens.xml: -------------------------------------------------------------------------------- 1 | 2 | 4 | 44dp 5 | 108dp 6 | 36dp 7 | 12dp 8 | 128dp 9 | 24dp 10 | 160dp 11 | 12 | -------------------------------------------------------------------------------- /gl-helpers/build.gradle: -------------------------------------------------------------------------------- 1 | apply plugin: 'com.android.library' 2 | 3 | android { 4 | namespace 'combu.combudashi' 5 | compileSdkVersion 31 6 | 7 | defaultConfig { 8 | minSdkVersion 14 9 | targetSdkVersion 19 10 | } 11 | buildTypes { 12 | release { 13 | minifyEnabled false 14 | proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' 15 | } 16 | } 17 | compileOptions { 18 | sourceCompatibility JavaVersion.VERSION_1_8 19 | targetCompatibility JavaVersion.VERSION_1_8 20 | } 21 | } 22 | 23 | dependencies { 24 | } 25 | -------------------------------------------------------------------------------- /Yukari/src/main/java/shibafu/yukari/common/okhttp/UserAgentInterceptor.kt: -------------------------------------------------------------------------------- 1 | package shibafu.yukari.common.okhttp 2 | 3 | import android.content.Context 4 | import okhttp3.Interceptor 5 | import okhttp3.Response 6 | import shibafu.yukari.util.StringUtil 7 | 8 | class UserAgentInterceptor(private val context: Context) : Interceptor { 9 | override fun intercept(chain: Interceptor.Chain): Response { 10 | return chain.proceed( 11 | chain.request() 12 | .newBuilder() 13 | .header("User-Agent", StringUtil.getShortVersionInfo(context)) 14 | .build() 15 | ) 16 | } 17 | } -------------------------------------------------------------------------------- /Yukari/src/main/java/shibafu/yukari/twitter/MissingTwitterInstanceException.java: -------------------------------------------------------------------------------- 1 | package shibafu.yukari.twitter; 2 | 3 | import twitter4j.TwitterException; 4 | 5 | /** 6 | * Created by shibafu on 2016/03/06. 7 | */ 8 | public class MissingTwitterInstanceException extends TwitterException { 9 | public MissingTwitterInstanceException(String message, Throwable cause) { 10 | super(message, cause); 11 | } 12 | 13 | public MissingTwitterInstanceException(String message) { 14 | super(message); 15 | } 16 | 17 | public MissingTwitterInstanceException(Exception cause) { 18 | super(cause); 19 | } 20 | } 21 | -------------------------------------------------------------------------------- /Yukari/src/main/res/layout/activity_mastodon_follow.xml: -------------------------------------------------------------------------------- 1 | 2 | 6 | 12 | -------------------------------------------------------------------------------- /Yukari/src/main/res/drawable/ic_visibility_public_dark.xml: -------------------------------------------------------------------------------- 1 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /Yukari/src/main/res/drawable/ic_visibility_public_light.xml: -------------------------------------------------------------------------------- 1 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /Yukari/src/main/java/shibafu/yukari/mastodon/MastodonValidator.kt: -------------------------------------------------------------------------------- 1 | package shibafu.yukari.mastodon 2 | 3 | import com.twitter.Validator 4 | import shibafu.yukari.linkage.PostValidator 5 | 6 | /** 7 | * Mastodon用の文字数計算・バリデーション実装 8 | * @param maxLength インスタンスにおける投稿可能な最大文字数。Mastodonの既定値は 500 だが、カスタマイズされている場合もある。 9 | */ 10 | class MastodonValidator(private val maxLength: Int = 500) : PostValidator { 11 | private val validator = Validator() 12 | 13 | override fun getMaxLength(options: Map): Int = maxLength 14 | 15 | override fun getMeasuredLength(text: String, options: Map): Int = validator.getTweetLength(text) 16 | } -------------------------------------------------------------------------------- /Yukari/src/main/res/drawable/ic_visibility_public_dark_18dp.xml: -------------------------------------------------------------------------------- 1 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /Yukari/src/main/res/drawable/ic_visibility_public_light_18dp.xml: -------------------------------------------------------------------------------- 1 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /Yukari/src/main/res/menu/follow.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 6 | 9 | 12 | 15 | -------------------------------------------------------------------------------- /Yukari/src/main/res/layout/activity_pluggaloid_output.xml: -------------------------------------------------------------------------------- 1 | 2 | 6 | 7 | 14 | -------------------------------------------------------------------------------- /Yukari/src/main/java/shibafu/yukari/media2/impl/RouterCake.kt: -------------------------------------------------------------------------------- 1 | package shibafu.yukari.media2.impl 2 | 3 | /** 4 | * 彼女の仕事場にケーキを差し入れして来た。 5 | * 初夏に彼女に出会ってから今まで知らなかった世界を知ったし、自分の足りないところを色々と教わった。 6 | * 働き者の彼女はこんな日も仕事だけど、支えてもらって本当に感謝してる。ありがとう。 7 | * 8 | * https://twitter.com/kamiya344/status/150588901919162368 9 | */ 10 | class RouterCake(private val browseURL: String) : D250g2("http://router-cake.d250g2.com") { 11 | // 元のURLで表示されるようにする 12 | override fun getBrowseUrl(): String = browseURL 13 | override fun toString(): String = browseURL 14 | 15 | companion object { 16 | const val ORIGIN_URL: String = "http://yfrog.com/es3bcstj" 17 | } 18 | } -------------------------------------------------------------------------------- /Yukari/src/main/java/shibafu/yukari/entity/MergeableStatus.kt: -------------------------------------------------------------------------------- 1 | package shibafu.yukari.entity 2 | 3 | /** 4 | * タイムライン上でマージ可能な [Status] であることを表すインターフェース。 5 | */ 6 | interface MergeableStatus { 7 | /** 8 | * レシーバーと指定されたオブジェクトの間で、マージした際の表示優先度を比較する。 9 | * 10 | * 戻り値が取りうる値は [Comparable.compareTo] と同じで、昇順に並び替えて先頭に来たものが最優先となる。 11 | */ 12 | fun compareMergePriorityTo(other: Status): Int 13 | 14 | /** 15 | * レシーバーを、タイムライン上でマージされた状態から切り離す。 16 | * 17 | * 引数には他にマージされていたステータスが与えられる。必要に応じて他のステータスのサーバーローカル情報などをコピーするために使用できる。 18 | * 19 | * 戻り値として、レシーバー自身または切り離した状態を表す新しいステータスを返すこと。 20 | */ 21 | fun unmerge(followers: List): Status 22 | } -------------------------------------------------------------------------------- /Yukari/src/main/java/shibafu/yukari/util/CompatUtil.java: -------------------------------------------------------------------------------- 1 | package shibafu.yukari.util; 2 | 3 | import android.app.PendingIntent; 4 | import android.content.Context; 5 | import android.content.Intent; 6 | 7 | /** 8 | * Created by shibafu on 15/06/03. 9 | */ 10 | public class CompatUtil { 11 | /** 12 | * 空のPengingIntentを取得します。 13 | * Android 2.3以下で通知にcontentIntentを設定しないとクラッシュする場合に使用します。 14 | * @param context ApplicationContext 15 | * @return 空のPengingIntent 16 | */ 17 | public static PendingIntent getEmptyPendingIntent(Context context) { 18 | return PendingIntent.getActivity(context, 0, new Intent(), PendingIntent.FLAG_IMMUTABLE); 19 | } 20 | } 21 | -------------------------------------------------------------------------------- /Yukari/src/main/java/shibafu/yukari/twitter/TwitterStream.kt: -------------------------------------------------------------------------------- 1 | package shibafu.yukari.twitter 2 | 3 | import android.content.Context 4 | import shibafu.yukari.database.AuthUserRecord 5 | import shibafu.yukari.linkage.ProviderStream 6 | import shibafu.yukari.linkage.StreamChannel 7 | 8 | class TwitterStream : ProviderStream { 9 | override val channels: List = emptyList() 10 | 11 | override fun onCreate(context: Context) {} 12 | 13 | override fun onStart() {} 14 | 15 | override fun onDestroy() {} 16 | 17 | override fun addUser(userRecord: AuthUserRecord): List = emptyList() 18 | 19 | override fun removeUser(userRecord: AuthUserRecord) {} 20 | } 21 | -------------------------------------------------------------------------------- /gl-helpers/src/main/java/combu/excompass/FloatSampler.java: -------------------------------------------------------------------------------- 1 | package combu.excompass; 2 | 3 | import java.util.LinkedList; 4 | 5 | public class FloatSampler { 6 | private int sampleNum; 7 | private LinkedList sampleList = new LinkedList(); 8 | private float sum; 9 | private float average; 10 | 11 | public FloatSampler(int sampleNum) { 12 | this.sampleNum = sampleNum; 13 | for (int i = 0; i < sampleNum; ++i) { 14 | sampleList.add(0f); 15 | } 16 | } 17 | 18 | public void push(float f) { 19 | sampleList.add(f); 20 | sum += f; 21 | sum -= sampleList.poll(); 22 | average = sum / sampleNum; 23 | } 24 | 25 | public float getAverage() { 26 | return average; 27 | } 28 | } 29 | -------------------------------------------------------------------------------- /api/mastodon-ws/build.gradle: -------------------------------------------------------------------------------- 1 | plugins { 2 | id 'java-library' 3 | id 'org.jetbrains.kotlin.jvm' 4 | } 5 | 6 | java { 7 | toolchain { 8 | languageVersion = JavaLanguageVersion.of(8) 9 | } 10 | } 11 | 12 | repositories { 13 | mavenCentral() 14 | maven { 15 | url "https://jitpack.io" 16 | } 17 | } 18 | 19 | dependencies { 20 | implementation 'com.squareup.okhttp3:okhttp:3.14.9' 21 | implementation 'com.google.code.gson:gson:2.9.0' 22 | 23 | implementation "com.github.shibafu528.mastodon4j:mastodon4j:087b09001e99942c3423bfd6f4641c8a3a5560ce" 24 | 25 | testImplementation 'junit:junit:4.12' 26 | testImplementation "org.jetbrains.kotlin:kotlin-test:$kotlin_version" 27 | } -------------------------------------------------------------------------------- /Yukari/src/main/java/shibafu/yukari/database/DatabaseEvent.java: -------------------------------------------------------------------------------- 1 | package shibafu.yukari.database; 2 | 3 | import android.content.Intent; 4 | 5 | public final class DatabaseEvent { 6 | /** 7 | * {@link CentralDatabase#updateRecord} によってデータベースが更新された時に配信されるブロードキャスト 8 | */ 9 | public static final String ACTION_UPDATE = "shibafu.yukari.database.ACTION_UPDATE"; 10 | 11 | /** 12 | * (String) 更新されたテーブルのクラス名 13 | */ 14 | public static final String EXTRA_CLASS = "class"; 15 | 16 | /*package*/ static Intent updateTable(Class cls) { 17 | Intent intent = new Intent(ACTION_UPDATE); 18 | intent.putExtra(EXTRA_CLASS, cls.getName()); 19 | return intent; 20 | } 21 | } 22 | -------------------------------------------------------------------------------- /gl-helpers/proguard-rules.pro: -------------------------------------------------------------------------------- 1 | # Add project specific ProGuard rules here. 2 | # By default, the flags in this file are appended to flags specified 3 | # in /opt/android-studio/sdk/tools/proguard/proguard-android.txt 4 | # You can edit the include path and order by changing the proguardFiles 5 | # directive in build.gradle. 6 | # 7 | # For more details, see 8 | # http://developer.android.com/guide/developing/tools/proguard.html 9 | 10 | # Add any project specific keep options here: 11 | 12 | # If your project uses WebView with JS, uncomment the following 13 | # and specify the fully qualified class name to the JavaScript interface 14 | # class: 15 | #-keepclassmembers class fqcn.of.javascript.interface.for.webview { 16 | # public *; 17 | #} 18 | -------------------------------------------------------------------------------- /Yukari/src/main/java/shibafu/yukari/mastodon/sexp/Functions.kt: -------------------------------------------------------------------------------- 1 | package shibafu.yukari.mastodon.sexp 2 | 3 | import android.net.Uri 4 | import shibafu.yukari.filter.sexp.EvaluateContext 5 | import shibafu.yukari.filter.sexp.SNode 6 | 7 | /** 8 | * URLのホスト部が指定の文字列と一致しているか判定 9 | * 10 | * (URL HOST) 11 | */ 12 | class UrlHostEqualPredicate(override val children: List) : SNode { 13 | constructor(vararg children: SNode) : this(children.asList()) 14 | 15 | override fun evaluate(context: EvaluateContext): Any { 16 | if (children.size < 2) return false 17 | 18 | val first = children[0].evaluate(context) 19 | val second = children[1].evaluate(context) 20 | 21 | return second.toString() == Uri.parse(first.toString()).host 22 | } 23 | } -------------------------------------------------------------------------------- /Yukari/src/test/java/shibafu/yukari/media2/impl/TwimgTest.java: -------------------------------------------------------------------------------- 1 | package shibafu.yukari.media2.impl; 2 | 3 | import junit.framework.Assert; 4 | import org.junit.Test; 5 | 6 | public class TwimgTest { 7 | @Test 8 | public void resolveMediaUrl() throws Exception { 9 | Twimg twimg = new Twimg("https://pbs.twimg.com/media/BcGV_1TCMAAc-qt.png"); 10 | Assert.assertEquals("https://pbs.twimg.com/media/BcGV_1TCMAAc-qt.png:orig", twimg.resolveMediaUrl()); 11 | } 12 | 13 | @Test 14 | public void resolveThumbnailUrl() throws Exception { 15 | Twimg twimg = new Twimg("https://pbs.twimg.com/media/BcGV_1TCMAAc-qt.png"); 16 | Assert.assertEquals("https://pbs.twimg.com/media/BcGV_1TCMAAc-qt.png:thumb", twimg.resolveThumbnailUrl()); 17 | } 18 | 19 | } -------------------------------------------------------------------------------- /Yukari/src/main/java/shibafu/yukari/common/TabType.java: -------------------------------------------------------------------------------- 1 | package shibafu.yukari.common; 2 | 3 | /** 4 | * Created by Shibafu on 14/01/03. 5 | */ 6 | public class TabType { 7 | public static final int TABTYPE_HOME = 0; 8 | public static final int TABTYPE_MENTION = 1; 9 | public static final int TABTYPE_DM = 2; 10 | public static final int TABTYPE_NOTIFICATION = 3; 11 | public static final int TABTYPE_LIST = 4; 12 | public static final int TABTYPE_SEARCH = 5; 13 | public static final int TABTYPE_TRACK = 6; 14 | public static final int TABTYPE_FILTER = 7; 15 | public static final int TABTYPE_USER = 8; 16 | public static final int TABTYPE_TRACE = 9; 17 | public static final int TABTYPE_FAVORITE = 10; 18 | public static final int TABTYPE_BOOKMARK = 11; 19 | } 20 | -------------------------------------------------------------------------------- /Yukari/src/main/java/shibafu/yukari/fragment/base/YukariBaseFragment.java: -------------------------------------------------------------------------------- 1 | package shibafu.yukari.fragment.base; 2 | 3 | import android.os.Handler; 4 | import android.os.Looper; 5 | 6 | import androidx.fragment.app.Fragment; 7 | 8 | /** 9 | * Created by shibafu on 14/07/12. 10 | */ 11 | public abstract class YukariBaseFragment extends Fragment { 12 | @SuppressWarnings("deprecation") 13 | @Override 14 | public void onStart() { 15 | super.onStart(); 16 | // onServiceConnected()がかつてサービスバインドで呼ばれていて、onStart()より若干遅れて実行されていたことの再現 17 | new Handler(Looper.getMainLooper()).post(this::onServiceConnected); 18 | } 19 | 20 | /** 21 | * @deprecated Implementations should move to {@link #onStart()}. 22 | */ 23 | @Deprecated 24 | public void onServiceConnected() {} 25 | } 26 | -------------------------------------------------------------------------------- /Yukari/src/main/res/xml/shortcuts.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 10 | 14 | 15 | 16 | -------------------------------------------------------------------------------- /Yukari/src/alpha/res/xml/shortcuts.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 10 | 14 | 15 | 16 | -------------------------------------------------------------------------------- /Yukari/src/main/java/shibafu/yukari/media2/impl/SimplePicture.java: -------------------------------------------------------------------------------- 1 | package shibafu.yukari.media2.impl; 2 | 3 | import androidx.annotation.NonNull; 4 | import shibafu.yukari.media2.MemoizeMedia; 5 | 6 | import java.io.IOException; 7 | 8 | public class SimplePicture extends MemoizeMedia { 9 | /** 10 | * @param browseUrl メディアの既知のURL 11 | */ 12 | public SimplePicture(@NonNull String browseUrl) { 13 | super(browseUrl); 14 | } 15 | 16 | @Override 17 | protected String resolveMediaUrl() throws IOException { 18 | return getBrowseUrl(); 19 | } 20 | 21 | @Override 22 | protected String resolveThumbnailUrl() throws IOException { 23 | return getBrowseUrl(); 24 | } 25 | 26 | @Override 27 | public boolean canPreview() { 28 | return true; 29 | } 30 | } 31 | -------------------------------------------------------------------------------- /Yukari/src/main/java/shibafu/yukari/common/bitmapcache/MemoryCalculator.java: -------------------------------------------------------------------------------- 1 | package shibafu.yukari.common.bitmapcache; 2 | 3 | import android.app.ActivityManager; 4 | import android.content.Context; 5 | import android.util.Log; 6 | 7 | import androidx.annotation.NonNull; 8 | 9 | public class MemoryCalculator { 10 | public static int calculateCacheSize(@NonNull Context context) { 11 | ActivityManager activityManager = (ActivityManager) context.getSystemService(Context.ACTIVITY_SERVICE); 12 | int maxMemMegaBytes = activityManager.getMemoryClass(); 13 | int quotaMegaBytes = Math.min((int) (maxMemMegaBytes * 0.4), 64); 14 | Log.d("MemoryCalculator", String.format("max mem: %d MB, quota: %d MB", maxMemMegaBytes, quotaMegaBytes)); 15 | return (quotaMegaBytes / 2) * 1024 * 1024; 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /Yukari/src/main/java/shibafu/yukari/entity/Mention.kt: -------------------------------------------------------------------------------- 1 | package shibafu.yukari.entity 2 | 3 | import shibafu.yukari.database.AuthUserRecord 4 | import java.io.Serializable 5 | 6 | /** 7 | * [Status] にぶら下がっているメンションの情報 8 | */ 9 | interface Mention : Serializable { 10 | /** 11 | * ID 12 | */ 13 | val id: Long 14 | 15 | /** 16 | * URL 17 | */ 18 | val url: String? 19 | get() = null 20 | 21 | /** 22 | * 一般的にIDと呼ばれるような、文字列形式のユーザ識別子 23 | */ 24 | val screenName: String 25 | 26 | /** 27 | * プロフィールアイコンのURL 28 | * 29 | * サービスによっては存在しないので、その場合は空文字列となる。 30 | */ 31 | val profileImageUrl: String 32 | get() = "" 33 | 34 | /** 35 | * 引数で指定されたアカウントに対するメンションかどうかを判定する。 36 | */ 37 | fun isMentionedTo(userRecord: AuthUserRecord): Boolean 38 | } -------------------------------------------------------------------------------- /Yukari/src/main/java/shibafu/yukari/fragment/base/ListYukariBaseFragment.java: -------------------------------------------------------------------------------- 1 | package shibafu.yukari.fragment.base; 2 | 3 | import android.os.Handler; 4 | import android.os.Looper; 5 | 6 | import androidx.fragment.app.ListFragment; 7 | 8 | /** 9 | * Created by shibafu on 14/07/12. 10 | */ 11 | public abstract class ListYukariBaseFragment extends ListFragment { 12 | @SuppressWarnings("deprecation") 13 | @Override 14 | public void onStart() { 15 | super.onStart(); 16 | // onServiceConnected()がかつてサービスバインドで呼ばれていて、onStart()より若干遅れて実行されていたことの再現 17 | new Handler(Looper.getMainLooper()).post(this::onServiceConnected); 18 | } 19 | 20 | /** 21 | * @deprecated Implementations should move to {@link #onStart()}. 22 | */ 23 | @Deprecated 24 | public void onServiceConnected() {} 25 | } 26 | -------------------------------------------------------------------------------- /Yukari/src/main/java/shibafu/yukari/entity/ShadowUser.kt: -------------------------------------------------------------------------------- 1 | package shibafu.yukari.entity 2 | 3 | import shibafu.yukari.database.AuthUserRecord 4 | 5 | /** 6 | * 内部イベント処理用のUserスタブ 7 | */ 8 | class ShadowUser(userRecord: AuthUserRecord) : User { 9 | override val id: Long = userRecord.NumericId 10 | override val url: String? = userRecord.Url 11 | override val identicalUrl: String? = userRecord.IdenticalUrl 12 | override val name: String = userRecord.Name 13 | override val screenName: String = userRecord.ScreenName 14 | override val isProtected: Boolean = false 15 | override val profileImageUrl: String = userRecord.ProfileImageUrl 16 | override val biggerProfileImageUrl: String = userRecord.ProfileImageUrl 17 | 18 | override fun isMentionedTo(userRecord: AuthUserRecord): Boolean { 19 | return false 20 | } 21 | } -------------------------------------------------------------------------------- /Yukari/src/main/res/xml/pref_filter.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 7 | 10 | 11 | 15 | 18 | 19 | -------------------------------------------------------------------------------- /Yukari/src/main/java/shibafu/yukari/mastodon/MastodonRestQuery.kt: -------------------------------------------------------------------------------- 1 | package shibafu.yukari.mastodon 2 | 3 | import com.sys1yagi.mastodon4j.MastodonClient 4 | import com.sys1yagi.mastodon4j.api.Pageable 5 | import com.sys1yagi.mastodon4j.api.Range 6 | import shibafu.yukari.database.AuthUserRecord 7 | import shibafu.yukari.mastodon.entity.DonStatus 8 | import com.sys1yagi.mastodon4j.api.entity.Status as MastodonStatus 9 | 10 | /** 11 | * [AbstractMastodonRestQuery] の [DonStatus] 特化版 12 | */ 13 | class MastodonRestQuery(private val resolver: (MastodonClient, Range) -> Pageable) : AbstractMastodonRestQuery() { 14 | override fun resolve(client: MastodonClient, range: Range) = resolver(client, range) 15 | 16 | override fun mapToEntity(record: MastodonStatus, userRecord: AuthUserRecord) = DonStatus(record, userRecord) 17 | } -------------------------------------------------------------------------------- /Yukari/src/main/res/layout/row_font.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 6 | 7 | 15 | 16 | 22 | 23 | -------------------------------------------------------------------------------- /Yukari/src/main/res/layout/popup_badge.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 12 | 13 | 21 | -------------------------------------------------------------------------------- /Yukari/src/main/java/shibafu/yukari/linkage/ProviderStream.kt: -------------------------------------------------------------------------------- 1 | package shibafu.yukari.linkage 2 | 3 | import android.content.Context 4 | import shibafu.yukari.database.AuthUserRecord 5 | 6 | /** 7 | * [shibafu.yukari.database.Provider] ごとの内部実装を持ったストリーミング通信管理の実装。 8 | */ 9 | interface ProviderStream { 10 | val channels: List 11 | 12 | fun onCreate(context: Context) 13 | fun onStart() 14 | fun onDestroy() 15 | 16 | fun addUser(userRecord: AuthUserRecord): List 17 | fun removeUser(userRecord: AuthUserRecord) 18 | } 19 | 20 | /** 21 | * 1つのエンドポイントに対応するストリーミング通信管理の実装。 22 | */ 23 | interface StreamChannel { 24 | val channelId: String 25 | val channelName: String 26 | val userRecord: AuthUserRecord 27 | val allowUserControl: Boolean 28 | val isRunning: Boolean 29 | 30 | fun start() 31 | fun stop() 32 | } -------------------------------------------------------------------------------- /Yukari/src/test/java/shibafu/yukari/util/StringUtilTest.java: -------------------------------------------------------------------------------- 1 | package shibafu.yukari.util; 2 | 3 | import org.junit.Assert; 4 | import org.junit.Test; 5 | 6 | /** 7 | * Created by shibafu on 15/06/24. 8 | */ 9 | public class StringUtilTest { 10 | 11 | @Test 12 | public void testCompressText() throws Exception { 13 | Assert.assertEquals("【悲報】", StringUtil.compressText("【悲報】\n【悲報】\n【悲報】\n【悲報】")); 14 | Assert.assertEquals("【悲報】", StringUtil.compressText("【悲報】 \n【悲報】\n【悲報】 \n【悲報】 ")); 15 | Assert.assertNull(StringUtil.compressText("【悲報】\n【悲報】\n【悲報】")); 16 | Assert.assertEquals("[゚д゚]", StringUtil.compressText("[゚д゚]\n[゚д゚]\n[゚д゚]\n[゚д゚]")); 17 | Assert.assertNull(StringUtil.compressText("[゚д゚]\n[゚д゚]\n[゚д゚]")); 18 | Assert.assertEquals("↓", StringUtil.compressText("わかる\n↓\nウケる\n↓\n神\n↓\nわかる\n↓\nウケる\n↓\n神")); 19 | } 20 | } -------------------------------------------------------------------------------- /Yukari/src/main/java/shibafu/yukari/mastodon/entity/DonMention.kt: -------------------------------------------------------------------------------- 1 | package shibafu.yukari.mastodon.entity 2 | 3 | import com.sys1yagi.mastodon4j.api.entity.Mention 4 | import shibafu.yukari.database.Provider 5 | import shibafu.yukari.mastodon.MastodonUtil 6 | import shibafu.yukari.database.AuthUserRecord 7 | import shibafu.yukari.entity.Mention as IMention 8 | 9 | class DonMention(mention: Mention) : IMention { 10 | override val id: Long = mention.id 11 | 12 | override val url: String = mention.url 13 | 14 | override val screenName: String = MastodonUtil.expandFullScreenName(mention.acct, mention.url) 15 | 16 | override fun isMentionedTo(userRecord: AuthUserRecord): Boolean { 17 | if (userRecord.Provider.apiType != Provider.API_MASTODON) { 18 | return false 19 | } 20 | 21 | return userRecord.ScreenName == screenName 22 | } 23 | } -------------------------------------------------------------------------------- /api/mastodon-ws/src/main/java/info/shibafu528/yukari/api/mastodon/ws/StreamListener.kt: -------------------------------------------------------------------------------- 1 | package info.shibafu528.yukari.api.mastodon.ws 2 | 3 | import com.sys1yagi.mastodon4j.api.entity.Notification 4 | import com.sys1yagi.mastodon4j.api.entity.Status 5 | import okhttp3.Response 6 | 7 | /** 8 | * サーバから受け取った各種イベントを購読するためのインターフェースです。 9 | */ 10 | interface StreamListener { 11 | fun onUpdate(status: Status) 12 | fun onNotification(notification: Notification) 13 | fun onDelete(id: Long) 14 | 15 | /** 16 | * 接続が確立された時に呼び出されます。 17 | */ 18 | fun onOpen() 19 | 20 | /** 21 | * 通信が正常に終了し、切断された時に呼び出されます。[onFailure] とは排他的な関係にあり、切断時にはどちらか一方が呼び出されます。 22 | */ 23 | fun onClosed() 24 | 25 | /** 26 | * エラーにより通信が異常終了した時に呼び出されます。[onClosed] とは排他的な関係にあり、切断時にはどちらか一方が呼び出されます。 27 | */ 28 | fun onFailure(t: Throwable, response: Response?) 29 | } -------------------------------------------------------------------------------- /Yukari/src/main/java/shibafu/yukari/common/span/HashTagSpan.java: -------------------------------------------------------------------------------- 1 | package shibafu.yukari.common.span; 2 | 3 | import android.content.Intent; 4 | import androidx.annotation.NonNull; 5 | import android.text.style.ClickableSpan; 6 | import android.view.View; 7 | import shibafu.yukari.activity.MainActivity; 8 | 9 | public class HashTagSpan extends ClickableSpan { 10 | private String tag; 11 | 12 | public HashTagSpan(String tag) { 13 | if (tag.startsWith("#")) { 14 | this.tag = tag; 15 | } else { 16 | this.tag = "#" + tag; 17 | } 18 | } 19 | 20 | @Override 21 | public void onClick(@NonNull View widget) { 22 | Intent intent = new Intent(widget.getContext(), MainActivity.class); 23 | intent.putExtra(MainActivity.EXTRA_SEARCH_WORD, tag); 24 | widget.getContext().startActivity(intent); 25 | } 26 | } 27 | -------------------------------------------------------------------------------- /yukari-processor/build.gradle: -------------------------------------------------------------------------------- 1 | apply plugin: 'java' 2 | apply plugin: 'kotlin' 3 | 4 | repositories { 5 | mavenCentral() 6 | } 7 | 8 | dependencies { 9 | implementation project(':yukari-processor-annotation') 10 | implementation 'com.squareup:javapoet:1.2.0' 11 | implementation "org.jetbrains.kotlin:kotlin-stdlib:$kotlin_version" 12 | } 13 | 14 | buildscript { 15 | ext.kotlin_version = '1.9.25' 16 | repositories { 17 | mavenCentral() 18 | } 19 | dependencies { 20 | classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version" 21 | } 22 | } 23 | 24 | def defaultEncoding = 'UTF-8' 25 | compileJava { 26 | options.encoding = defaultEncoding 27 | } 28 | compileTestJava { 29 | options.encoding = defaultEncoding 30 | } 31 | 32 | java { 33 | toolchain { 34 | languageVersion = JavaLanguageVersion.of(8) 35 | } 36 | } -------------------------------------------------------------------------------- /Yukari/src/main/res/layout/menu_profile_manage_follow.xml: -------------------------------------------------------------------------------- 1 | 2 | 6 | 7 | 13 | 14 |