├── app ├── .gitignore ├── src │ ├── main │ │ ├── res │ │ │ ├── drawable-mdpi │ │ │ │ ├── hp.gif │ │ │ │ ├── meat.gif │ │ │ │ ├── mp.gif │ │ │ │ ├── musc.gif │ │ │ │ ├── myst.gif │ │ │ │ ├── moxie.gif │ │ │ │ ├── hourglass.gif │ │ │ │ ├── ic_drawer.png │ │ │ │ ├── ic_info.png │ │ │ │ ├── ic_launcher.png │ │ │ │ ├── leftswordguy.gif │ │ │ │ ├── drawer_shadow.9.png │ │ │ │ ├── ic_map_black_24dp.png │ │ │ │ ├── ic_settings_black_24dp.png │ │ │ │ ├── ic_info_outline_black_24dp.png │ │ │ │ └── ic_chat_bubble_outline_black_24dp.png │ │ │ ├── drawable-hdpi │ │ │ │ ├── ic_drawer.png │ │ │ │ ├── ic_info.png │ │ │ │ ├── ic_launcher.png │ │ │ │ ├── drawer_shadow.9.png │ │ │ │ ├── ic_map_black_24dp.png │ │ │ │ ├── ic_settings_black_24dp.png │ │ │ │ ├── ic_info_outline_black_24dp.png │ │ │ │ └── ic_chat_bubble_outline_black_24dp.png │ │ │ ├── drawable-xhdpi │ │ │ │ ├── ic_info.png │ │ │ │ ├── ic_drawer.png │ │ │ │ ├── ic_launcher.png │ │ │ │ ├── drawer_shadow.9.png │ │ │ │ ├── ic_map_black_24dp.png │ │ │ │ ├── ic_settings_black_24dp.png │ │ │ │ ├── ic_info_outline_black_24dp.png │ │ │ │ └── ic_chat_bubble_outline_black_24dp.png │ │ │ ├── drawable-xxhdpi │ │ │ │ ├── ic_info.png │ │ │ │ ├── ic_drawer.png │ │ │ │ ├── ic_launcher.png │ │ │ │ ├── drawer_shadow.9.png │ │ │ │ ├── ic_map_black_24dp.png │ │ │ │ ├── ic_settings_black_24dp.png │ │ │ │ ├── ic_info_outline_black_24dp.png │ │ │ │ └── ic_chat_bubble_outline_black_24dp.png │ │ │ ├── drawable-xxxhdpi │ │ │ │ ├── ic_info.png │ │ │ │ ├── ic_launcher.png │ │ │ │ ├── ic_map_black_24dp.png │ │ │ │ ├── ic_settings_black_24dp.png │ │ │ │ ├── ic_info_outline_black_24dp.png │ │ │ │ └── ic_chat_bubble_outline_black_24dp.png │ │ │ ├── values │ │ │ │ ├── integers.xml │ │ │ │ ├── tags.xml │ │ │ │ ├── dimens.xml │ │ │ │ ├── attrs_progress_bar.xml │ │ │ │ ├── colors.xml │ │ │ │ ├── attrs_search_list_view.xml │ │ │ │ ├── dialogstyle.xml │ │ │ │ ├── themes.xml │ │ │ │ ├── strings.xml │ │ │ │ └── styles.xml │ │ │ ├── drawable │ │ │ │ ├── item_normal.xml │ │ │ │ ├── item_pressed.xml │ │ │ │ ├── blue_border.xml │ │ │ │ ├── item_selector.xml │ │ │ │ ├── black_to_blue_onpress_border.xml │ │ │ │ ├── rounded_square.xml │ │ │ │ ├── black_sides.xml │ │ │ │ ├── black_thick_border.xml │ │ │ │ ├── blue_thick_border.xml │ │ │ │ ├── gray_thick_border.xml │ │ │ │ └── blue_thick_border_gray_background.xml │ │ │ ├── anim │ │ │ │ ├── inleftanim.xml │ │ │ │ ├── inrightanim.xml │ │ │ │ ├── outleftanim.xml │ │ │ │ └── outrightanim.xml │ │ │ ├── layout │ │ │ │ ├── activity_chat_view.xml │ │ │ │ ├── activity_login_view.xml │ │ │ │ ├── web_live_view.xml │ │ │ │ ├── chat_channel_list_view.xml │ │ │ │ ├── web_view.xml │ │ │ │ ├── web_dialog_view.xml │ │ │ │ ├── navigation_view.xml │ │ │ │ ├── text_debug_view.xml │ │ │ │ ├── chat_channel_view.xml │ │ │ │ ├── inventory_pocket_view.xml │ │ │ │ ├── chat_message_view.xml │ │ │ │ ├── sidebar_view.xml │ │ │ │ ├── choice_view.xml │ │ │ │ ├── search_list_view.xml │ │ │ │ ├── generic_header_view.xml │ │ │ │ ├── chat_submission_view.xml │ │ │ │ ├── save_outfit_view.xml │ │ │ │ ├── group_search_list_view.xml │ │ │ │ ├── text_input_view.xml │ │ │ │ ├── results_view.xml │ │ │ │ ├── multiaction_view.xml │ │ │ │ ├── generic_element_view.xml │ │ │ │ ├── chat_message_actions_view.xml │ │ │ │ ├── chat_channel_tab_view.xml │ │ │ │ ├── tabs_view.xml │ │ │ │ ├── enter_chat_button_view.xml │ │ │ │ ├── subtext_view.xml │ │ │ │ ├── message_view.xml │ │ │ │ ├── chat_view.xml │ │ │ │ ├── equipment_pocket_view.xml │ │ │ │ └── item_view.xml │ │ │ ├── menu │ │ │ │ ├── login_screen.xml │ │ │ │ ├── game_screen.xml │ │ │ │ └── chat_screen.xml │ │ │ ├── values-v14 │ │ │ │ └── styles.xml │ │ │ └── values-v11 │ │ │ │ └── styles.xml │ │ ├── java │ │ │ └── com │ │ │ │ └── github │ │ │ │ └── kolandroid │ │ │ │ └── kol │ │ │ │ └── android │ │ │ │ ├── binders │ │ │ │ ├── Binder.java │ │ │ │ ├── ColoredGroupBinder.java │ │ │ │ ├── ChatBinder.java │ │ │ │ ├── TextBinder.java │ │ │ │ ├── SkillsBinder.java │ │ │ │ ├── SubtextBinder.java │ │ │ │ ├── DefaultGroupBinder.java │ │ │ │ └── ElementBinder.java │ │ │ │ ├── controller │ │ │ │ ├── UpdatableController.java │ │ │ │ ├── UpdateController.java │ │ │ │ ├── ModelController.java │ │ │ │ ├── Controller.java │ │ │ │ ├── LinkedModelController.java │ │ │ │ └── BinderController.java │ │ │ │ ├── util │ │ │ │ ├── searchlist │ │ │ │ │ ├── SerializableSelector.java │ │ │ │ │ ├── ListSelector.java │ │ │ │ │ ├── ActionSelector.java │ │ │ │ │ └── HighlightableListAdapter.java │ │ │ │ ├── LatchedCallback.java │ │ │ │ ├── BasicLatchedCallback.java │ │ │ │ ├── WeakLatchedCallback.java │ │ │ │ ├── HandlerCallback.java │ │ │ │ └── adapters │ │ │ │ │ └── ListAdapter.java │ │ │ │ ├── login │ │ │ │ └── ExpiringController.java │ │ │ │ ├── screen │ │ │ │ ├── Screen.java │ │ │ │ └── ScreenSelection.java │ │ │ │ ├── game │ │ │ │ └── UpdateSidebarHandler.java │ │ │ │ ├── controllers │ │ │ │ ├── inventory │ │ │ │ │ ├── HagnkController.java │ │ │ │ │ ├── InventoryController.java │ │ │ │ │ ├── InventoryUpdateController.java │ │ │ │ │ └── CustomOutfitController.java │ │ │ │ ├── TextDebugController.java │ │ │ │ ├── AccountSettingsController.java │ │ │ │ ├── chat │ │ │ │ │ ├── ChatCommandSpawnerController.java │ │ │ │ │ └── ChannelCounterController.java │ │ │ │ ├── CraftingController.java │ │ │ │ ├── web │ │ │ │ │ ├── LiveWebController.java │ │ │ │ │ └── TextInputController.java │ │ │ │ └── ReportableMessageController.java │ │ │ │ ├── chat │ │ │ │ └── ChatService.java │ │ │ │ └── view │ │ │ │ ├── ErrorHandler.java │ │ │ │ └── ToastLoader.java │ │ └── AndroidManifest.xml │ └── androidTest │ │ └── java │ │ └── com │ │ └── github │ │ └── kolandroid │ │ └── kol │ │ └── ApplicationTest.java ├── proguard-rules.pro └── build.gradle ├── kol_base ├── .gitignore ├── src │ └── main │ │ └── java │ │ └── com │ │ └── github │ │ └── kolandroid │ │ └── kol │ │ ├── data │ │ ├── RawData.java │ │ └── DataCache.java │ │ ├── model │ │ ├── elements │ │ │ ├── interfaces │ │ │ │ ├── SubtextElement.java │ │ │ │ ├── Multiuseable.java │ │ │ │ ├── ModelElement.java │ │ │ │ ├── DeferredGameAction.java │ │ │ │ └── ModelGroup.java │ │ │ ├── basic │ │ │ │ ├── BasicSubtextElement.java │ │ │ │ ├── BasicElement.java │ │ │ │ ├── BasicAction.java │ │ │ │ └── BasicGroup.java │ │ │ ├── ActionElement.java │ │ │ ├── MultiuseElement.java │ │ │ └── MultiActionElement.java │ │ ├── models │ │ │ ├── skill │ │ │ │ ├── SkillsSubmodel.java │ │ │ │ ├── SkillsVisitor.java │ │ │ │ └── SkillsModel.java │ │ │ ├── chat │ │ │ │ ├── raw │ │ │ │ │ ├── RawActionList.java │ │ │ │ │ ├── RawAction.java │ │ │ │ │ └── RawActionListDeserializer.java │ │ │ │ ├── stubs │ │ │ │ │ ├── ChannelStubModel.java │ │ │ │ │ ├── ChatCommandSpawnerStubModel.java │ │ │ │ │ ├── ChatSubmissionStubModel.java │ │ │ │ │ └── ChatStubModel.java │ │ │ │ └── ChatLink.java │ │ │ ├── inventory │ │ │ │ ├── pockets │ │ │ │ │ ├── ItemPocketVisitor.java │ │ │ │ │ ├── ItemPocket.java │ │ │ │ │ ├── HagnkPocketModel.java │ │ │ │ │ ├── ClosetPocketModel.java │ │ │ │ │ └── HagnkStatusPocketModel.java │ │ │ │ ├── InventoryModel.java │ │ │ │ ├── HagnkModel.java │ │ │ │ └── InventoryUpdateModel.java │ │ │ ├── login │ │ │ │ ├── ConnectionFailed.java │ │ │ │ └── AppUpdaterModel.java │ │ │ ├── ErrorReportingModel.java │ │ │ ├── AppSettingsModel.java │ │ │ ├── fight │ │ │ │ ├── FightSkill.java │ │ │ │ ├── FightAction.java │ │ │ │ ├── DisabledFightAction.java │ │ │ │ └── FightBasicAction.java │ │ │ ├── LiveWebModel.java │ │ │ └── navigation │ │ │ │ └── NavigationElement.java │ │ ├── ReportableMessageModel.java │ │ ├── LinkedModel.java │ │ └── GroupModel.java │ │ ├── util │ │ ├── StringUtils.java │ │ ├── SerializableCallback.java │ │ ├── Callback.java │ │ └── Logger.java │ │ ├── request │ │ ├── SerializableResponseHandler.java │ │ ├── ResponseHandler.java │ │ ├── ExternalRequest.java │ │ ├── ExternalFileRequest.java │ │ ├── SingleRequest.java │ │ └── SimulatedRequest.java │ │ ├── gamehandler │ │ ├── EmptyDataCache.java │ │ ├── LoadingContext.java │ │ ├── DataContext.java │ │ ├── ViewContext.java │ │ └── SettingsContext.java │ │ ├── connection │ │ └── ConnectionException.java │ │ └── session │ │ ├── cache │ │ ├── FixedCacheLine.java │ │ └── BasicCacheLine.java │ │ ├── data │ │ ├── CharacterBasicData.java │ │ └── PwdData.java │ │ └── Session.java ├── build.gradle └── kol_base.iml ├── settings.gradle ├── .idea ├── copyright │ └── profiles_settings.xml ├── encodings.xml ├── vcs.xml ├── modules.xml ├── runConfigurations.xml ├── compiler.xml ├── gradle.xml └── misc.xml ├── gradle └── wrapper │ ├── gradle-wrapper.jar │ └── gradle-wrapper.properties ├── .gitignore ├── gradle.properties ├── kolandroid.iml └── README.md /app/.gitignore: -------------------------------------------------------------------------------- 1 | /build 2 | -------------------------------------------------------------------------------- /kol_base/.gitignore: -------------------------------------------------------------------------------- 1 | /build 2 | -------------------------------------------------------------------------------- /settings.gradle: -------------------------------------------------------------------------------- 1 | include ':app', ':kol_base' 2 | -------------------------------------------------------------------------------- /.idea/copyright/profiles_settings.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | -------------------------------------------------------------------------------- /gradle/wrapper/gradle-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Kasekopf/kolandroid/HEAD/gradle/wrapper/gradle-wrapper.jar -------------------------------------------------------------------------------- /app/src/main/res/drawable-mdpi/hp.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Kasekopf/kolandroid/HEAD/app/src/main/res/drawable-mdpi/hp.gif -------------------------------------------------------------------------------- /app/src/main/res/drawable-mdpi/meat.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Kasekopf/kolandroid/HEAD/app/src/main/res/drawable-mdpi/meat.gif -------------------------------------------------------------------------------- /app/src/main/res/drawable-mdpi/mp.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Kasekopf/kolandroid/HEAD/app/src/main/res/drawable-mdpi/mp.gif -------------------------------------------------------------------------------- /app/src/main/res/drawable-mdpi/musc.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Kasekopf/kolandroid/HEAD/app/src/main/res/drawable-mdpi/musc.gif -------------------------------------------------------------------------------- /app/src/main/res/drawable-mdpi/myst.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Kasekopf/kolandroid/HEAD/app/src/main/res/drawable-mdpi/myst.gif -------------------------------------------------------------------------------- /app/src/main/res/drawable-mdpi/moxie.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Kasekopf/kolandroid/HEAD/app/src/main/res/drawable-mdpi/moxie.gif -------------------------------------------------------------------------------- /app/src/main/res/drawable-hdpi/ic_drawer.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Kasekopf/kolandroid/HEAD/app/src/main/res/drawable-hdpi/ic_drawer.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-hdpi/ic_info.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Kasekopf/kolandroid/HEAD/app/src/main/res/drawable-hdpi/ic_info.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-mdpi/hourglass.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Kasekopf/kolandroid/HEAD/app/src/main/res/drawable-mdpi/hourglass.gif -------------------------------------------------------------------------------- /app/src/main/res/drawable-mdpi/ic_drawer.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Kasekopf/kolandroid/HEAD/app/src/main/res/drawable-mdpi/ic_drawer.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-mdpi/ic_info.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Kasekopf/kolandroid/HEAD/app/src/main/res/drawable-mdpi/ic_info.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xhdpi/ic_info.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Kasekopf/kolandroid/HEAD/app/src/main/res/drawable-xhdpi/ic_info.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xxhdpi/ic_info.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Kasekopf/kolandroid/HEAD/app/src/main/res/drawable-xxhdpi/ic_info.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-hdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Kasekopf/kolandroid/HEAD/app/src/main/res/drawable-hdpi/ic_launcher.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-mdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Kasekopf/kolandroid/HEAD/app/src/main/res/drawable-mdpi/ic_launcher.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xhdpi/ic_drawer.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Kasekopf/kolandroid/HEAD/app/src/main/res/drawable-xhdpi/ic_drawer.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xxhdpi/ic_drawer.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Kasekopf/kolandroid/HEAD/app/src/main/res/drawable-xxhdpi/ic_drawer.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xxxhdpi/ic_info.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Kasekopf/kolandroid/HEAD/app/src/main/res/drawable-xxxhdpi/ic_info.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-mdpi/leftswordguy.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Kasekopf/kolandroid/HEAD/app/src/main/res/drawable-mdpi/leftswordguy.gif -------------------------------------------------------------------------------- /app/src/main/res/drawable-xhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Kasekopf/kolandroid/HEAD/app/src/main/res/drawable-xhdpi/ic_launcher.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xxhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Kasekopf/kolandroid/HEAD/app/src/main/res/drawable-xxhdpi/ic_launcher.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xxxhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Kasekopf/kolandroid/HEAD/app/src/main/res/drawable-xxxhdpi/ic_launcher.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-hdpi/drawer_shadow.9.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Kasekopf/kolandroid/HEAD/app/src/main/res/drawable-hdpi/drawer_shadow.9.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-mdpi/drawer_shadow.9.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Kasekopf/kolandroid/HEAD/app/src/main/res/drawable-mdpi/drawer_shadow.9.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xhdpi/drawer_shadow.9.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Kasekopf/kolandroid/HEAD/app/src/main/res/drawable-xhdpi/drawer_shadow.9.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-hdpi/ic_map_black_24dp.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Kasekopf/kolandroid/HEAD/app/src/main/res/drawable-hdpi/ic_map_black_24dp.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-mdpi/ic_map_black_24dp.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Kasekopf/kolandroid/HEAD/app/src/main/res/drawable-mdpi/ic_map_black_24dp.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xhdpi/ic_map_black_24dp.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Kasekopf/kolandroid/HEAD/app/src/main/res/drawable-xhdpi/ic_map_black_24dp.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xxhdpi/drawer_shadow.9.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Kasekopf/kolandroid/HEAD/app/src/main/res/drawable-xxhdpi/drawer_shadow.9.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xxhdpi/ic_map_black_24dp.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Kasekopf/kolandroid/HEAD/app/src/main/res/drawable-xxhdpi/ic_map_black_24dp.png -------------------------------------------------------------------------------- /app/src/main/res/values/integers.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 1 4 | 5 | -------------------------------------------------------------------------------- /app/src/main/res/drawable-xxxhdpi/ic_map_black_24dp.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Kasekopf/kolandroid/HEAD/app/src/main/res/drawable-xxxhdpi/ic_map_black_24dp.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-hdpi/ic_settings_black_24dp.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Kasekopf/kolandroid/HEAD/app/src/main/res/drawable-hdpi/ic_settings_black_24dp.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-mdpi/ic_settings_black_24dp.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Kasekopf/kolandroid/HEAD/app/src/main/res/drawable-mdpi/ic_settings_black_24dp.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xhdpi/ic_settings_black_24dp.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Kasekopf/kolandroid/HEAD/app/src/main/res/drawable-xhdpi/ic_settings_black_24dp.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xxhdpi/ic_settings_black_24dp.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Kasekopf/kolandroid/HEAD/app/src/main/res/drawable-xxhdpi/ic_settings_black_24dp.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-hdpi/ic_info_outline_black_24dp.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Kasekopf/kolandroid/HEAD/app/src/main/res/drawable-hdpi/ic_info_outline_black_24dp.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-mdpi/ic_info_outline_black_24dp.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Kasekopf/kolandroid/HEAD/app/src/main/res/drawable-mdpi/ic_info_outline_black_24dp.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xxxhdpi/ic_settings_black_24dp.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Kasekopf/kolandroid/HEAD/app/src/main/res/drawable-xxxhdpi/ic_settings_black_24dp.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xhdpi/ic_info_outline_black_24dp.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Kasekopf/kolandroid/HEAD/app/src/main/res/drawable-xhdpi/ic_info_outline_black_24dp.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xxhdpi/ic_info_outline_black_24dp.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Kasekopf/kolandroid/HEAD/app/src/main/res/drawable-xxhdpi/ic_info_outline_black_24dp.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xxxhdpi/ic_info_outline_black_24dp.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Kasekopf/kolandroid/HEAD/app/src/main/res/drawable-xxxhdpi/ic_info_outline_black_24dp.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-hdpi/ic_chat_bubble_outline_black_24dp.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Kasekopf/kolandroid/HEAD/app/src/main/res/drawable-hdpi/ic_chat_bubble_outline_black_24dp.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-mdpi/ic_chat_bubble_outline_black_24dp.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Kasekopf/kolandroid/HEAD/app/src/main/res/drawable-mdpi/ic_chat_bubble_outline_black_24dp.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xhdpi/ic_chat_bubble_outline_black_24dp.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Kasekopf/kolandroid/HEAD/app/src/main/res/drawable-xhdpi/ic_chat_bubble_outline_black_24dp.png -------------------------------------------------------------------------------- /.idea/encodings.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /app/src/main/res/drawable-xxhdpi/ic_chat_bubble_outline_black_24dp.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Kasekopf/kolandroid/HEAD/app/src/main/res/drawable-xxhdpi/ic_chat_bubble_outline_black_24dp.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xxxhdpi/ic_chat_bubble_outline_black_24dp.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Kasekopf/kolandroid/HEAD/app/src/main/res/drawable-xxxhdpi/ic_chat_bubble_outline_black_24dp.png -------------------------------------------------------------------------------- /.idea/vcs.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/item_normal.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/item_pressed.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /app/src/main/res/values/tags.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /kol_base/src/main/java/com/github/kolandroid/kol/data/RawData.java: -------------------------------------------------------------------------------- 1 | package com.github.kolandroid.kol.data; 2 | 3 | public interface RawData { 4 | String getId(); 5 | 6 | String output(); 7 | } 8 | -------------------------------------------------------------------------------- /kol_base/src/main/java/com/github/kolandroid/kol/data/DataCache.java: -------------------------------------------------------------------------------- 1 | package com.github.kolandroid.kol.data; 2 | 3 | public interface DataCache { 4 | B find(A input); 5 | 6 | void store(B data); 7 | } 8 | -------------------------------------------------------------------------------- /app/src/main/res/values/dimens.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 240dp 6 | 7 | 8 | -------------------------------------------------------------------------------- /kol_base/src/main/java/com/github/kolandroid/kol/model/elements/interfaces/SubtextElement.java: -------------------------------------------------------------------------------- 1 | package com.github.kolandroid.kol.model.elements.interfaces; 2 | 3 | public interface SubtextElement extends ModelElement { 4 | String getSubtext(); 5 | } 6 | -------------------------------------------------------------------------------- /app/src/main/java/com/github/kolandroid/kol/android/binders/Binder.java: -------------------------------------------------------------------------------- 1 | package com.github.kolandroid.kol.android.binders; 2 | 3 | import android.view.View; 4 | 5 | public interface Binder { 6 | int getView(); 7 | 8 | void bind(View view, E model); 9 | } -------------------------------------------------------------------------------- /app/src/main/java/com/github/kolandroid/kol/android/controller/UpdatableController.java: -------------------------------------------------------------------------------- 1 | package com.github.kolandroid.kol.android.controller; 2 | 3 | public interface UpdatableController extends Controller { 4 | boolean tryApply(Class type, F object); 5 | } 6 | -------------------------------------------------------------------------------- /app/src/main/java/com/github/kolandroid/kol/android/controller/UpdateController.java: -------------------------------------------------------------------------------- 1 | package com.github.kolandroid.kol.android.controller; 2 | 3 | public interface UpdateController extends Controller { 4 | E getModel(); 5 | 6 | Class getUpdateType(); 7 | } 8 | -------------------------------------------------------------------------------- /app/src/main/res/anim/inleftanim.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 7 | -------------------------------------------------------------------------------- /kol_base/src/main/java/com/github/kolandroid/kol/model/elements/interfaces/Multiuseable.java: -------------------------------------------------------------------------------- 1 | package com.github.kolandroid.kol.model.elements.interfaces; 2 | 3 | 4 | public interface Multiuseable extends SubtextElement { 5 | DeferredGameAction use(String quantity); 6 | } 7 | -------------------------------------------------------------------------------- /app/src/main/res/anim/inrightanim.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 7 | -------------------------------------------------------------------------------- /app/src/main/res/anim/outleftanim.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 7 | -------------------------------------------------------------------------------- /app/src/main/res/anim/outrightanim.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 7 | -------------------------------------------------------------------------------- /app/src/main/java/com/github/kolandroid/kol/android/util/searchlist/SerializableSelector.java: -------------------------------------------------------------------------------- 1 | package com.github.kolandroid.kol.android.util.searchlist; 2 | 3 | import java.io.Serializable; 4 | 5 | public interface SerializableSelector extends ListSelector, Serializable { 6 | 7 | } 8 | -------------------------------------------------------------------------------- /gradle/wrapper/gradle-wrapper.properties: -------------------------------------------------------------------------------- 1 | #Wed Dec 10 20:55:22 EST 2014 2 | distributionBase=GRADLE_USER_HOME 3 | distributionPath=wrapper/dists 4 | zipStoreBase=GRADLE_USER_HOME 5 | zipStorePath=wrapper/dists 6 | distributionUrl=https\://services.gradle.org/distributions/gradle-2.2.1-all.zip 7 | -------------------------------------------------------------------------------- /app/src/main/java/com/github/kolandroid/kol/android/login/ExpiringController.java: -------------------------------------------------------------------------------- 1 | package com.github.kolandroid.kol.android.login; 2 | 3 | import com.github.kolandroid.kol.android.controller.Controller; 4 | 5 | public interface ExpiringController extends Controller { 6 | boolean hasExpired(); 7 | } 8 | -------------------------------------------------------------------------------- /app/src/main/java/com/github/kolandroid/kol/android/util/searchlist/ListSelector.java: -------------------------------------------------------------------------------- 1 | package com.github.kolandroid.kol.android.util.searchlist; 2 | 3 | import com.github.kolandroid.kol.android.screen.Screen; 4 | 5 | public interface ListSelector { 6 | boolean selectItem(Screen host, E item); 7 | } 8 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/blue_border.xml: -------------------------------------------------------------------------------- 1 | 2 | 4 | 5 | 8 | -------------------------------------------------------------------------------- /kol_base/src/main/java/com/github/kolandroid/kol/model/elements/interfaces/ModelElement.java: -------------------------------------------------------------------------------- 1 | package com.github.kolandroid.kol.model.elements.interfaces; 2 | 3 | import java.io.Serializable; 4 | 5 | public interface ModelElement extends Serializable { 6 | String getText(); 7 | 8 | String getImage(); 9 | } 10 | -------------------------------------------------------------------------------- /kol_base/src/main/java/com/github/kolandroid/kol/util/StringUtils.java: -------------------------------------------------------------------------------- 1 | package com.github.kolandroid.kol.util; 2 | 3 | public class StringUtils { 4 | public static String htmlDecode(String str) { 5 | return str.replace("<", "<").replace(">", ">").replace(""", "\"").replace(" ", " "); 6 | } 7 | } 8 | -------------------------------------------------------------------------------- /app/src/main/res/values/attrs_progress_bar.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/item_selector.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /kol_base/src/main/java/com/github/kolandroid/kol/model/models/skill/SkillsSubmodel.java: -------------------------------------------------------------------------------- 1 | package com.github.kolandroid.kol.model.models.skill; 2 | 3 | import com.github.kolandroid.kol.model.GroupModel.ChildModel; 4 | 5 | public interface SkillsSubmodel extends ChildModel { 6 | Result execute(SkillsVisitor visitor); 7 | } 8 | -------------------------------------------------------------------------------- /app/src/main/java/com/github/kolandroid/kol/android/util/LatchedCallback.java: -------------------------------------------------------------------------------- 1 | package com.github.kolandroid.kol.android.util; 2 | 3 | import com.github.kolandroid.kol.util.Callback; 4 | 5 | public interface LatchedCallback extends Callback { 6 | boolean isClosed(); 7 | 8 | void close(); 9 | 10 | LatchedCallback weak(); 11 | } 12 | -------------------------------------------------------------------------------- /kol_base/build.gradle: -------------------------------------------------------------------------------- 1 | apply plugin: 'java' 2 | 3 | compileJava { 4 | sourceCompatibility=JavaVersion.VERSION_1_7 5 | targetCompatibility=JavaVersion.VERSION_1_7 6 | } 7 | 8 | dependencies { 9 | compile 'com.google.code.gson:gson:2.3' 10 | compile "commons-io:commons-io:2.4" 11 | compile fileTree(dir: 'libs', include: ['*.jar']) 12 | } -------------------------------------------------------------------------------- /kol_base/src/main/java/com/github/kolandroid/kol/model/models/skill/SkillsVisitor.java: -------------------------------------------------------------------------------- 1 | package com.github.kolandroid.kol.model.models.skill; 2 | 3 | import java.io.Serializable; 4 | 5 | public interface SkillsVisitor extends Serializable { 6 | Result execute(SkillsListModel model); 7 | 8 | Result execute(ItemRestorersModel model); 9 | } 10 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/black_to_blue_onpress_border.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/rounded_square.xml: -------------------------------------------------------------------------------- 1 | 2 | 4 | 5 | 6 | 9 | -------------------------------------------------------------------------------- /app/src/main/res/values/colors.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | #004 5 | #eee 6 | 7 | #00f 8 | #080 9 | #888 10 | -------------------------------------------------------------------------------- /kol_base/src/main/java/com/github/kolandroid/kol/request/SerializableResponseHandler.java: -------------------------------------------------------------------------------- 1 | package com.github.kolandroid.kol.request; 2 | 3 | import java.io.Serializable; 4 | 5 | /** 6 | * A serializable callback used to process server responses to game requests. 7 | */ 8 | public interface SerializableResponseHandler extends Serializable, ResponseHandler { 9 | } 10 | -------------------------------------------------------------------------------- /kol_base/src/main/java/com/github/kolandroid/kol/model/elements/interfaces/DeferredGameAction.java: -------------------------------------------------------------------------------- 1 | package com.github.kolandroid.kol.model.elements.interfaces; 2 | 3 | import com.github.kolandroid.kol.gamehandler.ViewContext; 4 | 5 | import java.io.Serializable; 6 | 7 | public interface DeferredGameAction extends Serializable { 8 | void submit(ViewContext context); 9 | } 10 | -------------------------------------------------------------------------------- /kol_base/src/main/java/com/github/kolandroid/kol/model/models/chat/raw/RawActionList.java: -------------------------------------------------------------------------------- 1 | package com.github.kolandroid.kol.model.models.chat.raw; 2 | 3 | import java.util.ArrayList; 4 | 5 | public class RawActionList { 6 | public final ArrayList actions; 7 | 8 | public RawActionList(ArrayList actions) { 9 | this.actions = actions; 10 | } 11 | } 12 | -------------------------------------------------------------------------------- /kol_base/src/main/java/com/github/kolandroid/kol/model/models/inventory/pockets/ItemPocketVisitor.java: -------------------------------------------------------------------------------- 1 | package com.github.kolandroid.kol.model.models.inventory.pockets; 2 | 3 | public interface ItemPocketVisitor { 4 | Result display(ItemPocketModel model); 5 | 6 | Result display(EquipmentPocketModel model); 7 | 8 | Result display(HagnkStatusPocketModel model); 9 | } 10 | -------------------------------------------------------------------------------- /app/src/main/res/layout/activity_chat_view.xml: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /app/src/main/res/layout/activity_login_view.xml: -------------------------------------------------------------------------------- 1 | 8 | 9 | -------------------------------------------------------------------------------- /app/src/main/res/menu/login_screen.xml: -------------------------------------------------------------------------------- 1 | 3 | 9 | 10 | -------------------------------------------------------------------------------- /app/src/main/res/values/attrs_search_list_view.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/black_sides.xml: -------------------------------------------------------------------------------- 1 | 2 | 5 | 6 | 7 | 10 | 11 | 12 | -------------------------------------------------------------------------------- /kol_base/src/main/java/com/github/kolandroid/kol/model/elements/interfaces/ModelGroup.java: -------------------------------------------------------------------------------- 1 | package com.github.kolandroid.kol.model.elements.interfaces; 2 | 3 | import java.io.Serializable; 4 | 5 | public interface ModelGroup extends Serializable, Iterable { 6 | int size(); 7 | 8 | E get(int index); 9 | 10 | void set(int index, E value); 11 | 12 | void remove(int index); 13 | 14 | String getName(); 15 | } 16 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/black_thick_border.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 7 | 12 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/blue_thick_border.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 7 | 12 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/gray_thick_border.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 7 | 12 | -------------------------------------------------------------------------------- /kol_base/src/main/java/com/github/kolandroid/kol/gamehandler/EmptyDataCache.java: -------------------------------------------------------------------------------- 1 | package com.github.kolandroid.kol.gamehandler; 2 | 3 | import com.github.kolandroid.kol.data.DataCache; 4 | 5 | public class EmptyDataCache implements DataCache { 6 | @Override 7 | public F find(E input) { 8 | return null; 9 | } 10 | 11 | @Override 12 | public void store(F data) { 13 | // Do nothing; 14 | } 15 | } 16 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/blue_thick_border_gray_background.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 7 | 12 | -------------------------------------------------------------------------------- /app/src/main/res/layout/web_live_view.xml: -------------------------------------------------------------------------------- 1 | 8 | -------------------------------------------------------------------------------- /app/src/main/res/menu/game_screen.xml: -------------------------------------------------------------------------------- 1 | 2 | 4 | 5 | 11 | 12 | -------------------------------------------------------------------------------- /kol_base/src/main/java/com/github/kolandroid/kol/util/SerializableCallback.java: -------------------------------------------------------------------------------- 1 | package com.github.kolandroid.kol.util; 2 | 3 | import java.io.Serializable; 4 | 5 | /** 6 | * A simple serializable interface for a callback, since this is Java 1.7 so there are no spiffy lambdas. 7 | * 8 | * @param Type of the value passed to the callback 9 | */ 10 | public interface SerializableCallback extends Callback, Serializable { 11 | 12 | } 13 | -------------------------------------------------------------------------------- /app/src/androidTest/java/com/github/kolandroid/kol/ApplicationTest.java: -------------------------------------------------------------------------------- 1 | package com.github.kolandroid.kol; 2 | 3 | import android.app.Application; 4 | import android.test.ApplicationTestCase; 5 | 6 | /** 7 | * Testing Fundamentals 8 | */ 9 | public class ApplicationTest extends ApplicationTestCase { 10 | public ApplicationTest() { 11 | super(Application.class); 12 | } 13 | } -------------------------------------------------------------------------------- /app/src/main/res/layout/chat_channel_list_view.xml: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | # Built application files 2 | *.apk 3 | *.ap_ 4 | 5 | # Files for the Dalvik VM 6 | *.dex 7 | 8 | # Java class files 9 | *.class 10 | 11 | # Generated files 12 | bin/ 13 | gen/ 14 | 15 | # Gradle files 16 | .gradle/ 17 | build/ 18 | /*/build/ 19 | 20 | # Local configuration file (sdk path, etc) 21 | local.properties 22 | 23 | # Proguard folder generated by Eclipse 24 | proguard/ 25 | 26 | # Log Files 27 | *.log 28 | 29 | # Android Studio 30 | .idea/workspace.xml 31 | .idea/libraries/ 32 | .idea/gradle.xml -------------------------------------------------------------------------------- /.idea/modules.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | -------------------------------------------------------------------------------- /kol_base/src/main/java/com/github/kolandroid/kol/util/Callback.java: -------------------------------------------------------------------------------- 1 | package com.github.kolandroid.kol.util; 2 | 3 | /** 4 | * A simple interface for a callback, since this is Java 1.7 so there are no spiffy lambdas. 5 | * 6 | * @param Type of the value passed to the callback 7 | */ 8 | public interface Callback { 9 | /** 10 | * Execute the callback with the provided arguments. 11 | * 12 | * @param item Arguments to the callback. 13 | */ 14 | void execute(Args item); 15 | } 16 | -------------------------------------------------------------------------------- /kol_base/src/main/java/com/github/kolandroid/kol/model/models/login/ConnectionFailed.java: -------------------------------------------------------------------------------- 1 | package com.github.kolandroid.kol.model.models.login; 2 | 3 | public enum ConnectionFailed { 4 | NO_ACCESS("Unable to access KoL servers."), 5 | STRANGE_ACCESS("Unknown page received from login url."); 6 | 7 | private final String message; 8 | 9 | ConnectionFailed(String message) { 10 | this.message = message; 11 | } 12 | 13 | public String getReason() { 14 | return message; 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /app/src/main/java/com/github/kolandroid/kol/android/screen/Screen.java: -------------------------------------------------------------------------------- 1 | package com.github.kolandroid.kol.android.screen; 2 | 3 | import android.app.Activity; 4 | import android.app.FragmentManager; 5 | 6 | import com.github.kolandroid.kol.android.view.AndroidViewContext; 7 | 8 | public interface Screen { 9 | FragmentManager getFragmentManager(); 10 | 11 | FragmentManager getChildFragmentManager(); 12 | 13 | Activity getActivity(); 14 | 15 | AndroidViewContext getViewContext(); 16 | 17 | void close(); 18 | } 19 | -------------------------------------------------------------------------------- /app/src/main/res/layout/web_view.xml: -------------------------------------------------------------------------------- 1 | 6 | 7 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /app/src/main/res/layout/web_dialog_view.xml: -------------------------------------------------------------------------------- 1 | 6 | 7 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /app/src/main/res/layout/navigation_view.xml: -------------------------------------------------------------------------------- 1 | 11 | 12 | -------------------------------------------------------------------------------- /app/src/main/res/layout/text_debug_view.xml: -------------------------------------------------------------------------------- 1 | 6 | 7 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /kol_base/src/main/java/com/github/kolandroid/kol/connection/ConnectionException.java: -------------------------------------------------------------------------------- 1 | package com.github.kolandroid.kol.connection; 2 | 3 | import java.io.IOException; 4 | 5 | public class ConnectionException extends IOException { 6 | private static final long serialVersionUID = 1592480171367152698L; 7 | 8 | private final Exception base; 9 | 10 | public ConnectionException(Exception base) { 11 | this.base = base; 12 | } 13 | 14 | @Override 15 | public String toString() { 16 | return base.toString(); 17 | } 18 | } -------------------------------------------------------------------------------- /kol_base/src/main/java/com/github/kolandroid/kol/model/models/inventory/pockets/ItemPocket.java: -------------------------------------------------------------------------------- 1 | package com.github.kolandroid.kol.model.models.inventory.pockets; 2 | 3 | import com.github.kolandroid.kol.connection.ServerReply; 4 | import com.github.kolandroid.kol.model.GroupModel; 5 | 6 | public interface ItemPocket extends GroupModel.ChildModel { 7 | void process(ServerReply reply); 8 | 9 | boolean apply(String itemId, int amountDifference); 10 | 11 | void refreshIfLoaded(); 12 | 13 | Result execute(ItemPocketVisitor visitor); 14 | } 15 | -------------------------------------------------------------------------------- /app/src/main/java/com/github/kolandroid/kol/android/game/UpdateSidebarHandler.java: -------------------------------------------------------------------------------- 1 | package com.github.kolandroid.kol.android.game; 2 | 3 | import com.github.kolandroid.kol.android.util.HandlerCallback; 4 | 5 | public class UpdateSidebarHandler extends HandlerCallback { 6 | private final SidebarController controller; 7 | 8 | public UpdateSidebarHandler(SidebarController controller) { 9 | this.controller = controller; 10 | } 11 | 12 | @Override 13 | protected void receiveProgress(Void message) { 14 | controller.refresh(); 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /app/src/main/res/menu/chat_screen.xml: -------------------------------------------------------------------------------- 1 | 2 | 4 | 9 | 10 | 15 | 16 | -------------------------------------------------------------------------------- /app/src/main/java/com/github/kolandroid/kol/android/controllers/inventory/HagnkController.java: -------------------------------------------------------------------------------- 1 | package com.github.kolandroid.kol.android.controllers.inventory; 2 | 3 | import com.github.kolandroid.kol.android.R; 4 | import com.github.kolandroid.kol.model.models.inventory.HagnkModel; 5 | 6 | public class HagnkController extends ItemStorageController { 7 | public HagnkController(HagnkModel model) { 8 | super(model, R.color.hagnk_header); 9 | } 10 | 11 | @Override 12 | public Class getUpdateType() { 13 | return HagnkModel.class; 14 | } 15 | } 16 | -------------------------------------------------------------------------------- /app/src/main/res/layout/chat_channel_view.xml: -------------------------------------------------------------------------------- 1 | 7 | 8 | 13 | 14 | -------------------------------------------------------------------------------- /.idea/runConfigurations.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 11 | 12 | -------------------------------------------------------------------------------- /app/src/main/res/layout/inventory_pocket_view.xml: -------------------------------------------------------------------------------- 1 | 7 | 8 | 12 | -------------------------------------------------------------------------------- /kol_base/src/main/java/com/github/kolandroid/kol/session/cache/FixedCacheLine.java: -------------------------------------------------------------------------------- 1 | package com.github.kolandroid.kol.session.cache; 2 | 3 | import java.io.Serializable; 4 | 5 | /** 6 | * A single cache line which holds a single item. 7 | * This item cannot possibly change over the course of the session once it is computed 8 | * successfully, and so ignores further dirty marks. 9 | * 10 | * @param The type of the item inside the cache. 11 | */ 12 | public abstract class FixedCacheLine extends CacheLine { 13 | @Override 14 | void markDirty() { 15 | // Do nothing 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /app/src/main/java/com/github/kolandroid/kol/android/controllers/inventory/InventoryController.java: -------------------------------------------------------------------------------- 1 | package com.github.kolandroid.kol.android.controllers.inventory; 2 | 3 | import com.github.kolandroid.kol.android.R; 4 | import com.github.kolandroid.kol.model.models.inventory.InventoryModel; 5 | 6 | public class InventoryController extends ItemStorageController { 7 | public InventoryController(InventoryModel model) { 8 | super(model, R.color.inventory_header); 9 | } 10 | 11 | @Override 12 | public Class getUpdateType() { 13 | return InventoryModel.class; 14 | } 15 | } 16 | -------------------------------------------------------------------------------- /app/src/main/res/layout/chat_message_view.xml: -------------------------------------------------------------------------------- 1 | 2 | 14 | -------------------------------------------------------------------------------- /app/src/main/java/com/github/kolandroid/kol/android/screen/ScreenSelection.java: -------------------------------------------------------------------------------- 1 | package com.github.kolandroid.kol.android.screen; 2 | 3 | import com.github.kolandroid.kol.android.controller.Controller; 4 | import com.github.kolandroid.kol.android.controller.UpdateController; 5 | 6 | public interface ScreenSelection { 7 | void displayExternal(Controller c); 8 | 9 | void displayExternalDialog(Controller c, boolean cancellable); 10 | 11 | void displayPrimary(Controller c); 12 | 13 | void displayPrimaryUpdate(UpdateController c, boolean displayIfUnable); 14 | 15 | void displayDialog(Controller c); 16 | 17 | void displayChat(Controller c); 18 | } 19 | -------------------------------------------------------------------------------- /app/src/main/java/com/github/kolandroid/kol/android/util/searchlist/ActionSelector.java: -------------------------------------------------------------------------------- 1 | package com.github.kolandroid.kol.android.util.searchlist; 2 | 3 | import com.github.kolandroid.kol.android.screen.Screen; 4 | import com.github.kolandroid.kol.model.elements.ActionElement; 5 | 6 | import java.io.Serializable; 7 | 8 | public class ActionSelector implements ListSelector, Serializable { 9 | /** 10 | * Autogenerated by eclipse. 11 | */ 12 | private static final long serialVersionUID = 3463753434332L; 13 | 14 | @Override 15 | public boolean selectItem(Screen list, E item) { 16 | item.submit(list.getViewContext()); 17 | return true; 18 | } 19 | } -------------------------------------------------------------------------------- /kol_base/src/main/java/com/github/kolandroid/kol/model/models/chat/stubs/ChannelStubModel.java: -------------------------------------------------------------------------------- 1 | package com.github.kolandroid.kol.model.models.chat.stubs; 2 | 3 | import com.github.kolandroid.kol.model.models.chat.ChatModel; 4 | import com.github.kolandroid.kol.util.Callback; 5 | 6 | public class ChannelStubModel extends ChatStubModel { 7 | private final String channel; 8 | private transient Callback partialChatCallback; 9 | 10 | public ChannelStubModel(ChatModel base, String channel) { 11 | super(base); 12 | this.channel = channel; 13 | } 14 | 15 | @Override 16 | public void triggerFill() { 17 | submitCommand(new ChatModelCommand.RequestChannelDuplication(channel)); 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /app/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 C:\Users\Jeffrey\AppData\Local\Android\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 | -------------------------------------------------------------------------------- /app/src/main/res/values/dialogstyle.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 7 | 8 | 12 | 13 | 18 | -------------------------------------------------------------------------------- /kol_base/src/main/java/com/github/kolandroid/kol/session/data/CharacterBasicData.java: -------------------------------------------------------------------------------- 1 | package com.github.kolandroid.kol.session.data; 2 | 3 | import java.io.Serializable; 4 | 5 | public interface CharacterBasicData extends Serializable { 6 | String getPwdHash(); 7 | 8 | int getCurrentHP(); 9 | 10 | int getCurrentMP(); 11 | 12 | int getMaxHP(); 13 | 14 | int getMaxMP(); 15 | 16 | int getMeat(); 17 | 18 | int getAdventures(); 19 | 20 | int getBaseMuscle(); 21 | 22 | int getBuffedMuscle(); 23 | 24 | int getBaseMyst(); 25 | 26 | int getBuffedMyst(); 27 | 28 | int getBaseMoxie(); 29 | 30 | int getBuffedMoxie(); 31 | 32 | String getName(); 33 | 34 | String getTitle(); 35 | 36 | String getAvatar(); 37 | } 38 | -------------------------------------------------------------------------------- /.idea/compiler.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | -------------------------------------------------------------------------------- /app/src/main/java/com/github/kolandroid/kol/android/util/BasicLatchedCallback.java: -------------------------------------------------------------------------------- 1 | package com.github.kolandroid.kol.android.util; 2 | 3 | public abstract class BasicLatchedCallback implements LatchedCallback { 4 | private boolean closed = false; 5 | 6 | @Override 7 | public boolean isClosed() { 8 | return closed; 9 | } 10 | 11 | @Override 12 | public void close() { 13 | closed = true; 14 | } 15 | 16 | @Override 17 | public final void execute(E item) { 18 | if (!closed) { 19 | receiveProgress(item); 20 | } 21 | } 22 | 23 | protected abstract void receiveProgress(E message); 24 | 25 | @Override 26 | public LatchedCallback weak() { 27 | return new WeakLatchedCallback<>(this); 28 | } 29 | } 30 | -------------------------------------------------------------------------------- /kol_base/src/main/java/com/github/kolandroid/kol/model/models/inventory/pockets/HagnkPocketModel.java: -------------------------------------------------------------------------------- 1 | package com.github.kolandroid.kol.model.models.inventory.pockets; 2 | 3 | import com.github.kolandroid.kol.connection.ServerReply; 4 | import com.github.kolandroid.kol.session.Session; 5 | 6 | public class HagnkPocketModel extends ItemPocketModel { 7 | public HagnkPocketModel(String name, Session s, String updateUrl) { 8 | super(name, s, updateUrl); 9 | } 10 | 11 | @Override 12 | protected void loadContent(ServerReply reply) { 13 | String html = reply.html; 14 | html = html.replace("[one]", "[take]"); 15 | html = html.replace("[some]", "[take some]"); 16 | html = html.replace("[all]", "[take all]"); 17 | super.loadContent(new ServerReply(reply, html)); 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /.idea/gradle.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 19 | 20 | -------------------------------------------------------------------------------- /kol_base/src/main/java/com/github/kolandroid/kol/request/ResponseHandler.java: -------------------------------------------------------------------------------- 1 | package com.github.kolandroid.kol.request; 2 | 3 | import com.github.kolandroid.kol.connection.ServerReply; 4 | import com.github.kolandroid.kol.session.Session; 5 | 6 | /** 7 | * A callback used to process server responses to game requests. 8 | */ 9 | public interface ResponseHandler { 10 | ResponseHandler NONE = new ResponseHandler() { 11 | @Override 12 | public void handle(Session session, ServerReply response) { 13 | 14 | } 15 | }; 16 | 17 | /** 18 | * Process a new reply from the server. 19 | * 20 | * @param session The session used when making the request. 21 | * @param response The response received from the server. 22 | */ 23 | void handle(Session session, ServerReply response); 24 | } 25 | -------------------------------------------------------------------------------- /app/src/main/res/layout/sidebar_view.xml: -------------------------------------------------------------------------------- 1 | 8 | 9 | 13 | 14 | 18 | -------------------------------------------------------------------------------- /app/src/main/res/values/themes.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 15 | -------------------------------------------------------------------------------- /app/src/main/res/layout/choice_view.xml: -------------------------------------------------------------------------------- 1 | 8 | 9 | 10 | 15 | 16 | 21 | 22 | -------------------------------------------------------------------------------- /app/src/main/res/layout/search_list_view.xml: -------------------------------------------------------------------------------- 1 | 8 | 9 | 16 | 17 | 21 | 22 | -------------------------------------------------------------------------------- /gradle.properties: -------------------------------------------------------------------------------- 1 | # Project-wide Gradle settings. 2 | 3 | # IDE (e.g. Android Studio) users: 4 | # Gradle settings configured through the IDE *will override* 5 | # any settings specified in this file. 6 | 7 | # For more details on how to configure your build environment visit 8 | # http://www.gradle.org/docs/current/userguide/build_environment.html 9 | 10 | # Specifies the JVM arguments used for the daemon process. 11 | # The setting is particularly useful for tweaking memory settings. 12 | # Default value: -Xmx10248m -XX:MaxPermSize=256m 13 | # org.gradle.jvmargs=-Xmx2048m -XX:MaxPermSize=512m -XX:+HeapDumpOnOutOfMemoryError -Dfile.encoding=UTF-8 14 | 15 | # When configured, Gradle will run in incubating parallel mode. 16 | # This option should only be used with decoupled projects. More details, visit 17 | # http://www.gradle.org/docs/current/userguide/multi_project_builds.html#sec:decoupled_projects 18 | # org.gradle.parallel=true -------------------------------------------------------------------------------- /app/src/main/res/layout/generic_header_view.xml: -------------------------------------------------------------------------------- 1 | 2 | 12 | 13 | 21 | 22 | 23 | -------------------------------------------------------------------------------- /app/src/main/res/layout/chat_submission_view.xml: -------------------------------------------------------------------------------- 1 | 8 | 9 | 16 | 17 |