├── .gitignore ├── LICENSE ├── androidadapter ├── .gitignore ├── .idea │ ├── compiler.xml │ ├── copyright │ │ └── profiles_settings.xml │ ├── gradle.xml │ ├── misc.xml │ ├── modules.xml │ ├── runConfigurations.xml │ └── vcs.xml ├── app │ ├── .gitignore │ ├── build.gradle │ ├── proguard-rules.pro │ └── src │ │ ├── androidTest │ │ └── java │ │ │ └── com │ │ │ └── jam01 │ │ │ └── littlelight │ │ │ └── ApplicationTest.java │ │ ├── main │ │ ├── AndroidManifest.xml │ │ ├── ic_launcher-web.png │ │ ├── java │ │ │ └── com │ │ │ │ └── jam01 │ │ │ │ └── littlelight │ │ │ │ └── adapter │ │ │ │ └── android │ │ │ │ ├── LittleLight.java │ │ │ │ ├── di │ │ │ │ └── module │ │ │ │ │ ├── AdapterModule.java │ │ │ │ │ ├── AndroidModule.java │ │ │ │ │ ├── ApplicationModule.java │ │ │ │ │ └── DomainModule.java │ │ │ │ ├── persistence │ │ │ │ └── identityaccess │ │ │ │ │ └── DiskUser.java │ │ │ │ ├── presentation │ │ │ │ ├── BaseGenericFragment.java │ │ │ │ ├── activity │ │ │ │ │ ├── ActivityAdapter.java │ │ │ │ │ ├── ActivityFragment.java │ │ │ │ │ └── ActivityPresenter.java │ │ │ │ ├── exotics │ │ │ │ │ ├── ExoticsFragment.java │ │ │ │ │ ├── ExoticsPresenter.java │ │ │ │ │ └── ItemTypeAdapter.java │ │ │ │ ├── inventory │ │ │ │ │ ├── InventoryFragment.java │ │ │ │ │ ├── InventoryPresenter.java │ │ │ │ │ ├── ItemAdapter.java │ │ │ │ │ ├── ItemBagDestination.java │ │ │ │ │ ├── ItemBagDestinationAdapter.java │ │ │ │ │ ├── ItemBagView.java │ │ │ │ │ └── ItemBagViewPagerAdapter.java │ │ │ │ ├── legend │ │ │ │ │ ├── LegendFragment.java │ │ │ │ │ └── LegendPresenter.java │ │ │ │ └── user │ │ │ │ │ ├── AccountsAdapter.java │ │ │ │ │ ├── CircleTransform.java │ │ │ │ │ ├── SignInActivity.java │ │ │ │ │ ├── SignInFragment.java │ │ │ │ │ ├── UserActivity.java │ │ │ │ │ └── UserPresenter.java │ │ │ │ ├── service │ │ │ │ ├── common │ │ │ │ │ └── RetrofitDestinyApiFacade.java │ │ │ │ ├── inventory │ │ │ │ │ ├── ACLInventoryService.java │ │ │ │ │ ├── AndroidLocalDefitionsDbService.java │ │ │ │ │ └── LocalItemDefinitionDbProvider.java │ │ │ │ └── legend │ │ │ │ │ ├── DestinyLegendAdapter.java │ │ │ │ │ └── LegendAdapter.java │ │ │ │ └── utils │ │ │ │ ├── CheckableRelativeLayout.java │ │ │ │ ├── IllegalNetworkStateException.java │ │ │ │ ├── ItemClickSupport.java │ │ │ │ ├── NonScrollableListView.java │ │ │ │ ├── SelectableAdapter.java │ │ │ │ └── SelectableSectionedRecyclerViewAdapter.java │ │ └── res │ │ │ ├── drawable-v21 │ │ │ └── ic_menu_gallery.xml │ │ │ ├── drawable │ │ │ ├── discipline.png │ │ │ ├── grey_activities.png │ │ │ ├── grey_inventory.png │ │ │ ├── grey_legend.png │ │ │ ├── horizontal_progress.xml │ │ │ ├── ic_add_black_24dp.xml │ │ │ ├── ic_add_white_24dp.xml │ │ │ ├── ic_delete_white_24dp.xml │ │ │ ├── ic_filter_list_black_24dp.xml │ │ │ ├── ic_filter_list_white_24dp.xml │ │ │ ├── ic_remove_black_24dp.xml │ │ │ ├── ic_remove_white_24dp.xml │ │ │ ├── ic_send_white_24dp.xml │ │ │ ├── intellect.png │ │ │ ├── light.png │ │ │ ├── nav_header.png │ │ │ ├── side_nav_bar.xml │ │ │ ├── strength.png │ │ │ └── vault.png │ │ │ ├── layout │ │ │ ├── activity_main.xml │ │ │ ├── app_bar_main.xml │ │ │ ├── content_frame.xml │ │ │ ├── dialog_filter.xml │ │ │ ├── dialog_item_details.xml │ │ │ ├── fragment_generic.xml │ │ │ ├── nav_header_main.xml │ │ │ ├── view_account_row.xml │ │ │ ├── view_activity_tile.xml │ │ │ ├── view_item_header_row.xml │ │ │ ├── view_item_tile.xml │ │ │ ├── view_itembagdestination_row.xml │ │ │ ├── view_legend.xml │ │ │ └── view_tablayout_tab.xml │ │ │ ├── menu │ │ │ ├── activity_user_drawer.xml │ │ │ ├── main.xml │ │ │ ├── menu_inventory.xml │ │ │ └── menu_inventory_overlay.xml │ │ │ ├── mipmap-hdpi │ │ │ └── ic_launcher.png │ │ │ ├── mipmap-mdpi │ │ │ └── ic_launcher.png │ │ │ ├── mipmap-xhdpi │ │ │ └── ic_launcher.png │ │ │ ├── mipmap-xxhdpi │ │ │ └── ic_launcher.png │ │ │ ├── mipmap-xxxhdpi │ │ │ └── ic_launcher.png │ │ │ ├── values-v21 │ │ │ └── styles.xml │ │ │ ├── values-w820dp │ │ │ └── dimens.xml │ │ │ └── values │ │ │ ├── colors.xml │ │ │ ├── dimens.xml │ │ │ ├── drawables.xml │ │ │ ├── ids.xml │ │ │ ├── strings.xml │ │ │ ├── styles.xml │ │ │ └── values.xml │ │ └── test │ │ └── java │ │ └── com │ │ └── jam01 │ │ └── littlelight │ │ └── ExampleUnitTest.java ├── build.gradle ├── gradle.properties ├── gradle │ └── wrapper │ │ ├── gradle-wrapper.jar │ │ └── gradle-wrapper.properties ├── gradlew ├── gradlew.bat └── settings.gradle ├── littlelight ├── .gitignore ├── build.gradle ├── littlelight.iml └── src │ └── main │ └── java │ └── com │ ├── bungie │ └── netplatform │ │ └── destiny │ │ ├── api │ │ ├── DestinyApi.java │ │ ├── EquipCommand.java │ │ └── TransferCommand.java │ │ └── representation │ │ ├── Account.java │ │ ├── AckState.java │ │ ├── ActiveRewardIndexes.java │ │ ├── Activities.java │ │ ├── ActivityAdvisors.java │ │ ├── Advisors.java │ │ ├── Arena.java │ │ ├── ArtRegions.java │ │ ├── Available.java │ │ ├── BonusRank.java │ │ ├── Bonuse.java │ │ ├── Bounties.java │ │ ├── Bounties_.java │ │ ├── Buckets.java │ │ ├── Buff.java │ │ ├── BungieResponse.java │ │ ├── Character.java │ │ ├── CharacterBase.java │ │ ├── CharacterComplete.java │ │ ├── CharacterInventory.java │ │ ├── Context.java │ │ ├── Cost.java │ │ ├── Currencies.java │ │ ├── Currency.java │ │ ├── Currency_.java │ │ ├── CustomDye.java │ │ ├── CustomDyeExpression.java │ │ ├── Customization.java │ │ ├── DailyChapterActivities.java │ │ ├── DailyCrucible.java │ │ ├── DataAdvisors.java │ │ ├── DataResponse.java │ │ ├── DirectorNodeStates.java │ │ ├── Dye.java │ │ ├── EarnedCurrency.java │ │ ├── ElderChallenge.java │ │ ├── Endpoints.java │ │ ├── Equipment.java │ │ ├── Equippable.java │ │ ├── EquippingBlock.java │ │ ├── Event.java │ │ ├── Factions.java │ │ ├── Globals.java │ │ ├── HeroicStrike.java │ │ ├── IgnoreStatus.java │ │ ├── Inventory.java │ │ ├── Invisible.java │ │ ├── Item.java │ │ ├── ItemDefinition.java │ │ ├── ItemInstance.java │ │ ├── ItemQuantities.java │ │ ├── LevelProgression.java │ │ ├── LockedDye.java │ │ ├── MaterialUpgrades.java │ │ ├── MessageData.java │ │ ├── Nightfall.java │ │ ├── Node.java │ │ ├── Objective.java │ │ ├── PeerView.java │ │ ├── PendingBounties.java │ │ ├── Perk.java │ │ ├── PrimaryStat.java │ │ ├── Progression.java │ │ ├── Progressions.java │ │ ├── Quest.java │ │ ├── Quests.java │ │ ├── Quests_.java │ │ ├── RaidActivities.java │ │ ├── Rect.java │ │ ├── Response.java │ │ ├── RewardClaimSales.java │ │ ├── Round.java │ │ ├── STAT_AGILITY.java │ │ ├── STAT_ARMOR.java │ │ ├── STAT_DEFENSE.java │ │ ├── STAT_DISCIPLINE.java │ │ ├── STAT_INTELLECT.java │ │ ├── STAT_LIGHT.java │ │ ├── STAT_OPTICS.java │ │ ├── STAT_RECOVERY.java │ │ ├── STAT_STRENGTH.java │ │ ├── SaleItem.java │ │ ├── SaleItemCategory.java │ │ ├── SheetSize.java │ │ ├── SmallImage.java │ │ ├── Stat.java │ │ ├── Stats.java │ │ ├── Stats__.java │ │ ├── Step.java │ │ ├── StepObjective.java │ │ ├── Ticket.java │ │ ├── Tier.java │ │ ├── Trials.java │ │ ├── UnlockStatus.java │ │ ├── User.java │ │ ├── UserResponse.java │ │ ├── Values.java │ │ ├── Vault.java │ │ ├── Vendor.java │ │ └── VendorAdvisors.java │ └── jam01 │ └── littlelight │ ├── adapter │ └── common │ │ ├── persistence │ │ ├── inventory │ │ │ └── InMemoryInventoryRepository.java │ │ └── legend │ │ │ └── InMemoryLegendRepository.java │ │ ├── presentation │ │ ├── ActivitiesDPO.java │ │ ├── ExoticsDPO.java │ │ └── InventoryDPO.java │ │ └── service │ │ ├── BungieResponseException.java │ │ ├── BungieResponseValidator.java │ │ ├── activity │ │ ├── ACLActivityService.java │ │ └── ActivityTranslator.java │ │ ├── identityaccess │ │ └── ACLAccountService.java │ │ ├── inventory │ │ ├── ItemBagTranslator.java │ │ └── LocalDefinitionsDbService.java │ │ └── legend │ │ ├── ACLLegendService.java │ │ └── LegendTranslator.java │ ├── application │ ├── ActivityService.java │ ├── InventoryService.java │ ├── LegendService.java │ └── UserService.java │ └── domain │ ├── DomainEvent.java │ ├── DomainEventPublisher.java │ ├── activity │ ├── Account.java │ ├── Activity.java │ ├── Character.java │ └── DestinyActivityService.java │ ├── identityaccess │ ├── Account.java │ ├── AccountCredentials.java │ ├── AccountCredentialsExpired.java │ ├── AccountId.java │ ├── AccountRegistered.java │ ├── AccountUpdated.java │ ├── DestinyAccountService.java │ └── User.java │ ├── inventory │ ├── Character.java │ ├── DestinyInventoryService.java │ ├── Inventory.java │ ├── InventoryRepository.java │ ├── InventorySynced.java │ ├── Item.java │ ├── ItemBag.java │ ├── ItemEquipped.java │ ├── ItemTransferred.java │ ├── ItemType.java │ └── Vault.java │ └── legend │ ├── Character.java │ ├── DestinyLegendService.java │ ├── Legend.java │ ├── LegendRepository.java │ └── LegendSynced.java ├── readme.md └── readmeFiles ├── installs.png ├── listing.png ├── ratings.png └── report.png /.gitignore: -------------------------------------------------------------------------------- 1 | /.project 2 | -------------------------------------------------------------------------------- /androidadapter/.gitignore: -------------------------------------------------------------------------------- 1 | *.iml 2 | .gradle 3 | /local.properties 4 | /.idea/workspace.xml 5 | /.idea/libraries 6 | .DS_Store 7 | /build 8 | /captures 9 | -------------------------------------------------------------------------------- /androidadapter/.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 | -------------------------------------------------------------------------------- /androidadapter/.idea/copyright/profiles_settings.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | -------------------------------------------------------------------------------- /androidadapter/.idea/gradle.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 18 | 19 | -------------------------------------------------------------------------------- /androidadapter/.idea/misc.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 19 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | 41 | 42 | 43 | 44 | 46 | -------------------------------------------------------------------------------- /androidadapter/.idea/modules.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | -------------------------------------------------------------------------------- /androidadapter/.idea/runConfigurations.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 11 | 12 | -------------------------------------------------------------------------------- /androidadapter/.idea/vcs.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /androidadapter/app/.gitignore: -------------------------------------------------------------------------------- 1 | /build 2 | -------------------------------------------------------------------------------- /androidadapter/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 /media/jam01/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 | -dontobfuscate 13 | 14 | -renamesourcefileattribute SourceFile 15 | -keepattributes SourceFile,LineNumberTable 16 | 17 | ###---------------Begin: proguard configuration for Gson ---------- 18 | # Gson uses generic type information stored in a class file when working with fields. Proguard 19 | # removes such information by default, so configure it to keep all of it. 20 | -keepattributes Signature 21 | 22 | # For using GSON @Expose annotation 23 | -keepattributes *Annotation* 24 | 25 | # Gson specific classes 26 | -keep class sun.misc.Unsafe { *; } 27 | #-keep class com.google.gson.stream.** { *; } 28 | 29 | # Application classes that will be serialized/deserialized over Gson 30 | -keep class com.bungie.netplatform.destiny.** { *; } 31 | 32 | # Prevent proguard from stripping interface information from TypeAdapterFactory, 33 | # JsonSerializer, JsonDeserializer instances (so they can be used in @JsonAdapter) 34 | -keep class * implements com.google.gson.TypeAdapterFactory 35 | -keep class * implements com.google.gson.JsonSerializer 36 | -keep class * implements com.google.gson.JsonDeserializer 37 | ##---------------End: proguard configuration for Gson ---------- 38 | 39 | # If your project uses WebView with JS, uncomment the following 40 | # and specify the fully qualified class name to the JavaScript interface 41 | # class: 42 | #-keepclassmembers class fqcn.of.javascript.interface.for.webview { 43 | # public *; 44 | #} 45 | -------------------------------------------------------------------------------- /androidadapter/app/src/androidTest/java/com/jam01/littlelight/ApplicationTest.java: -------------------------------------------------------------------------------- 1 | package com.jam01.littlelight; 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 | } -------------------------------------------------------------------------------- /androidadapter/app/src/main/AndroidManifest.xml: -------------------------------------------------------------------------------- 1 | 2 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | -------------------------------------------------------------------------------- /androidadapter/app/src/main/ic_launcher-web.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jam01/LittleLight/dc90e7d6bf3e71333370c1adf4de54ff88f34192/androidadapter/app/src/main/ic_launcher-web.png -------------------------------------------------------------------------------- /androidadapter/app/src/main/java/com/jam01/littlelight/adapter/android/LittleLight.java: -------------------------------------------------------------------------------- 1 | package com.jam01.littlelight.adapter.android; 2 | 3 | import android.app.Application; 4 | 5 | import com.jam01.littlelight.adapter.android.di.module.AdapterModule; 6 | import com.jam01.littlelight.adapter.android.di.module.AndroidModule; 7 | import com.jam01.littlelight.adapter.android.di.module.ApplicationModule; 8 | import com.jam01.littlelight.adapter.android.di.module.DomainModule; 9 | import com.jam01.littlelight.adapter.android.presentation.activity.ActivityPresenter; 10 | import com.jam01.littlelight.adapter.android.presentation.inventory.ExoticsPresenter; 11 | import com.jam01.littlelight.adapter.android.presentation.inventory.InventoryPresenter; 12 | import com.jam01.littlelight.adapter.android.presentation.legend.LegendPresenter; 13 | import com.jam01.littlelight.adapter.android.presentation.user.UserPresenter; 14 | import com.squareup.picasso.Picasso; 15 | 16 | import javax.inject.Singleton; 17 | 18 | import dagger.Component; 19 | 20 | /** 21 | * Created by jam01 on 9/24/16. 22 | */ 23 | public class LittleLight extends Application { 24 | private LittleLightComponent component; 25 | 26 | @Override 27 | public void onCreate() { 28 | super.onCreate(); 29 | component = DaggerLittleLight_LittleLightComponent.builder() 30 | .androidModule(new AndroidModule(this)) 31 | .adapterModule(new AdapterModule("https://www.bungie.net")) 32 | .build(); 33 | 34 | Picasso.setSingletonInstance(component.providePicasso()); 35 | } 36 | 37 | public LittleLightComponent getComponent() { 38 | return component; 39 | } 40 | 41 | @Singleton 42 | @Component(modules = {AndroidModule.class, AdapterModule.class, ApplicationModule.class, DomainModule.class}) 43 | public interface LittleLightComponent { 44 | UserPresenter provideMainPresenter(); 45 | 46 | InventoryPresenter provideInventoryPresenter(); 47 | 48 | LegendPresenter provideLegendPresenter(); 49 | 50 | ExoticsPresenter provideExoticsPresenter(); 51 | 52 | ActivityPresenter provideActivityPresenter(); 53 | 54 | Picasso providePicasso(); 55 | } 56 | 57 | 58 | } 59 | -------------------------------------------------------------------------------- /androidadapter/app/src/main/java/com/jam01/littlelight/adapter/android/di/module/AndroidModule.java: -------------------------------------------------------------------------------- 1 | package com.jam01.littlelight.adapter.android.di.module; 2 | 3 | import android.app.Application; 4 | import android.content.Context; 5 | 6 | import javax.inject.Singleton; 7 | 8 | import dagger.Module; 9 | import dagger.Provides; 10 | 11 | /** 12 | * Created by jam01 on 9/24/16. 13 | */ 14 | 15 | @Module 16 | public class AndroidModule { 17 | Application mApplication; 18 | 19 | public AndroidModule(Application application) { 20 | mApplication = application; 21 | } 22 | 23 | @Provides 24 | @Singleton 25 | Context providesContext() { 26 | return mApplication; 27 | } 28 | } 29 | -------------------------------------------------------------------------------- /androidadapter/app/src/main/java/com/jam01/littlelight/adapter/android/di/module/ApplicationModule.java: -------------------------------------------------------------------------------- 1 | package com.jam01.littlelight.adapter.android.di.module; 2 | 3 | import com.jam01.littlelight.application.ActivityService; 4 | import com.jam01.littlelight.application.InventoryService; 5 | import com.jam01.littlelight.application.LegendService; 6 | import com.jam01.littlelight.application.UserService; 7 | import com.jam01.littlelight.domain.activity.DestinyActivityService; 8 | import com.jam01.littlelight.domain.identityaccess.DestinyAccountService; 9 | import com.jam01.littlelight.domain.identityaccess.User; 10 | import com.jam01.littlelight.domain.inventory.DestinyInventoryService; 11 | import com.jam01.littlelight.domain.inventory.InventoryRepository; 12 | import com.jam01.littlelight.domain.legend.DestinyLegendService; 13 | import com.jam01.littlelight.domain.legend.LegendRepository; 14 | 15 | import javax.inject.Singleton; 16 | 17 | import dagger.Module; 18 | import dagger.Provides; 19 | 20 | /** 21 | * Created by jam01 on 9/24/16. 22 | */ 23 | 24 | @Module 25 | public class ApplicationModule { 26 | @Provides 27 | @Singleton 28 | UserService providesUserService(DestinyAccountService destinyService, User user) { 29 | return new UserService(destinyService, user); 30 | } 31 | 32 | @Provides 33 | @Singleton 34 | InventoryService providesInventoryService(DestinyInventoryService destinyService, InventoryRepository inventoryRepo, User user) { 35 | return new InventoryService(destinyService, inventoryRepo, user); 36 | } 37 | 38 | @Provides 39 | @Singleton 40 | LegendService providesLegendService(DestinyLegendService destinyService, LegendRepository inventoryRepo, User user) { 41 | return new LegendService(destinyService, inventoryRepo, user); 42 | } 43 | 44 | @Provides 45 | @Singleton 46 | ActivityService providesActivityService(DestinyActivityService destinyService, User user) { 47 | return new ActivityService(destinyService, user); 48 | } 49 | } 50 | -------------------------------------------------------------------------------- /androidadapter/app/src/main/java/com/jam01/littlelight/adapter/android/presentation/BaseGenericFragment.java: -------------------------------------------------------------------------------- 1 | package com.jam01.littlelight.adapter.android.presentation; 2 | 3 | /** 4 | * Created by jam01 on 11/15/16. 5 | */ 6 | 7 | public class BaseGenericFragment { 8 | } 9 | -------------------------------------------------------------------------------- /androidadapter/app/src/main/java/com/jam01/littlelight/adapter/android/presentation/inventory/ItemBagDestination.java: -------------------------------------------------------------------------------- 1 | package com.jam01.littlelight.adapter.android.presentation.inventory; 2 | 3 | /** 4 | * Created by jam01 on 11/15/16. 5 | */ 6 | public class ItemBagDestination { 7 | public String name; 8 | public String iconPath; 9 | public String emblemPath; 10 | public String itemBagId; 11 | 12 | public ItemBagDestination(String name, String iconPath, String emblemPath, String itemBagId) { 13 | this.name = name; 14 | this.iconPath = iconPath; 15 | this.emblemPath = emblemPath; 16 | this.itemBagId = itemBagId; 17 | } 18 | 19 | 20 | public ItemBagDestination(String name, String iconPath, String emblemPath) { 21 | this.name = name; 22 | this.iconPath = iconPath; 23 | this.emblemPath = emblemPath; 24 | } 25 | } 26 | -------------------------------------------------------------------------------- /androidadapter/app/src/main/java/com/jam01/littlelight/adapter/android/presentation/inventory/ItemBagDestinationAdapter.java: -------------------------------------------------------------------------------- 1 | package com.jam01.littlelight.adapter.android.presentation.inventory; 2 | 3 | import android.content.Context; 4 | import android.graphics.Bitmap; 5 | import android.graphics.drawable.BitmapDrawable; 6 | import android.graphics.drawable.Drawable; 7 | import android.support.annotation.NonNull; 8 | import android.view.LayoutInflater; 9 | import android.view.View; 10 | import android.view.ViewGroup; 11 | import android.widget.ArrayAdapter; 12 | import android.widget.ImageView; 13 | import android.widget.TextView; 14 | 15 | import com.jam01.littlelight.R; 16 | import com.squareup.picasso.Picasso; 17 | import com.squareup.picasso.Target; 18 | 19 | import java.util.List; 20 | 21 | /** 22 | * Created by jam01 on 11/15/16. 23 | */ 24 | 25 | public class ItemBagDestinationAdapter extends ArrayAdapter { 26 | private final List accounts; 27 | private final Context mContext; 28 | 29 | public ItemBagDestinationAdapter(Context context, int resource, List objects) { 30 | super(context, resource, objects); 31 | this.accounts = objects; 32 | mContext = context; 33 | } 34 | 35 | 36 | @NonNull 37 | @Override 38 | public View getView(int position, View convertView, ViewGroup parent) { 39 | ItemBagDestination toDraw = accounts.get(position); 40 | final View toReturn = LayoutInflater.from(mContext).inflate(R.layout.view_itembagdestination_row, parent, false); 41 | ((TextView) toReturn.findViewById(R.id.tvItemBagName)).setText(toDraw.name); 42 | Picasso.with(mContext) 43 | .load(toDraw.iconPath) 44 | .placeholder(R.drawable.vault) 45 | .fit() 46 | .into((ImageView) toReturn.findViewById(R.id.ivItemBagIcon)); 47 | Picasso.with(mContext) 48 | .load(toDraw.emblemPath) 49 | .into(new Target() { 50 | @Override 51 | public void onBitmapLoaded(Bitmap bitmap, Picasso.LoadedFrom from) { 52 | toReturn.setBackgroundDrawable(new BitmapDrawable(mContext.getResources(), bitmap)); 53 | } 54 | 55 | @Override 56 | public void onBitmapFailed(Drawable errorDrawable) { 57 | 58 | } 59 | 60 | @Override 61 | public void onPrepareLoad(Drawable placeHolderDrawable) { 62 | 63 | } 64 | }); 65 | return toReturn; 66 | } 67 | 68 | } -------------------------------------------------------------------------------- /androidadapter/app/src/main/java/com/jam01/littlelight/adapter/android/presentation/inventory/ItemBagViewPagerAdapter.java: -------------------------------------------------------------------------------- 1 | package com.jam01.littlelight.adapter.android.presentation.inventory; 2 | 3 | import android.support.v4.view.PagerAdapter; 4 | import android.view.View; 5 | import android.view.ViewGroup; 6 | 7 | import java.util.ArrayList; 8 | import java.util.List; 9 | 10 | /** 11 | * Created by jam01 on 11/15/16. 12 | */ 13 | class ItemBagViewPagerAdapter extends PagerAdapter { 14 | private List bagViews; 15 | 16 | public ItemBagViewPagerAdapter(List bagViews) { 17 | this.bagViews = bagViews; 18 | } 19 | 20 | public ItemBagViewPagerAdapter() { 21 | this.bagViews = new ArrayList<>(); 22 | } 23 | 24 | @Override 25 | public int getCount() { 26 | return bagViews.size(); 27 | } 28 | 29 | @Override 30 | public Object instantiateItem(ViewGroup container, int position) { 31 | ItemBagView itemBagView = bagViews.get(position); 32 | container.addView(itemBagView); 33 | return itemBagView; 34 | } 35 | 36 | @Override 37 | public boolean isViewFromObject(View view, Object object) { 38 | return view == object; 39 | } 40 | 41 | @Override 42 | public void destroyItem(ViewGroup collection, int position, Object view) { 43 | collection.removeView((View) view); 44 | } 45 | } 46 | -------------------------------------------------------------------------------- /androidadapter/app/src/main/java/com/jam01/littlelight/adapter/android/presentation/user/CircleTransform.java: -------------------------------------------------------------------------------- 1 | package com.jam01.littlelight.adapter.android.presentation.user; 2 | 3 | import android.graphics.Bitmap; 4 | import android.graphics.BitmapShader; 5 | import android.graphics.Canvas; 6 | import android.graphics.Paint; 7 | 8 | import com.squareup.picasso.Transformation; 9 | 10 | // enables hardware accelerated rounded corners 11 | // original idea here : http://www.curious-creature.org/2012/12/11/android-recipe-1-image-with-rounded-corners/ 12 | 13 | // See: http://stackoverflow.com/a/26112408/4814697 14 | public class CircleTransform implements Transformation { 15 | @Override 16 | public Bitmap transform(Bitmap source) { 17 | int size = Math.min(source.getWidth(), source.getHeight()); 18 | 19 | int x = (source.getWidth() - size) / 2; 20 | int y = (source.getHeight() - size) / 2; 21 | 22 | Bitmap squaredBitmap = Bitmap.createBitmap(source, x, y, size, size); 23 | if (squaredBitmap != source) { 24 | source.recycle(); 25 | } 26 | 27 | Bitmap bitmap = Bitmap.createBitmap(size, size, source.getConfig()); 28 | 29 | Canvas canvas = new Canvas(bitmap); 30 | Paint paint = new Paint(); 31 | BitmapShader shader = new BitmapShader(squaredBitmap, 32 | BitmapShader.TileMode.CLAMP, BitmapShader.TileMode.CLAMP); 33 | paint.setShader(shader); 34 | paint.setAntiAlias(true); 35 | 36 | float r = size / 2f; 37 | canvas.drawCircle(r, r, r, paint); 38 | 39 | squaredBitmap.recycle(); 40 | return bitmap; 41 | } 42 | 43 | @Override 44 | public String key() { 45 | return "circle"; 46 | } 47 | } -------------------------------------------------------------------------------- /androidadapter/app/src/main/java/com/jam01/littlelight/adapter/android/service/legend/DestinyLegendAdapter.java: -------------------------------------------------------------------------------- 1 | //package com.jam01.littlelight.adapter.android.service.legend.service; 2 | // 3 | //import com.jam01.littlelight.domain.identityaccess.AccountId; 4 | //import com.jam01.littlelight.domain.legend.Legend; 5 | // 6 | //; 7 | // 8 | ///** 9 | // * Created by jam01 on 7/30/16. 10 | // */ 11 | //public interface DestinyLegendAdapter { 12 | // Legend ofId(AccountId anAccountId); 13 | //} 14 | -------------------------------------------------------------------------------- /androidadapter/app/src/main/java/com/jam01/littlelight/adapter/android/service/legend/LegendAdapter.java: -------------------------------------------------------------------------------- 1 | //package com.jam01.littlelight.adapter.android.service.legend.service; 2 | // 3 | // 4 | //import com.bungie.netplatform.destiny.api.DestinyApi; 5 | //import com.bungie.netplatform.destiny.representation.Account; 6 | //import com.bungie.netplatform.destiny.representation.User; 7 | //import com.jam01.littlelight.adapter.android.service.common.RetrofitDestinyApiFacade; 8 | //import com.jam01.littlelight.domain.identityaccess.AccountId; 9 | //import com.jam01.littlelight.domain.identityaccess.CredentialsService; 10 | //import com.jam01.littlelight.domain.legend.Legend; 11 | // 12 | ///** 13 | // * Created by jam01 on 7/30/16. 14 | // */ 15 | //public class LegendAdapter implements DestinyLegendAdapter { 16 | // private CredentialsService credentialsService; 17 | // private DestinyApi apiFacade = RetrofitDestinyApiFacade.getInstance(); 18 | // 19 | // @Override 20 | // public Legend ofId(AccountId aAccountId) { 21 | // LegendTranslator translator = new LegendTranslator(); 22 | // 23 | // Account bungieAccount = apiFacade.getAccount(String.valueOf(aAccountId.withMembershipType()), 24 | // aAccountId.withMembershipId(), 25 | // credentialsService.ofLegend(aAccountId).asCookieVal(), 26 | // credentialsService.ofLegend(aAccountId).xcsrf()); 27 | // 28 | // User bungieUser = apiFacade.getUser( 29 | // credentialsService.ofLegend(aAccountId).asCookieVal(), 30 | // credentialsService.ofLegend(aAccountId).xcsrf()); 31 | // 32 | // return translator.from(bungieAccount); 33 | // } 34 | // 35 | //// @Override 36 | //// public boolean authenticate(Legend anLegend) { 37 | //// try { 38 | //// apiFacade.getUser(anLegend.withCredentials().asCookieVal(), anLegend.withCredentials().getBungled().substring(8)); 39 | //// return true; 40 | //// } catch (Exception exception) { 41 | //// //Any exception thrown means the account credentials are no longer valid 42 | //// return false; 43 | //// } 44 | //// } 45 | //} 46 | -------------------------------------------------------------------------------- /androidadapter/app/src/main/java/com/jam01/littlelight/adapter/android/utils/CheckableRelativeLayout.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2013 The Android Open Source Project 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | package com.jam01.littlelight.adapter.android.utils; 18 | 19 | import android.content.Context; 20 | import android.util.AttributeSet; 21 | import android.widget.Checkable; 22 | import android.widget.RelativeLayout; 23 | 24 | /** 25 | * This is a simple wrapper for {@link android.widget.RelativeLayout} that implements the {@link Checkable} 26 | * interface by keeping an internal 'checked' state flag. 27 | *

28 | * This can be used as the root view for a custom list item layout for 29 | * {@link android.widget.AbsListView} elements with a 30 | * {@link android.widget.AbsListView#setChoiceMode(int) choiceMode} set. 31 | */ 32 | public class CheckableRelativeLayout extends RelativeLayout implements Checkable { 33 | private static final int[] CHECKED_STATE_SET = {android.R.attr.state_checked}; 34 | 35 | private boolean mChecked = false; 36 | 37 | public CheckableRelativeLayout(Context context, AttributeSet attrs) { 38 | super(context, attrs); 39 | } 40 | 41 | public boolean isChecked() { 42 | return mChecked; 43 | } 44 | 45 | public void setChecked(boolean b) { 46 | if (b != mChecked) { 47 | mChecked = b; 48 | refreshDrawableState(); 49 | } 50 | } 51 | 52 | public void toggle() { 53 | setChecked(!mChecked); 54 | } 55 | 56 | @Override 57 | public int[] onCreateDrawableState(int extraSpace) { 58 | final int[] drawableState = super.onCreateDrawableState(extraSpace + 1); 59 | if (isChecked()) { 60 | mergeDrawableStates(drawableState, CHECKED_STATE_SET); 61 | } 62 | return drawableState; 63 | } 64 | } -------------------------------------------------------------------------------- /androidadapter/app/src/main/java/com/jam01/littlelight/adapter/android/utils/IllegalNetworkStateException.java: -------------------------------------------------------------------------------- 1 | package com.jam01.littlelight.adapter.android.utils; 2 | 3 | /** 4 | * Created by jam01 on 11/16/16. 5 | */ 6 | 7 | public class IllegalNetworkStateException extends IllegalStateException { 8 | 9 | public IllegalNetworkStateException() { 10 | } 11 | 12 | public IllegalNetworkStateException(String s) { 13 | super(s); 14 | } 15 | 16 | public IllegalNetworkStateException(String message, Throwable cause) { 17 | super(message, cause); 18 | } 19 | 20 | public IllegalNetworkStateException(Throwable cause) { 21 | super(cause); 22 | } 23 | } 24 | -------------------------------------------------------------------------------- /androidadapter/app/src/main/java/com/jam01/littlelight/adapter/android/utils/NonScrollableListView.java: -------------------------------------------------------------------------------- 1 | package com.jam01.littlelight.adapter.android.utils; 2 | 3 | import android.content.Context; 4 | import android.util.AttributeSet; 5 | import android.view.View; 6 | import android.view.ViewGroup; 7 | import android.widget.ListView; 8 | 9 | /** 10 | * Created by jam01 on 9/29/16. 11 | */ 12 | 13 | //See: http://stackoverflow.com/questions/18813296/non-scrollable-listview-inside-scrollview/24629341#24629341 14 | public class NonScrollableListView extends ListView { 15 | 16 | public NonScrollableListView(Context context) { 17 | super(context); 18 | } 19 | 20 | public NonScrollableListView(Context context, AttributeSet attrs) { 21 | super(context, attrs); 22 | } 23 | 24 | public NonScrollableListView(Context context, AttributeSet attrs, int defStyle) { 25 | super(context, attrs, defStyle); 26 | } 27 | 28 | @Override 29 | public void onMeasure(int widthMeasureSpec, int heightMeasureSpec) { 30 | int heightMeasureSpec_custom = View.MeasureSpec.makeMeasureSpec( 31 | Integer.MAX_VALUE >> 2, View.MeasureSpec.AT_MOST); 32 | super.onMeasure(widthMeasureSpec, heightMeasureSpec_custom); 33 | ViewGroup.LayoutParams params = getLayoutParams(); 34 | params.height = getMeasuredHeight(); 35 | } 36 | } -------------------------------------------------------------------------------- /androidadapter/app/src/main/java/com/jam01/littlelight/adapter/android/utils/SelectableAdapter.java: -------------------------------------------------------------------------------- 1 | package com.jam01.littlelight.adapter.android.utils; 2 | 3 | import android.support.v7.widget.RecyclerView; 4 | import android.util.SparseBooleanArray; 5 | 6 | import java.util.ArrayList; 7 | import java.util.List; 8 | 9 | 10 | // See: https://enoent.fr/blog/2015/01/18/recyclerview-basics/ 11 | public abstract class SelectableAdapter extends RecyclerView.Adapter { 12 | @SuppressWarnings("unused") 13 | private static final String TAG = SelectableAdapter.class.getSimpleName(); 14 | 15 | private SparseBooleanArray selectedItems; 16 | 17 | public SelectableAdapter() { 18 | selectedItems = new SparseBooleanArray(); 19 | } 20 | 21 | /** 22 | * Indicates if the item at position position is selected 23 | * 24 | * @param position Position of the item to check 25 | * @return true if the item is selected, false otherwise 26 | */ 27 | public boolean isSelected(int position) { 28 | return getSelectedItems().contains(position); 29 | } 30 | 31 | /** 32 | * Toggle the selection status of the item at a given position 33 | * 34 | * @param position Position of the item to toggle the selection status for 35 | */ 36 | public void toggleSelection(int position) { 37 | if (selectedItems.get(position, false)) { 38 | selectedItems.delete(position); 39 | } else { 40 | selectedItems.put(position, true); 41 | } 42 | notifyItemChanged(position); 43 | } 44 | 45 | /** 46 | * Clear the selection status for all items 47 | */ 48 | public void clearSelection() { 49 | List selection = getSelectedItems(); 50 | selectedItems.clear(); 51 | for (Integer i : selection) { 52 | notifyItemChanged(i); 53 | } 54 | } 55 | 56 | /** 57 | * Count the selected items 58 | * 59 | * @return Selected items count 60 | */ 61 | public int getSelectedItemCount() { 62 | return selectedItems.size(); 63 | } 64 | 65 | /** 66 | * Indicates the list of selected items 67 | * 68 | * @return List of selected items ids 69 | */ 70 | public List getSelectedItems() { 71 | List items = new ArrayList<>(selectedItems.size()); 72 | for (int i = 0; i < selectedItems.size(); ++i) { 73 | items.add(selectedItems.keyAt(i)); 74 | } 75 | return items; 76 | } 77 | } -------------------------------------------------------------------------------- /androidadapter/app/src/main/res/drawable-v21/ic_menu_gallery.xml: -------------------------------------------------------------------------------- 1 | 6 | 9 | 10 | -------------------------------------------------------------------------------- /androidadapter/app/src/main/res/drawable/discipline.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jam01/LittleLight/dc90e7d6bf3e71333370c1adf4de54ff88f34192/androidadapter/app/src/main/res/drawable/discipline.png -------------------------------------------------------------------------------- /androidadapter/app/src/main/res/drawable/grey_activities.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jam01/LittleLight/dc90e7d6bf3e71333370c1adf4de54ff88f34192/androidadapter/app/src/main/res/drawable/grey_activities.png -------------------------------------------------------------------------------- /androidadapter/app/src/main/res/drawable/grey_inventory.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jam01/LittleLight/dc90e7d6bf3e71333370c1adf4de54ff88f34192/androidadapter/app/src/main/res/drawable/grey_inventory.png -------------------------------------------------------------------------------- /androidadapter/app/src/main/res/drawable/grey_legend.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jam01/LittleLight/dc90e7d6bf3e71333370c1adf4de54ff88f34192/androidadapter/app/src/main/res/drawable/grey_legend.png -------------------------------------------------------------------------------- /androidadapter/app/src/main/res/drawable/horizontal_progress.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | -------------------------------------------------------------------------------- /androidadapter/app/src/main/res/drawable/ic_add_black_24dp.xml: -------------------------------------------------------------------------------- 1 | 6 | 9 | 10 | -------------------------------------------------------------------------------- /androidadapter/app/src/main/res/drawable/ic_add_white_24dp.xml: -------------------------------------------------------------------------------- 1 | 6 | 9 | 10 | -------------------------------------------------------------------------------- /androidadapter/app/src/main/res/drawable/ic_delete_white_24dp.xml: -------------------------------------------------------------------------------- 1 | 6 | 9 | 10 | -------------------------------------------------------------------------------- /androidadapter/app/src/main/res/drawable/ic_filter_list_black_24dp.xml: -------------------------------------------------------------------------------- 1 | 6 | 9 | 10 | -------------------------------------------------------------------------------- /androidadapter/app/src/main/res/drawable/ic_filter_list_white_24dp.xml: -------------------------------------------------------------------------------- 1 | 6 | 9 | 10 | -------------------------------------------------------------------------------- /androidadapter/app/src/main/res/drawable/ic_remove_black_24dp.xml: -------------------------------------------------------------------------------- 1 | 6 | 9 | 10 | -------------------------------------------------------------------------------- /androidadapter/app/src/main/res/drawable/ic_remove_white_24dp.xml: -------------------------------------------------------------------------------- 1 | 6 | 9 | 10 | -------------------------------------------------------------------------------- /androidadapter/app/src/main/res/drawable/ic_send_white_24dp.xml: -------------------------------------------------------------------------------- 1 | 6 | 9 | 10 | -------------------------------------------------------------------------------- /androidadapter/app/src/main/res/drawable/intellect.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jam01/LittleLight/dc90e7d6bf3e71333370c1adf4de54ff88f34192/androidadapter/app/src/main/res/drawable/intellect.png -------------------------------------------------------------------------------- /androidadapter/app/src/main/res/drawable/light.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jam01/LittleLight/dc90e7d6bf3e71333370c1adf4de54ff88f34192/androidadapter/app/src/main/res/drawable/light.png -------------------------------------------------------------------------------- /androidadapter/app/src/main/res/drawable/nav_header.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jam01/LittleLight/dc90e7d6bf3e71333370c1adf4de54ff88f34192/androidadapter/app/src/main/res/drawable/nav_header.png -------------------------------------------------------------------------------- /androidadapter/app/src/main/res/drawable/side_nav_bar.xml: -------------------------------------------------------------------------------- 1 | 3 | 9 | -------------------------------------------------------------------------------- /androidadapter/app/src/main/res/drawable/strength.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jam01/LittleLight/dc90e7d6bf3e71333370c1adf4de54ff88f34192/androidadapter/app/src/main/res/drawable/strength.png -------------------------------------------------------------------------------- /androidadapter/app/src/main/res/drawable/vault.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jam01/LittleLight/dc90e7d6bf3e71333370c1adf4de54ff88f34192/androidadapter/app/src/main/res/drawable/vault.png -------------------------------------------------------------------------------- /androidadapter/app/src/main/res/layout/activity_main.xml: -------------------------------------------------------------------------------- 1 | 2 | 10 | 11 | 15 | 16 | 24 | 25 | -------------------------------------------------------------------------------- /androidadapter/app/src/main/res/layout/app_bar_main.xml: -------------------------------------------------------------------------------- 1 | 2 | 8 | 9 | 13 | 14 | 18 | 19 | 20 | 21 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | -------------------------------------------------------------------------------- /androidadapter/app/src/main/res/layout/content_frame.xml: -------------------------------------------------------------------------------- 1 | 9 | 10 | 17 | 18 | -------------------------------------------------------------------------------- /androidadapter/app/src/main/res/layout/fragment_generic.xml: -------------------------------------------------------------------------------- 1 | 10 | 11 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 32 | 33 | 34 | -------------------------------------------------------------------------------- /androidadapter/app/src/main/res/layout/view_account_row.xml: -------------------------------------------------------------------------------- 1 | 2 | 9 | 10 | 17 | 18 | 27 | 28 | 36 | 37 | -------------------------------------------------------------------------------- /androidadapter/app/src/main/res/layout/view_activity_tile.xml: -------------------------------------------------------------------------------- 1 | 2 | 12 | 13 | 18 | 19 | 27 | 28 | 39 | 40 | 41 | 48 | 49 | -------------------------------------------------------------------------------- /androidadapter/app/src/main/res/layout/view_item_header_row.xml: -------------------------------------------------------------------------------- 1 | 2 | 8 | 9 | 19 | 20 | -------------------------------------------------------------------------------- /androidadapter/app/src/main/res/layout/view_itembagdestination_row.xml: -------------------------------------------------------------------------------- 1 | 2 | 9 | 10 | 17 | 18 | 28 | -------------------------------------------------------------------------------- /androidadapter/app/src/main/res/layout/view_tablayout_tab.xml: -------------------------------------------------------------------------------- 1 | 2 | 8 | 9 | 15 | -------------------------------------------------------------------------------- /androidadapter/app/src/main/res/menu/activity_user_drawer.xml: -------------------------------------------------------------------------------- 1 | 2 |

3 | 6 | 10 | 14 | 15 | 19 | 20 | 23 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | 41 | 42 | -------------------------------------------------------------------------------- /androidadapter/app/src/main/res/menu/main.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /androidadapter/app/src/main/res/menu/menu_inventory.xml: -------------------------------------------------------------------------------- 1 | 3 | 8 | 9 | -------------------------------------------------------------------------------- /androidadapter/app/src/main/res/menu/menu_inventory_overlay.xml: -------------------------------------------------------------------------------- 1 | 3 | 8 | 9 | -------------------------------------------------------------------------------- /androidadapter/app/src/main/res/mipmap-hdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jam01/LittleLight/dc90e7d6bf3e71333370c1adf4de54ff88f34192/androidadapter/app/src/main/res/mipmap-hdpi/ic_launcher.png -------------------------------------------------------------------------------- /androidadapter/app/src/main/res/mipmap-mdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jam01/LittleLight/dc90e7d6bf3e71333370c1adf4de54ff88f34192/androidadapter/app/src/main/res/mipmap-mdpi/ic_launcher.png -------------------------------------------------------------------------------- /androidadapter/app/src/main/res/mipmap-xhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jam01/LittleLight/dc90e7d6bf3e71333370c1adf4de54ff88f34192/androidadapter/app/src/main/res/mipmap-xhdpi/ic_launcher.png -------------------------------------------------------------------------------- /androidadapter/app/src/main/res/mipmap-xxhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jam01/LittleLight/dc90e7d6bf3e71333370c1adf4de54ff88f34192/androidadapter/app/src/main/res/mipmap-xxhdpi/ic_launcher.png -------------------------------------------------------------------------------- /androidadapter/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jam01/LittleLight/dc90e7d6bf3e71333370c1adf4de54ff88f34192/androidadapter/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png -------------------------------------------------------------------------------- /androidadapter/app/src/main/res/values-v21/styles.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 20 | -------------------------------------------------------------------------------- /androidadapter/app/src/main/res/values-w820dp/dimens.xml: -------------------------------------------------------------------------------- 1 | 2 | 5 | 64dp 6 | 7 | -------------------------------------------------------------------------------- /androidadapter/app/src/main/res/values/colors.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | #c3bcb4 4 | #366f42 5 | #5075a2 6 | #522f65 7 | #ceae33 8 | #4d000000 9 | 10 | -------------------------------------------------------------------------------- /androidadapter/app/src/main/res/values/dimens.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 16dp 4 | 160dp 5 | 6 | 16dp 7 | 16dp 8 | 16dp 9 | 200dp 10 | 200dp 11 | 16dp 12 | 13 | -------------------------------------------------------------------------------- /androidadapter/app/src/main/res/values/drawables.xml: -------------------------------------------------------------------------------- 1 | 2 | @android:drawable/ic_menu_camera 3 | @android:drawable/ic_menu_gallery 4 | @android:drawable/ic_menu_slideshow 5 | @android:drawable/ic_menu_manage 6 | @android:drawable/ic_menu_share 7 | @android:drawable/ic_menu_send 8 | 9 | -------------------------------------------------------------------------------- /androidadapter/app/src/main/res/values/ids.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /androidadapter/app/src/main/res/values/strings.xml: -------------------------------------------------------------------------------- 1 | 2 | LittleLight 3 | 4 | Open navigation drawer 5 | Close navigation drawer 6 | 7 | Settings 8 | 9 | 10 | Hello blank fragment 11 | Equip Item 12 | 13 | 14 | All 15 | Weapons 16 | Armor 17 | General 18 | Progress 19 | 20 | 21 | 22 | All 23 | Primary Weapons 24 | Secondary Weapons 25 | Heavy Weapons 26 | 27 | 28 | 29 | All 30 | Helmets 31 | Arms 32 | Chests 33 | Legs 34 | 35 | 36 | 37 | All 38 | Materials 39 | Consumables 40 | Subclass 41 | Vehicles 42 | Ships 43 | Shaders 44 | Emblems 45 | Emotes 46 | Sparrow Horns 47 | Artifacts 48 | 49 | 50 | 51 | All 52 | None 53 | Kinetic 54 | Arc 55 | Solar 56 | Void 57 | 58 | 59 | 60 | Options 61 | Change loadout name 62 | Delete loadout 63 | 64 | 65 | -------------------------------------------------------------------------------- /androidadapter/app/src/main/res/values/styles.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 18 | 19 | 26 | 27 | -------------------------------------------------------------------------------- /androidadapter/app/src/main/res/values/values.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | #607d8b 4 | #607d8b 5 | #3f51b5 6 | #455a64 7 | #cfd8dc 8 | #424242 9 | #0d47a1 10 | #ffb300 11 | #0a2b5f 12 | #424242 13 | #212121 14 | #bdbdbd 15 | #424242 16 | #ffcf40 17 | -------------------------------------------------------------------------------- /androidadapter/app/src/test/java/com/jam01/littlelight/ExampleUnitTest.java: -------------------------------------------------------------------------------- 1 | package com.jam01.littlelight; 2 | 3 | import org.junit.Test; 4 | 5 | import static org.junit.Assert.*; 6 | 7 | /** 8 | * To work on unit tests, switch the Test Artifact in the Build Variants view. 9 | */ 10 | public class ExampleUnitTest { 11 | @Test 12 | public void addition_isCorrect() throws Exception { 13 | assertEquals(4, 2 + 2); 14 | } 15 | } -------------------------------------------------------------------------------- /androidadapter/build.gradle: -------------------------------------------------------------------------------- 1 | // Top-level build file where you can add configuration options common to all sub-projects/modules. 2 | 3 | buildscript { 4 | repositories { 5 | jcenter() 6 | } 7 | dependencies { 8 | classpath 'com.android.tools.build:gradle:2.2.2' 9 | // NOTE: Do not place your application dependencies here; they belong 10 | // in the individual module build.gradle files 11 | } 12 | } 13 | 14 | allprojects { 15 | repositories { 16 | jcenter() 17 | } 18 | } 19 | 20 | task clean(type: Delete) { 21 | delete rootProject.buildDir 22 | } -------------------------------------------------------------------------------- /androidadapter/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 -------------------------------------------------------------------------------- /androidadapter/gradle/wrapper/gradle-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jam01/LittleLight/dc90e7d6bf3e71333370c1adf4de54ff88f34192/androidadapter/gradle/wrapper/gradle-wrapper.jar -------------------------------------------------------------------------------- /androidadapter/gradle/wrapper/gradle-wrapper.properties: -------------------------------------------------------------------------------- 1 | #Thu Sep 01 10:38:32 CDT 2016 2 | distributionBase=GRADLE_USER_HOME 3 | distributionPath=wrapper/dists 4 | zipStoreBase=GRADLE_USER_HOME 5 | zipStorePath=wrapper/dists 6 | #TODO: Check back on which gradle version resolves support for lamdas from external libraries 7 | #See: https://code.google.com/p/android/issues/detail?id=211386 8 | #distributionUrl=https\://services.gradle.org/distributions/gradle-2.14.1-all.zip 9 | distributionUrl=https\://services.gradle.org/distributions/gradle-3.2-all.zip -------------------------------------------------------------------------------- /androidadapter/gradlew.bat: -------------------------------------------------------------------------------- 1 | @if "%DEBUG%" == "" @echo off 2 | @rem ########################################################################## 3 | @rem 4 | @rem Gradle startup script for Windows 5 | @rem 6 | @rem ########################################################################## 7 | 8 | @rem Set local scope for the variables with windows NT shell 9 | if "%OS%"=="Windows_NT" setlocal 10 | 11 | @rem Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script. 12 | set DEFAULT_JVM_OPTS= 13 | 14 | set DIRNAME=%~dp0 15 | if "%DIRNAME%" == "" set DIRNAME=. 16 | set APP_BASE_NAME=%~n0 17 | set APP_HOME=%DIRNAME% 18 | 19 | @rem Find java.exe 20 | if defined JAVA_HOME goto findJavaFromJavaHome 21 | 22 | set JAVA_EXE=java.exe 23 | %JAVA_EXE% -version >NUL 2>&1 24 | if "%ERRORLEVEL%" == "0" goto init 25 | 26 | echo. 27 | echo ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH. 28 | echo. 29 | echo Please set the JAVA_HOME variable in your environment to match the 30 | echo location of your Java installation. 31 | 32 | goto fail 33 | 34 | :findJavaFromJavaHome 35 | set JAVA_HOME=%JAVA_HOME:"=% 36 | set JAVA_EXE=%JAVA_HOME%/bin/java.exe 37 | 38 | if exist "%JAVA_EXE%" goto init 39 | 40 | echo. 41 | echo ERROR: JAVA_HOME is set to an invalid directory: %JAVA_HOME% 42 | echo. 43 | echo Please set the JAVA_HOME variable in your environment to match the 44 | echo location of your Java installation. 45 | 46 | goto fail 47 | 48 | :init 49 | @rem Get command-line arguments, handling Windowz variants 50 | 51 | if not "%OS%" == "Windows_NT" goto win9xME_args 52 | if "%@eval[2+2]" == "4" goto 4NT_args 53 | 54 | :win9xME_args 55 | @rem Slurp the command line arguments. 56 | set CMD_LINE_ARGS= 57 | set _SKIP=2 58 | 59 | :win9xME_args_slurp 60 | if "x%~1" == "x" goto execute 61 | 62 | set CMD_LINE_ARGS=%* 63 | goto execute 64 | 65 | :4NT_args 66 | @rem Get arguments from the 4NT Shell from JP Software 67 | set CMD_LINE_ARGS=%$ 68 | 69 | :execute 70 | @rem Setup the command line 71 | 72 | set CLASSPATH=%APP_HOME%\gradle\wrapper\gradle-wrapper.jar 73 | 74 | @rem Execute Gradle 75 | "%JAVA_EXE%" %DEFAULT_JVM_OPTS% %JAVA_OPTS% %GRADLE_OPTS% "-Dorg.gradle.appname=%APP_BASE_NAME%" -classpath "%CLASSPATH%" org.gradle.wrapper.GradleWrapperMain %CMD_LINE_ARGS% 76 | 77 | :end 78 | @rem End local scope for the variables with windows NT shell 79 | if "%ERRORLEVEL%"=="0" goto mainEnd 80 | 81 | :fail 82 | rem Set variable GRADLE_EXIT_CONSOLE if you need the _script_ return code instead of 83 | rem the _cmd.exe /c_ return code! 84 | if not "" == "%GRADLE_EXIT_CONSOLE%" exit 1 85 | exit /b 1 86 | 87 | :mainEnd 88 | if "%OS%"=="Windows_NT" endlocal 89 | 90 | :omega 91 | -------------------------------------------------------------------------------- /androidadapter/settings.gradle: -------------------------------------------------------------------------------- 1 | include ':app', ':littlelight' 2 | project(':littlelight').projectDir=new File('../littlelight') 3 | -------------------------------------------------------------------------------- /littlelight/.gitignore: -------------------------------------------------------------------------------- 1 | /build 2 | -------------------------------------------------------------------------------- /littlelight/build.gradle: -------------------------------------------------------------------------------- 1 | apply plugin: 'java' 2 | 3 | dependencies { 4 | sourceCompatibility = 1.8 5 | targetCompatibility = 1.8 6 | 7 | compile fileTree(dir: 'libs', include: ['*.jar']) 8 | testCompile 'junit:junit:4.12' 9 | compile 'com.google.code.gson:gson:2.6.2' 10 | compile 'io.reactivex.rxjava2:rxjava:2.0.0' 11 | } 12 | -------------------------------------------------------------------------------- /littlelight/littlelight.iml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 8 | 9 | 10 | 11 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | -------------------------------------------------------------------------------- /littlelight/src/main/java/com/bungie/netplatform/destiny/api/DestinyApi.java: -------------------------------------------------------------------------------- 1 | package com.bungie.netplatform.destiny.api; 2 | 3 | import com.bungie.netplatform.destiny.representation.Account; 4 | import com.bungie.netplatform.destiny.representation.Advisors; 5 | import com.bungie.netplatform.destiny.representation.BungieResponse; 6 | import com.bungie.netplatform.destiny.representation.CharacterInventory; 7 | import com.bungie.netplatform.destiny.representation.DataResponse; 8 | import com.bungie.netplatform.destiny.representation.UserResponse; 9 | import com.bungie.netplatform.destiny.representation.Vault; 10 | import com.google.gson.JsonObject; 11 | 12 | import java.io.InputStream; 13 | 14 | /** 15 | * Created by jam01 on 8/10/16. 16 | */ 17 | public interface DestinyApi { 18 | BungieResponse> getVault(int membershipType, String cookies, String xcsrf); 19 | 20 | BungieResponse> getCharacterInventory(int membershipType, String membershipId, String characterId, String cookies, String xcsrf); 21 | 22 | BungieResponse equipItem(EquipCommand command, String cookies, String xcsrf); 23 | 24 | BungieResponse transferItem(TransferCommand command, String cookies, String xcsrf); 25 | 26 | BungieResponse> getAccount(int membershipType, String membershipId, String cookies, String xcsrf); 27 | 28 | BungieResponse getUser(String cookies, String xcsrf); 29 | 30 | BungieResponse membershipIds(String cookies, String xcsrf); 31 | 32 | BungieResponse latestManifestUrl(); 33 | 34 | BungieResponse> getAdvisorsForCharacter(int membershipType, String membershipId, String characterId, String cookies, String xcsrf); 35 | 36 | InputStream zippedManifest(String manifestUrl); 37 | } 38 | -------------------------------------------------------------------------------- /littlelight/src/main/java/com/bungie/netplatform/destiny/api/EquipCommand.java: -------------------------------------------------------------------------------- 1 | package com.bungie.netplatform.destiny.api; 2 | 3 | /** 4 | * Created by jam01 on 9/22/16. 5 | */ 6 | public class EquipCommand { 7 | private final int membershipType; 8 | private final String itemId; 9 | private final String characterId; 10 | 11 | public EquipCommand(int membershipType, String itemId, String characterId) { 12 | this.membershipType = membershipType; 13 | this.itemId = itemId; 14 | this.characterId = characterId; 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /littlelight/src/main/java/com/bungie/netplatform/destiny/api/TransferCommand.java: -------------------------------------------------------------------------------- 1 | package com.bungie.netplatform.destiny.api; 2 | 3 | /** 4 | * Created by jam01 on 9/22/16. 5 | */ 6 | public class TransferCommand { 7 | private final int membershipType; 8 | private final String itemReferenceHash; 9 | private final String itemId; 10 | private final int stackSize; 11 | private final String characterId; 12 | private final boolean transferToVault; 13 | 14 | public TransferCommand(int membershipType, String itemReferenceHash, String itemId, int stackSize, String characterId, boolean transferToVault) { 15 | this.membershipType = membershipType; 16 | this.itemReferenceHash = itemReferenceHash; 17 | this.itemId = itemId; 18 | this.stackSize = stackSize; 19 | this.characterId = characterId; 20 | this.transferToVault = transferToVault; 21 | } 22 | } 23 | -------------------------------------------------------------------------------- /littlelight/src/main/java/com/bungie/netplatform/destiny/representation/Account.java: -------------------------------------------------------------------------------- 1 | package com.bungie.netplatform.destiny.representation; 2 | 3 | import com.google.gson.annotations.Expose; 4 | 5 | import java.util.ArrayList; 6 | import java.util.List; 7 | 8 | import javax.annotation.Generated; 9 | 10 | @Generated("org.jsonschema2pojo") 11 | public class Account { 12 | 13 | @Expose 14 | private String membershipId; 15 | @Expose 16 | private Long membershipType; 17 | @Expose 18 | private List characters = new ArrayList(); 19 | @Expose 20 | private Inventory inventory; 21 | @Expose 22 | private Long grimoireScore; 23 | 24 | /** 25 | * @return The membershipId 26 | */ 27 | public String getMembershipId() { 28 | return membershipId; 29 | } 30 | 31 | /** 32 | * @param membershipId The membershipId 33 | */ 34 | public void setMembershipId(String membershipId) { 35 | this.membershipId = membershipId; 36 | } 37 | 38 | /** 39 | * @return The membershipType 40 | */ 41 | public Long getMembershipType() { 42 | return membershipType; 43 | } 44 | 45 | /** 46 | * @param membershipType The membershipType 47 | */ 48 | public void setMembershipType(Long membershipType) { 49 | this.membershipType = membershipType; 50 | } 51 | 52 | /** 53 | * @return The characters 54 | */ 55 | public List getCharacters() { 56 | return characters; 57 | } 58 | 59 | /** 60 | * @param characters The characters 61 | */ 62 | public void setCharacters(List characters) { 63 | this.characters = characters; 64 | } 65 | 66 | /** 67 | * @return The inventory 68 | */ 69 | public Inventory getInventory() { 70 | return inventory; 71 | } 72 | 73 | /** 74 | * @param inventory The inventory 75 | */ 76 | public void setInventory(Inventory inventory) { 77 | this.inventory = inventory; 78 | } 79 | 80 | /** 81 | * @return The grimoireScore 82 | */ 83 | public Long getGrimoireScore() { 84 | return grimoireScore; 85 | } 86 | 87 | /** 88 | * @param grimoireScore The grimoireScore 89 | */ 90 | public void setGrimoireScore(Long grimoireScore) { 91 | this.grimoireScore = grimoireScore; 92 | } 93 | } 94 | -------------------------------------------------------------------------------- /littlelight/src/main/java/com/bungie/netplatform/destiny/representation/AckState.java: -------------------------------------------------------------------------------- 1 | 2 | package com.bungie.netplatform.destiny.representation; 3 | 4 | import com.google.gson.annotations.Expose; 5 | import com.google.gson.annotations.SerializedName; 6 | 7 | import javax.annotation.Generated; 8 | 9 | @Generated("org.jsonschema2pojo") 10 | public class AckState { 11 | 12 | @SerializedName("needsAck") 13 | @Expose 14 | public boolean needsAck; 15 | @SerializedName("ackId") 16 | @Expose 17 | public String ackId; 18 | 19 | } 20 | -------------------------------------------------------------------------------- /littlelight/src/main/java/com/bungie/netplatform/destiny/representation/ActiveRewardIndexes.java: -------------------------------------------------------------------------------- 1 | 2 | package com.bungie.netplatform.destiny.representation; 3 | 4 | import com.google.gson.annotations.Expose; 5 | import com.google.gson.annotations.SerializedName; 6 | 7 | import java.util.ArrayList; 8 | import java.util.List; 9 | 10 | import javax.annotation.Generated; 11 | 12 | @Generated("org.jsonschema2pojo") 13 | public class ActiveRewardIndexes { 14 | 15 | @SerializedName("854130400") 16 | @Expose 17 | public List _854130400 = new ArrayList(); 18 | 19 | } 20 | -------------------------------------------------------------------------------- /littlelight/src/main/java/com/bungie/netplatform/destiny/representation/Activities.java: -------------------------------------------------------------------------------- 1 | package com.bungie.netplatform.destiny.representation; 2 | 3 | import com.google.gson.annotations.Expose; 4 | 5 | import java.util.ArrayList; 6 | import java.util.List; 7 | 8 | import javax.annotation.Generated; 9 | 10 | @Generated("org.jsonschema2pojo") 11 | public class Activities { 12 | 13 | @Expose 14 | private String dateActivityStarted; 15 | @Expose 16 | private List available = new ArrayList(); 17 | 18 | /** 19 | * @return The dateActivityStarted 20 | */ 21 | public String getDateActivityStarted() { 22 | return dateActivityStarted; 23 | } 24 | 25 | /** 26 | * @param dateActivityStarted The dateActivityStarted 27 | */ 28 | public void setDateActivityStarted(String dateActivityStarted) { 29 | this.dateActivityStarted = dateActivityStarted; 30 | } 31 | 32 | /** 33 | * @return The available 34 | */ 35 | public List getAvailable() { 36 | return available; 37 | } 38 | 39 | /** 40 | * @param available The available 41 | */ 42 | public void setAvailable(List available) { 43 | this.available = available; 44 | } 45 | } 46 | -------------------------------------------------------------------------------- /littlelight/src/main/java/com/bungie/netplatform/destiny/representation/ActivityAdvisors.java: -------------------------------------------------------------------------------- 1 | // 2 | //package com.bungie.netplatform.destiny.representation.temp; 3 | // 4 | //import javax.annotation.Generated; 5 | //import com.google.gson.annotations.Expose; 6 | //import com.google.gson.annotations.SerializedName; 7 | // 8 | //@Generated("org.jsonschema2pojo") 9 | //public class ActivityAdvisors { 10 | // 11 | // @SerializedName("149381097") 12 | // @Expose 13 | // public com.bungie.netplatform.destiny.representation._149381097 _149381097; 14 | // @SerializedName("260765522") 15 | // @Expose 16 | // public com.bungie.netplatform.destiny.representation._260765522 _260765522; 17 | // @SerializedName("428290721") 18 | // @Expose 19 | // public com.bungie.netplatform.destiny.representation._428290721 _428290721; 20 | // @SerializedName("614791010") 21 | // @Expose 22 | // public com.bungie.netplatform.destiny.representation._614791010 _614791010; 23 | // @SerializedName("854130400") 24 | // @Expose 25 | // public com.bungie.netplatform.destiny.representation._854130400 _854130400; 26 | // @SerializedName("870614351") 27 | // @Expose 28 | // public com.bungie.netplatform.destiny.representation._870614351 _870614351; 29 | // @SerializedName("1293005540") 30 | // @Expose 31 | // public com.bungie.netplatform.destiny.representation._1293005540 _1293005540; 32 | // @SerializedName("1733556769") 33 | // @Expose 34 | // public com.bungie.netplatform.destiny.representation._1733556769 _1733556769; 35 | // @SerializedName("1836893116") 36 | // @Expose 37 | // public com.bungie.netplatform.destiny.representation._1836893116 _1836893116; 38 | // @SerializedName("2474598319") 39 | // @Expose 40 | // public com.bungie.netplatform.destiny.representation._2474598319 _2474598319; 41 | // @SerializedName("2659248071") 42 | // @Expose 43 | // public com.bungie.netplatform.destiny.representation._2659248071 _2659248071; 44 | // @SerializedName("3645919501") 45 | // @Expose 46 | // public com.bungie.netplatform.destiny.representation._3645919501 _3645919501; 47 | // 48 | //} 49 | -------------------------------------------------------------------------------- /littlelight/src/main/java/com/bungie/netplatform/destiny/representation/Advisors.java: -------------------------------------------------------------------------------- 1 | 2 | package com.bungie.netplatform.destiny.representation; 3 | 4 | import com.google.gson.JsonObject; 5 | import com.google.gson.annotations.Expose; 6 | import com.google.gson.annotations.SerializedName; 7 | 8 | import java.util.ArrayList; 9 | import java.util.List; 10 | 11 | import javax.annotation.Generated; 12 | 13 | @Generated("org.jsonschema2pojo") 14 | public class Advisors { 15 | 16 | @SerializedName("nextWeeklyReset") 17 | @Expose 18 | public String nextWeeklyReset; 19 | @SerializedName("nextDailyReset") 20 | @Expose 21 | public String nextDailyReset; 22 | @SerializedName("previousWeeklyReset") 23 | @Expose 24 | public String previousWeeklyReset; 25 | @SerializedName("previousDailyReset") 26 | @Expose 27 | public String previousDailyReset; 28 | @SerializedName("activityAdvisors") 29 | @Expose 30 | public JsonObject activityAdvisors; 31 | // public ActivityAdvisors activityAdvisors; 32 | @SerializedName("itemQuantities") 33 | @Expose 34 | public ItemQuantities itemQuantities; 35 | @SerializedName("areOffersAvailable") 36 | @Expose 37 | public boolean areOffersAvailable; 38 | @SerializedName("events") 39 | @Expose 40 | public List events = new ArrayList(); 41 | @SerializedName("bonuses") 42 | @Expose 43 | public List bonuses = new ArrayList(); 44 | // @SerializedName("factions") 45 | // @Expose 46 | // public Factions factions; 47 | @SerializedName("arena") 48 | @Expose 49 | public List arena = new ArrayList(); 50 | @SerializedName("elderChallenge") 51 | @Expose 52 | public ElderChallenge elderChallenge; 53 | @SerializedName("trials") 54 | @Expose 55 | public Trials trials; 56 | @SerializedName("quests") 57 | @Expose 58 | public Quests_ quests; 59 | 60 | } 61 | -------------------------------------------------------------------------------- /littlelight/src/main/java/com/bungie/netplatform/destiny/representation/Arena.java: -------------------------------------------------------------------------------- 1 | 2 | package com.bungie.netplatform.destiny.representation; 3 | 4 | import com.google.gson.annotations.Expose; 5 | import com.google.gson.annotations.SerializedName; 6 | 7 | import java.util.ArrayList; 8 | import java.util.List; 9 | 10 | import javax.annotation.Generated; 11 | 12 | @Generated("org.jsonschema2pojo") 13 | public class Arena { 14 | 15 | @SerializedName("activityHash") 16 | @Expose 17 | public long activityHash; 18 | @SerializedName("iconPath") 19 | @Expose 20 | public String iconPath; 21 | @SerializedName("rounds") 22 | @Expose 23 | public List rounds = new ArrayList(); 24 | @SerializedName("bossFight") 25 | @Expose 26 | public boolean bossFight; 27 | @SerializedName("bossSkulls") 28 | @Expose 29 | public List bossSkulls = new ArrayList(); 30 | @SerializedName("activeRewardIndexes") 31 | @Expose 32 | public List activeRewardIndexes = new ArrayList(); 33 | @SerializedName("isCompleted") 34 | @Expose 35 | public boolean isCompleted; 36 | 37 | } 38 | -------------------------------------------------------------------------------- /littlelight/src/main/java/com/bungie/netplatform/destiny/representation/ArtRegions.java: -------------------------------------------------------------------------------- 1 | package com.bungie.netplatform.destiny.representation; 2 | 3 | import javax.annotation.Generated; 4 | 5 | @Generated("org.jsonschema2pojo") 6 | public class ArtRegions { 7 | 8 | 9 | } 10 | -------------------------------------------------------------------------------- /littlelight/src/main/java/com/bungie/netplatform/destiny/representation/Available.java: -------------------------------------------------------------------------------- 1 | package com.bungie.netplatform.destiny.representation; 2 | 3 | import com.google.gson.annotations.Expose; 4 | 5 | import javax.annotation.Generated; 6 | 7 | @Generated("org.jsonschema2pojo") 8 | public class Available { 9 | 10 | @Expose 11 | private Long activityHash; 12 | @Expose 13 | private Boolean isVisible; 14 | @Expose 15 | private Boolean canLead; 16 | @Expose 17 | private Boolean isCompleted; 18 | @Expose 19 | private Boolean isNew; 20 | @Expose 21 | private Boolean canJoin; 22 | 23 | /** 24 | * @return The activityHash 25 | */ 26 | public Long getActivityHash() { 27 | return activityHash; 28 | } 29 | 30 | /** 31 | * @param activityHash The activityHash 32 | */ 33 | public void setActivityHash(Long activityHash) { 34 | this.activityHash = activityHash; 35 | } 36 | 37 | /** 38 | * @return The isVisible 39 | */ 40 | public Boolean getIsVisible() { 41 | return isVisible; 42 | } 43 | 44 | /** 45 | * @param isVisible The isVisible 46 | */ 47 | public void setIsVisible(Boolean isVisible) { 48 | this.isVisible = isVisible; 49 | } 50 | 51 | /** 52 | * @return The canLead 53 | */ 54 | public Boolean getCanLead() { 55 | return canLead; 56 | } 57 | 58 | /** 59 | * @param canLead The canLead 60 | */ 61 | public void setCanLead(Boolean canLead) { 62 | this.canLead = canLead; 63 | } 64 | 65 | /** 66 | * @return The isCompleted 67 | */ 68 | public Boolean getIsCompleted() { 69 | return isCompleted; 70 | } 71 | 72 | /** 73 | * @param isCompleted The isCompleted 74 | */ 75 | public void setIsCompleted(Boolean isCompleted) { 76 | this.isCompleted = isCompleted; 77 | } 78 | 79 | /** 80 | * @return The isNew 81 | */ 82 | public Boolean getIsNew() { 83 | return isNew; 84 | } 85 | 86 | /** 87 | * @param isNew The isNew 88 | */ 89 | public void setIsNew(Boolean isNew) { 90 | this.isNew = isNew; 91 | } 92 | 93 | /** 94 | * @return The canJoin 95 | */ 96 | public Boolean getCanJoin() { 97 | return canJoin; 98 | } 99 | 100 | /** 101 | * @param canJoin The canJoin 102 | */ 103 | public void setCanJoin(Boolean canJoin) { 104 | this.canJoin = canJoin; 105 | } 106 | } 107 | -------------------------------------------------------------------------------- /littlelight/src/main/java/com/bungie/netplatform/destiny/representation/BonusRank.java: -------------------------------------------------------------------------------- 1 | 2 | package com.bungie.netplatform.destiny.representation; 3 | 4 | import com.google.gson.annotations.Expose; 5 | import com.google.gson.annotations.SerializedName; 6 | 7 | import javax.annotation.Generated; 8 | 9 | @Generated("org.jsonschema2pojo") 10 | public class BonusRank { 11 | 12 | @SerializedName("statId") 13 | @Expose 14 | private Long statId; 15 | @SerializedName("rank") 16 | @Expose 17 | private Long rank; 18 | 19 | /** 20 | * @return The statId 21 | */ 22 | public Long getStatId() { 23 | return statId; 24 | } 25 | 26 | /** 27 | * @param statId The statId 28 | */ 29 | public void setStatId(Long statId) { 30 | this.statId = statId; 31 | } 32 | 33 | /** 34 | * @return The rank 35 | */ 36 | public Long getRank() { 37 | return rank; 38 | } 39 | 40 | /** 41 | * @param rank The rank 42 | */ 43 | public void setRank(Long rank) { 44 | this.rank = rank; 45 | } 46 | } 47 | -------------------------------------------------------------------------------- /littlelight/src/main/java/com/bungie/netplatform/destiny/representation/Bounties.java: -------------------------------------------------------------------------------- 1 | 2 | package com.bungie.netplatform.destiny.representation; 3 | 4 | import javax.annotation.Generated; 5 | 6 | @Generated("org.jsonschema2pojo") 7 | public class Bounties { 8 | 9 | 10 | } 11 | -------------------------------------------------------------------------------- /littlelight/src/main/java/com/bungie/netplatform/destiny/representation/Bounties_.java: -------------------------------------------------------------------------------- 1 | // 2 | //package com.bungie.netplatform.destiny.representation.temp; 3 | // 4 | //import javax.annotation.Generated; 5 | //import com.google.gson.annotations.Expose; 6 | //import com.google.gson.annotations.SerializedName; 7 | // 8 | //@Generated("org.jsonschema2pojo") 9 | //public class Bounties_ { 10 | // 11 | // @SerializedName("589226878") 12 | // @Expose 13 | // public com.bungie.netplatform.destiny.representation._589226878 _589226878; 14 | // @SerializedName("1731481402") 15 | // @Expose 16 | // public com.bungie.netplatform.destiny.representation._1731481402 _1731481402; 17 | // @SerializedName("3443550563") 18 | // @Expose 19 | // public com.bungie.netplatform.destiny.representation._3443550563 _3443550563; 20 | // 21 | //} 22 | -------------------------------------------------------------------------------- /littlelight/src/main/java/com/bungie/netplatform/destiny/representation/Buckets.java: -------------------------------------------------------------------------------- 1 | package com.bungie.netplatform.destiny.representation; 2 | 3 | import com.google.gson.annotations.Expose; 4 | 5 | import java.util.ArrayList; 6 | import java.util.List; 7 | 8 | import javax.annotation.Generated; 9 | 10 | @Generated("org.jsonschema2pojo") 11 | public class Buckets { 12 | 13 | @Expose 14 | private List Item = new ArrayList(); 15 | @Expose 16 | private List Invisible = new ArrayList(); 17 | @Expose 18 | private List Currency = new ArrayList(); 19 | @Expose 20 | private List Equippable = new ArrayList(); 21 | 22 | /** 23 | * @return The Item 24 | */ 25 | public List getItem() { 26 | return Item; 27 | } 28 | 29 | /** 30 | * @param Item The Item 31 | */ 32 | public void setItem(List Item) { 33 | this.Item = Item; 34 | } 35 | 36 | /** 37 | * @return The Invisible 38 | */ 39 | public List getInvisible() { 40 | return Invisible; 41 | } 42 | 43 | /** 44 | * @param Invisible The Invisible 45 | */ 46 | public void setInvisible(List Invisible) { 47 | this.Invisible = Invisible; 48 | } 49 | 50 | /** 51 | * @return The Currency 52 | */ 53 | public List getCurrency() { 54 | return Currency; 55 | } 56 | 57 | /** 58 | * @param Currency The Currency 59 | */ 60 | public void setCurrency(List Currency) { 61 | this.Currency = Currency; 62 | } 63 | 64 | /** 65 | * @return The Equippable 66 | */ 67 | public List getEquippable() { 68 | return Equippable; 69 | } 70 | 71 | /** 72 | * @param Equippable The Equippable 73 | */ 74 | public void setEquippable(List Equippable) { 75 | this.Equippable = Equippable; 76 | } 77 | } 78 | -------------------------------------------------------------------------------- /littlelight/src/main/java/com/bungie/netplatform/destiny/representation/Buff.java: -------------------------------------------------------------------------------- 1 | 2 | package com.bungie.netplatform.destiny.representation; 3 | 4 | import com.google.gson.annotations.Expose; 5 | import com.google.gson.annotations.SerializedName; 6 | 7 | import javax.annotation.Generated; 8 | 9 | @Generated("org.jsonschema2pojo") 10 | public class Buff { 11 | 12 | @SerializedName("isActive") 13 | @Expose 14 | private Boolean isActive; 15 | @SerializedName("itemHash") 16 | @Expose 17 | private Long itemHash; 18 | @SerializedName("isUsed") 19 | @Expose 20 | private Boolean isUsed; 21 | 22 | /** 23 | * @return The isActive 24 | */ 25 | public Boolean getIsActive() { 26 | return isActive; 27 | } 28 | 29 | /** 30 | * @param isActive The isActive 31 | */ 32 | public void setIsActive(Boolean isActive) { 33 | this.isActive = isActive; 34 | } 35 | 36 | /** 37 | * @return The itemHash 38 | */ 39 | public Long getItemHash() { 40 | return itemHash; 41 | } 42 | 43 | /** 44 | * @param itemHash The itemHash 45 | */ 46 | public void setItemHash(Long itemHash) { 47 | this.itemHash = itemHash; 48 | } 49 | 50 | /** 51 | * @return The isUsed 52 | */ 53 | public Boolean getIsUsed() { 54 | return isUsed; 55 | } 56 | 57 | /** 58 | * @param isUsed The isUsed 59 | */ 60 | public void setIsUsed(Boolean isUsed) { 61 | this.isUsed = isUsed; 62 | } 63 | } 64 | -------------------------------------------------------------------------------- /littlelight/src/main/java/com/bungie/netplatform/destiny/representation/CharacterInventory.java: -------------------------------------------------------------------------------- 1 | package com.bungie.netplatform.destiny.representation; 2 | 3 | import com.google.gson.annotations.Expose; 4 | 5 | import java.util.ArrayList; 6 | import java.util.List; 7 | 8 | import javax.annotation.Generated; 9 | 10 | @Generated("org.jsonschema2pojo") 11 | public class CharacterInventory { 12 | 13 | @Expose 14 | private Buckets buckets; 15 | @Expose 16 | private List currencies = new ArrayList<>(); 17 | private String characterId; 18 | 19 | public String getCharacterId() { 20 | return characterId; 21 | } 22 | 23 | public void setCharacterId(String characterId) { 24 | this.characterId = characterId; 25 | } 26 | 27 | /** 28 | * @return The buckets 29 | */ 30 | public Buckets getBuckets() { 31 | return buckets; 32 | } 33 | 34 | /** 35 | * @return The currencies 36 | */ 37 | public List getCurrencies() { 38 | return currencies; 39 | } 40 | 41 | } 42 | -------------------------------------------------------------------------------- /littlelight/src/main/java/com/bungie/netplatform/destiny/representation/Context.java: -------------------------------------------------------------------------------- 1 | 2 | package com.bungie.netplatform.destiny.representation; 3 | 4 | import javax.annotation.Generated; 5 | import com.google.gson.annotations.Expose; 6 | import com.google.gson.annotations.SerializedName; 7 | 8 | @Generated("org.jsonschema2pojo") 9 | public class Context { 10 | 11 | @SerializedName("isFollowing") 12 | @Expose 13 | private boolean isFollowing; 14 | @SerializedName("ignoreStatus") 15 | @Expose 16 | private IgnoreStatus ignoreStatus; 17 | 18 | /** 19 | * 20 | * @return 21 | * The isFollowing 22 | */ 23 | public boolean isIsFollowing() { 24 | return isFollowing; 25 | } 26 | 27 | /** 28 | * 29 | * @param isFollowing 30 | * The isFollowing 31 | */ 32 | public void setIsFollowing(boolean isFollowing) { 33 | this.isFollowing = isFollowing; 34 | } 35 | 36 | /** 37 | * 38 | * @return 39 | * The ignoreStatus 40 | */ 41 | public IgnoreStatus getIgnoreStatus() { 42 | return ignoreStatus; 43 | } 44 | 45 | /** 46 | * 47 | * @param ignoreStatus 48 | * The ignoreStatus 49 | */ 50 | public void setIgnoreStatus(IgnoreStatus ignoreStatus) { 51 | this.ignoreStatus = ignoreStatus; 52 | } 53 | 54 | } 55 | -------------------------------------------------------------------------------- /littlelight/src/main/java/com/bungie/netplatform/destiny/representation/Cost.java: -------------------------------------------------------------------------------- 1 | 2 | package com.bungie.netplatform.destiny.representation; 3 | 4 | import com.google.gson.annotations.Expose; 5 | import com.google.gson.annotations.SerializedName; 6 | 7 | import javax.annotation.Generated; 8 | 9 | @Generated("org.jsonschema2pojo") 10 | public class Cost { 11 | 12 | @SerializedName("itemHash") 13 | @Expose 14 | public long itemHash; 15 | @SerializedName("value") 16 | @Expose 17 | public long value; 18 | 19 | } 20 | -------------------------------------------------------------------------------- /littlelight/src/main/java/com/bungie/netplatform/destiny/representation/Currencies.java: -------------------------------------------------------------------------------- 1 | 2 | package com.bungie.netplatform.destiny.representation; 3 | 4 | import javax.annotation.Generated; 5 | import com.google.gson.annotations.Expose; 6 | import com.google.gson.annotations.SerializedName; 7 | 8 | @Generated("org.jsonschema2pojo") 9 | public class Currencies { 10 | 11 | @SerializedName("2534352370") 12 | @Expose 13 | public long _2534352370; 14 | 15 | } 16 | -------------------------------------------------------------------------------- /littlelight/src/main/java/com/bungie/netplatform/destiny/representation/Currency.java: -------------------------------------------------------------------------------- 1 | package com.bungie.netplatform.destiny.representation; 2 | 3 | import com.google.gson.annotations.Expose; 4 | 5 | import java.util.ArrayList; 6 | import java.util.List; 7 | 8 | import javax.annotation.Generated; 9 | 10 | @Generated("org.jsonschema2pojo") 11 | public class Currency { 12 | 13 | @Expose 14 | private List items = new ArrayList(); 15 | @Expose 16 | private Long bucketHash; 17 | 18 | /** 19 | * @return The items 20 | */ 21 | public List getItems() { 22 | return items; 23 | } 24 | 25 | /** 26 | * @param items The items 27 | */ 28 | public void setItems(List items) { 29 | this.items = items; 30 | } 31 | 32 | /** 33 | * @return The bucketHash 34 | */ 35 | public Long getBucketHash() { 36 | return bucketHash; 37 | } 38 | 39 | /** 40 | * @param bucketHash The bucketHash 41 | */ 42 | public void setBucketHash(Long bucketHash) { 43 | this.bucketHash = bucketHash; 44 | } 45 | } 46 | -------------------------------------------------------------------------------- /littlelight/src/main/java/com/bungie/netplatform/destiny/representation/Currency_.java: -------------------------------------------------------------------------------- 1 | package com.bungie.netplatform.destiny.representation; 2 | 3 | import com.google.gson.annotations.Expose; 4 | 5 | import javax.annotation.Generated; 6 | 7 | @Generated("org.jsonschema2pojo") 8 | public class Currency_ { 9 | 10 | @Expose 11 | private Long value; 12 | @Expose 13 | private Long itemHash; 14 | 15 | /** 16 | * @return The value 17 | */ 18 | public Long getValue() { 19 | return value; 20 | } 21 | 22 | /** 23 | * @param value The value 24 | */ 25 | public void setValue(Long value) { 26 | this.value = value; 27 | } 28 | 29 | /** 30 | * @return The itemHash 31 | */ 32 | public Long getItemHash() { 33 | return itemHash; 34 | } 35 | 36 | /** 37 | * @param itemHash The itemHash 38 | */ 39 | public void setItemHash(Long itemHash) { 40 | this.itemHash = itemHash; 41 | } 42 | 43 | } 44 | -------------------------------------------------------------------------------- /littlelight/src/main/java/com/bungie/netplatform/destiny/representation/CustomDye.java: -------------------------------------------------------------------------------- 1 | package com.bungie.netplatform.destiny.representation; 2 | 3 | import com.google.gson.annotations.Expose; 4 | 5 | import javax.annotation.Generated; 6 | 7 | @Generated("org.jsonschema2pojo") 8 | public class CustomDye { 9 | 10 | @Expose 11 | private Long dyeHash; 12 | @Expose 13 | private Long channelHash; 14 | 15 | /** 16 | * @return The dyeHash 17 | */ 18 | public Long getDyeHash() { 19 | return dyeHash; 20 | } 21 | 22 | /** 23 | * @param dyeHash The dyeHash 24 | */ 25 | public void setDyeHash(Long dyeHash) { 26 | this.dyeHash = dyeHash; 27 | } 28 | 29 | /** 30 | * @return The channelHash 31 | */ 32 | public Long getChannelHash() { 33 | return channelHash; 34 | } 35 | 36 | /** 37 | * @param channelHash The channelHash 38 | */ 39 | public void setChannelHash(Long channelHash) { 40 | this.channelHash = channelHash; 41 | } 42 | } 43 | -------------------------------------------------------------------------------- /littlelight/src/main/java/com/bungie/netplatform/destiny/representation/CustomDyeExpression.java: -------------------------------------------------------------------------------- 1 | package com.bungie.netplatform.destiny.representation; 2 | 3 | import com.google.gson.annotations.Expose; 4 | 5 | import java.util.ArrayList; 6 | import java.util.List; 7 | 8 | import javax.annotation.Generated; 9 | 10 | @Generated("org.jsonschema2pojo") 11 | public class CustomDyeExpression { 12 | 13 | @Expose 14 | private List steps = new ArrayList(); 15 | 16 | /** 17 | * @return The steps 18 | */ 19 | public List getSteps() { 20 | return steps; 21 | } 22 | 23 | /** 24 | * @param steps The steps 25 | */ 26 | public void setSteps(List steps) { 27 | this.steps = steps; 28 | } 29 | 30 | } 31 | -------------------------------------------------------------------------------- /littlelight/src/main/java/com/bungie/netplatform/destiny/representation/DailyChapterActivities.java: -------------------------------------------------------------------------------- 1 | 2 | package com.bungie.netplatform.destiny.representation; 3 | 4 | import com.google.gson.annotations.Expose; 5 | import com.google.gson.annotations.SerializedName; 6 | 7 | import java.util.ArrayList; 8 | import java.util.List; 9 | 10 | import javax.annotation.Generated; 11 | 12 | @Generated("org.jsonschema2pojo") 13 | public class DailyChapterActivities { 14 | 15 | @SerializedName("activityBundleHash") 16 | @Expose 17 | public long activityBundleHash; 18 | @SerializedName("expirationDate") 19 | @Expose 20 | public String expirationDate; 21 | @SerializedName("isCompleted") 22 | @Expose 23 | public boolean isCompleted; 24 | @SerializedName("isLocked") 25 | @Expose 26 | public boolean isLocked; 27 | @SerializedName("tierActivityHashes") 28 | @Expose 29 | public List tierActivityHashes = new ArrayList(); 30 | @SerializedName("activeRewardIndexes") 31 | @Expose 32 | public ActiveRewardIndexes activeRewardIndexes; 33 | @SerializedName("iconPath") 34 | @Expose 35 | public String iconPath; 36 | 37 | } 38 | -------------------------------------------------------------------------------- /littlelight/src/main/java/com/bungie/netplatform/destiny/representation/DailyCrucible.java: -------------------------------------------------------------------------------- 1 | 2 | package com.bungie.netplatform.destiny.representation; 3 | 4 | import com.google.gson.annotations.Expose; 5 | import com.google.gson.annotations.SerializedName; 6 | 7 | import java.util.ArrayList; 8 | import java.util.List; 9 | 10 | import javax.annotation.Generated; 11 | 12 | @Generated("org.jsonschema2pojo") 13 | public class DailyCrucible { 14 | 15 | @SerializedName("activityBundleHash") 16 | @Expose 17 | public long activityBundleHash; 18 | @SerializedName("expirationDate") 19 | @Expose 20 | public String expirationDate; 21 | @SerializedName("isCompleted") 22 | @Expose 23 | public boolean isCompleted; 24 | @SerializedName("activeRewardIndexes") 25 | @Expose 26 | public List activeRewardIndexes = new ArrayList(); 27 | @SerializedName("iconPath") 28 | @Expose 29 | public String iconPath; 30 | @SerializedName("image") 31 | @Expose 32 | public String image; 33 | 34 | } 35 | -------------------------------------------------------------------------------- /littlelight/src/main/java/com/bungie/netplatform/destiny/representation/DataResponse.java: -------------------------------------------------------------------------------- 1 | package com.bungie.netplatform.destiny.representation; 2 | 3 | import com.google.gson.annotations.Expose; 4 | 5 | import javax.annotation.Generated; 6 | 7 | @Generated("org.jsonschema2pojo") 8 | public class DataResponse { 9 | 10 | @Expose 11 | private T data; 12 | 13 | /** 14 | * @return The data 15 | */ 16 | public T getData() { 17 | return data; 18 | } 19 | 20 | /** 21 | * @param data The data 22 | */ 23 | public void setData(T data) { 24 | this.data = data; 25 | } 26 | } 27 | -------------------------------------------------------------------------------- /littlelight/src/main/java/com/bungie/netplatform/destiny/representation/DirectorNodeStates.java: -------------------------------------------------------------------------------- 1 | package com.bungie.netplatform.destiny.representation; 2 | 3 | import javax.annotation.Generated; 4 | 5 | @Generated("org.jsonschema2pojo") 6 | public class DirectorNodeStates { 7 | 8 | 9 | } 10 | -------------------------------------------------------------------------------- /littlelight/src/main/java/com/bungie/netplatform/destiny/representation/Dye.java: -------------------------------------------------------------------------------- 1 | package com.bungie.netplatform.destiny.representation; 2 | 3 | import com.google.gson.annotations.Expose; 4 | 5 | 6 | import javax.annotation.Generated; 7 | 8 | @Generated("org.jsonschema2pojo") 9 | public class Dye { 10 | 11 | @Expose 12 | private Long dyeHash; 13 | @Expose 14 | private Long channelHash; 15 | 16 | /** 17 | * @return The dyeHash 18 | */ 19 | public Long getDyeHash() { 20 | return dyeHash; 21 | } 22 | 23 | /** 24 | * @param dyeHash The dyeHash 25 | */ 26 | public void setDyeHash(Long dyeHash) { 27 | this.dyeHash = dyeHash; 28 | } 29 | 30 | /** 31 | * @return The channelHash 32 | */ 33 | public Long getChannelHash() { 34 | return channelHash; 35 | } 36 | 37 | /** 38 | * @param channelHash The channelHash 39 | */ 40 | public void setChannelHash(Long channelHash) { 41 | this.channelHash = channelHash; 42 | } 43 | } 44 | -------------------------------------------------------------------------------- /littlelight/src/main/java/com/bungie/netplatform/destiny/representation/ElderChallenge.java: -------------------------------------------------------------------------------- 1 | 2 | package com.bungie.netplatform.destiny.representation; 3 | 4 | import com.google.gson.annotations.Expose; 5 | import com.google.gson.annotations.SerializedName; 6 | 7 | import java.util.ArrayList; 8 | import java.util.List; 9 | 10 | import javax.annotation.Generated; 11 | 12 | @Generated("org.jsonschema2pojo") 13 | public class ElderChallenge { 14 | 15 | @SerializedName("playlistActivityHash") 16 | @Expose 17 | public long playlistActivityHash; 18 | @SerializedName("activityHash") 19 | @Expose 20 | public long activityHash; 21 | @SerializedName("iconPath") 22 | @Expose 23 | public String iconPath; 24 | @SerializedName("rounds") 25 | @Expose 26 | public List rounds = new ArrayList(); 27 | @SerializedName("objectives") 28 | @Expose 29 | public List objectives = new ArrayList(); 30 | @SerializedName("hasTicket") 31 | @Expose 32 | public boolean hasTicket; 33 | // @SerializedName("bounties") 34 | // @Expose 35 | // public Bounties_ bounties; 36 | @SerializedName("playlistSkullIndexes") 37 | @Expose 38 | public List playlistSkullIndexes = new ArrayList(); 39 | @SerializedName("playlistBonusSkullIndexes") 40 | @Expose 41 | public List playlistBonusSkullIndexes = new ArrayList(); 42 | 43 | } 44 | -------------------------------------------------------------------------------- /littlelight/src/main/java/com/bungie/netplatform/destiny/representation/Endpoints.java: -------------------------------------------------------------------------------- 1 | package com.bungie.netplatform.destiny.representation; 2 | 3 | /** 4 | * Created by jam01 on 3/30/15. 5 | */ 6 | public class Endpoints { 7 | public static final String BASE_URL = "https://www.bungie.net/"; 8 | public static final String BASE_URL_NSECURE = "http://www.bungie.net/"; 9 | public static final String PLATFORM_URI = "Platform/Destiny/"; 10 | public static final String LANGUAGE_URI = "en/"; 11 | public static final String SIGN_IN_URI = BASE_URL + LANGUAGE_URI + "User/SignIn/"; 12 | public static final String PSN_AUTH_URL = SIGN_IN_URI + "Psnid?bru=%2f"; 13 | public static final String XBOX_AUTH_URL = SIGN_IN_URI + "Xuid?bru=%2f"; 14 | public static final String GET_MEMBERSHIP_ID_BY_DISPLAY_NAME_URL = BASE_URL + PLATFORM_URI + "SearchDestinyPlayer/%s/%s/"; 15 | public static final String ACCOUNT_URI = "Account/"; 16 | public static final String GET_ACCOUNT_INFO_URL = BASE_URL + PLATFORM_URI + "%s/" + ACCOUNT_URI + "%s/"; 17 | public static final String RETROFIT_GET_ACCOUNT_INFO_URL = BASE_URL + PLATFORM_URI + "{membershipType}" + ACCOUNT_URI + "{membershipId}"; 18 | public static final String CHARACTER_URI = "Character/"; 19 | public static final String GET_CHARACTER_COMPLETE_URL = BASE_URL + PLATFORM_URI + "%s/" + ACCOUNT_URI + "%s/" + CHARACTER_URI + "%s/Complete/"; 20 | public static final String GET_INVENTORY_URL = BASE_URL + PLATFORM_URI + "%s/" + ACCOUNT_URI + "%s/" + CHARACTER_URI + "%s/Inventory/"; 21 | public static final String GET_CHARACTER_URL = BASE_URL + PLATFORM_URI + "%s/" + ACCOUNT_URI + "%s/" + CHARACTER_URI + "%s/"; 22 | public static final String LEGEND_URL = BASE_URL + LANGUAGE_URI + "/Legend/"; 23 | public static final String EQUIP_ITEM_URL = BASE_URL + PLATFORM_URI + "EquipItem/"; 24 | public static final String TRANSFER_ITEM_URL = BASE_URL + PLATFORM_URI + "TransferItem/"; 25 | public static final String VAULT_URL = BASE_URL + PLATFORM_URI + "%s/MyAccount/Vault/"; 26 | public static final String ADVISORS_URL = BASE_URL + PLATFORM_URI + "%s/MyAccount/Character/%s/Advisors/"; 27 | public static final String GET_MEMBERSHIP_URL = BASE_URL + "platform/User/GetMembershipIds/"; 28 | public static final String MANIFEST_URL = BASE_URL + PLATFORM_URI + "Manifest/"; 29 | public static final String SIGN_OUT_URL = BASE_URL + LANGUAGE_URI + "User/SignOut"; 30 | } 31 | -------------------------------------------------------------------------------- /littlelight/src/main/java/com/bungie/netplatform/destiny/representation/Equipment.java: -------------------------------------------------------------------------------- 1 | package com.bungie.netplatform.destiny.representation; 2 | 3 | import com.google.gson.annotations.Expose; 4 | 5 | import java.util.ArrayList; 6 | import java.util.List; 7 | 8 | import javax.annotation.Generated; 9 | 10 | @Generated("org.jsonschema2pojo") 11 | public class Equipment { 12 | 13 | @Expose 14 | private Long itemHash; 15 | @Expose 16 | private List dyes = new ArrayList(); 17 | 18 | /** 19 | * @return The itemHash 20 | */ 21 | public Long getItemHash() { 22 | return itemHash; 23 | } 24 | 25 | /** 26 | * @param itemHash The itemHash 27 | */ 28 | public void setItemHash(Long itemHash) { 29 | this.itemHash = itemHash; 30 | } 31 | 32 | /** 33 | * @return The dyes 34 | */ 35 | public List getDyes() { 36 | return dyes; 37 | } 38 | 39 | /** 40 | * @param dyes The dyes 41 | */ 42 | public void setDyes(List dyes) { 43 | this.dyes = dyes; 44 | } 45 | 46 | } 47 | -------------------------------------------------------------------------------- /littlelight/src/main/java/com/bungie/netplatform/destiny/representation/Equippable.java: -------------------------------------------------------------------------------- 1 | package com.bungie.netplatform.destiny.representation; 2 | 3 | import com.google.gson.annotations.Expose; 4 | 5 | import java.util.ArrayList; 6 | import java.util.List; 7 | 8 | import javax.annotation.Generated; 9 | 10 | @Generated("org.jsonschema2pojo") 11 | public class Equippable { 12 | 13 | @Expose 14 | private List items = new ArrayList(); 15 | @Expose 16 | private Long bucketHash; 17 | 18 | /** 19 | * @return The items 20 | */ 21 | public List getItems() { 22 | return items; 23 | } 24 | 25 | /** 26 | * @param items The items 27 | */ 28 | public void setItems(List items) { 29 | this.items = items; 30 | } 31 | 32 | /** 33 | * @return The bucketHash 34 | */ 35 | public Long getBucketHash() { 36 | return bucketHash; 37 | } 38 | 39 | /** 40 | * @param bucketHash The bucketHash 41 | */ 42 | public void setBucketHash(Long bucketHash) { 43 | this.bucketHash = bucketHash; 44 | } 45 | } 46 | -------------------------------------------------------------------------------- /littlelight/src/main/java/com/bungie/netplatform/destiny/representation/Event.java: -------------------------------------------------------------------------------- 1 | 2 | package com.bungie.netplatform.destiny.representation; 3 | 4 | import com.google.gson.annotations.Expose; 5 | import com.google.gson.annotations.SerializedName; 6 | 7 | import javax.annotation.Generated; 8 | 9 | @Generated("org.jsonschema2pojo") 10 | public class Event { 11 | 12 | @SerializedName("eventHash") 13 | @Expose 14 | public long eventHash; 15 | @SerializedName("friendlyIdentifier") 16 | @Expose 17 | public String friendlyIdentifier; 18 | @SerializedName("eventIdentifier") 19 | @Expose 20 | public String eventIdentifier; 21 | @SerializedName("expirationDate") 22 | @Expose 23 | public String expirationDate; 24 | @SerializedName("startDate") 25 | @Expose 26 | public String startDate; 27 | @SerializedName("expirationKnown") 28 | @Expose 29 | public boolean expirationKnown; 30 | @SerializedName("vendor") 31 | @Expose 32 | public Vendor vendor; 33 | @SerializedName("progression") 34 | @Expose 35 | public Progression progression; 36 | @SerializedName("bounties") 37 | @Expose 38 | public Bounties bounties; 39 | @SerializedName("quests") 40 | @Expose 41 | public Quests quests; 42 | @SerializedName("showNagMessage") 43 | @Expose 44 | public boolean showNagMessage; 45 | @SerializedName("active") 46 | @Expose 47 | public boolean active; 48 | 49 | } 50 | -------------------------------------------------------------------------------- /littlelight/src/main/java/com/bungie/netplatform/destiny/representation/Factions.java: -------------------------------------------------------------------------------- 1 | // 2 | //package com.bungie.netplatform.destiny.representation.temp; 3 | // 4 | //import javax.annotation.Generated; 5 | //import com.google.gson.annotations.Expose; 6 | //import com.google.gson.annotations.SerializedName; 7 | // 8 | //@Generated("org.jsonschema2pojo") 9 | //public class Factions { 10 | // 11 | // @SerializedName("174528503") 12 | // @Expose 13 | // public com.bungie.netplatform.destiny.representation._174528503 _174528503; 14 | // @SerializedName("468098704") 15 | // @Expose 16 | // public com.bungie.netplatform.destiny.representation._468098704 _468098704; 17 | // @SerializedName("489342053") 18 | // @Expose 19 | // public com.bungie.netplatform.destiny.representation._489342053 _489342053; 20 | // @SerializedName("807090922") 21 | // @Expose 22 | // public com.bungie.netplatform.destiny.representation._807090922 _807090922; 23 | // @SerializedName("964120289") 24 | // @Expose 25 | // public com.bungie.netplatform.destiny.representation._964120289 _964120289; 26 | // @SerializedName("1327783731") 27 | // @Expose 28 | // public com.bungie.netplatform.destiny.representation._1327783731 _1327783731; 29 | // @SerializedName("2161005788") 30 | // @Expose 31 | // public com.bungie.netplatform.destiny.representation._2161005788 _2161005788; 32 | // @SerializedName("2335631936") 33 | // @Expose 34 | // public com.bungie.netplatform.destiny.representation._2335631936 _2335631936; 35 | // @SerializedName("2397602219") 36 | // @Expose 37 | // public com.bungie.netplatform.destiny.representation._2397602219 _2397602219; 38 | // @SerializedName("2763619072") 39 | // @Expose 40 | // public com.bungie.netplatform.destiny.representation._2763619072 _2763619072; 41 | // @SerializedName("3197190122") 42 | // @Expose 43 | // public com.bungie.netplatform.destiny.representation._3197190122 _3197190122; 44 | // @SerializedName("3641985238") 45 | // @Expose 46 | // public com.bungie.netplatform.destiny.representation._3641985238 _3641985238; 47 | // 48 | //} 49 | -------------------------------------------------------------------------------- /littlelight/src/main/java/com/bungie/netplatform/destiny/representation/HeroicStrike.java: -------------------------------------------------------------------------------- 1 | 2 | package com.bungie.netplatform.destiny.representation; 3 | 4 | import com.google.gson.annotations.Expose; 5 | import com.google.gson.annotations.SerializedName; 6 | 7 | import java.util.ArrayList; 8 | import java.util.List; 9 | 10 | import javax.annotation.Generated; 11 | 12 | @Generated("org.jsonschema2pojo") 13 | public class HeroicStrike { 14 | 15 | @SerializedName("activityBundleHash") 16 | @Expose 17 | public long activityBundleHash; 18 | @SerializedName("expirationDate") 19 | @Expose 20 | public String expirationDate; 21 | @SerializedName("tiers") 22 | @Expose 23 | public List tiers = new ArrayList(); 24 | @SerializedName("iconPath") 25 | @Expose 26 | public String iconPath; 27 | @SerializedName("image") 28 | @Expose 29 | public String image; 30 | 31 | } 32 | -------------------------------------------------------------------------------- /littlelight/src/main/java/com/bungie/netplatform/destiny/representation/IgnoreStatus.java: -------------------------------------------------------------------------------- 1 | 2 | package com.bungie.netplatform.destiny.representation; 3 | 4 | import javax.annotation.Generated; 5 | import com.google.gson.annotations.Expose; 6 | import com.google.gson.annotations.SerializedName; 7 | 8 | @Generated("org.jsonschema2pojo") 9 | public class IgnoreStatus { 10 | 11 | @SerializedName("isIgnored") 12 | @Expose 13 | private boolean isIgnored; 14 | @SerializedName("ignoreFlags") 15 | @Expose 16 | private int ignoreFlags; 17 | 18 | /** 19 | * 20 | * @return 21 | * The isIgnored 22 | */ 23 | public boolean isIsIgnored() { 24 | return isIgnored; 25 | } 26 | 27 | /** 28 | * 29 | * @param isIgnored 30 | * The isIgnored 31 | */ 32 | public void setIsIgnored(boolean isIgnored) { 33 | this.isIgnored = isIgnored; 34 | } 35 | 36 | /** 37 | * 38 | * @return 39 | * The ignoreFlags 40 | */ 41 | public int getIgnoreFlags() { 42 | return ignoreFlags; 43 | } 44 | 45 | /** 46 | * 47 | * @param ignoreFlags 48 | * The ignoreFlags 49 | */ 50 | public void setIgnoreFlags(int ignoreFlags) { 51 | this.ignoreFlags = ignoreFlags; 52 | } 53 | 54 | } 55 | -------------------------------------------------------------------------------- /littlelight/src/main/java/com/bungie/netplatform/destiny/representation/Inventory.java: -------------------------------------------------------------------------------- 1 | package com.bungie.netplatform.destiny.representation; 2 | 3 | import com.google.gson.annotations.Expose; 4 | 5 | import java.util.ArrayList; 6 | import java.util.List; 7 | 8 | import javax.annotation.Generated; 9 | 10 | @Generated("org.jsonschema2pojo") 11 | public class Inventory { 12 | 13 | @Expose 14 | private Buckets buckets; 15 | @Expose 16 | private List currencies = new ArrayList(); 17 | 18 | /** 19 | * @return The buckets 20 | */ 21 | public Buckets getBuckets() { 22 | return buckets; 23 | } 24 | 25 | /** 26 | * @param buckets The buckets 27 | */ 28 | public void setBuckets(Buckets buckets) { 29 | this.buckets = buckets; 30 | } 31 | 32 | /** 33 | * @return The currencies 34 | */ 35 | public List getCurrencies() { 36 | return currencies; 37 | } 38 | 39 | /** 40 | * @param currencies The currencies 41 | */ 42 | public void setCurrencies(List currencies) { 43 | this.currencies = currencies; 44 | } 45 | } 46 | -------------------------------------------------------------------------------- /littlelight/src/main/java/com/bungie/netplatform/destiny/representation/Invisible.java: -------------------------------------------------------------------------------- 1 | package com.bungie.netplatform.destiny.representation; 2 | 3 | import com.google.gson.annotations.Expose; 4 | 5 | import java.util.ArrayList; 6 | import java.util.List; 7 | 8 | import javax.annotation.Generated; 9 | 10 | @Generated("org.jsonschema2pojo") 11 | public class Invisible { 12 | 13 | @Expose 14 | private List items = new ArrayList<>(); 15 | @Expose 16 | private Long bucketHash; 17 | 18 | /** 19 | * @return The items 20 | */ 21 | public List getItems() { 22 | return items; 23 | } 24 | 25 | /** 26 | * @param items The items 27 | */ 28 | public void setItems(List items) { 29 | this.items = items; 30 | } 31 | 32 | /** 33 | * @return The bucketHash 34 | */ 35 | public Long getBucketHash() { 36 | return bucketHash; 37 | } 38 | 39 | /** 40 | * @param bucketHash The bucketHash 41 | */ 42 | public void setBucketHash(Long bucketHash) { 43 | this.bucketHash = bucketHash; 44 | } 45 | } 46 | -------------------------------------------------------------------------------- /littlelight/src/main/java/com/bungie/netplatform/destiny/representation/Item.java: -------------------------------------------------------------------------------- 1 | package com.bungie.netplatform.destiny.representation; 2 | 3 | import com.google.gson.annotations.Expose; 4 | 5 | import java.util.ArrayList; 6 | import java.util.List; 7 | 8 | import javax.annotation.Generated; 9 | 10 | @Generated("org.jsonschema2pojo") 11 | public class Item { 12 | 13 | @Expose 14 | private List items = new ArrayList(); 15 | @Expose 16 | private Long bucketHash; 17 | 18 | /** 19 | * @return The items 20 | */ 21 | public List getItems() { 22 | return items; 23 | } 24 | 25 | /** 26 | * @param items The items 27 | */ 28 | public void setItems(List items) { 29 | this.items = items; 30 | } 31 | 32 | /** 33 | * @return The bucketHash 34 | */ 35 | public Long getBucketHash() { 36 | return bucketHash; 37 | } 38 | 39 | /** 40 | * @param bucketHash The bucketHash 41 | */ 42 | public void setBucketHash(Long bucketHash) { 43 | this.bucketHash = bucketHash; 44 | } 45 | } 46 | -------------------------------------------------------------------------------- /littlelight/src/main/java/com/bungie/netplatform/destiny/representation/ItemQuantities.java: -------------------------------------------------------------------------------- 1 | 2 | package com.bungie.netplatform.destiny.representation; 3 | 4 | import javax.annotation.Generated; 5 | import com.google.gson.annotations.Expose; 6 | import com.google.gson.annotations.SerializedName; 7 | 8 | @Generated("org.jsonschema2pojo") 9 | public class ItemQuantities { 10 | 11 | @SerializedName("269776572") 12 | @Expose 13 | public long _269776572; 14 | @SerializedName("738642123") 15 | @Expose 16 | public long _738642123; 17 | @SerializedName("2279897975") 18 | @Expose 19 | public long _2279897975; 20 | @SerializedName("2655612993") 21 | @Expose 22 | public long _2655612993; 23 | @SerializedName("3632619276") 24 | @Expose 25 | public long _3632619276; 26 | 27 | } 28 | -------------------------------------------------------------------------------- /littlelight/src/main/java/com/bungie/netplatform/destiny/representation/LockedDye.java: -------------------------------------------------------------------------------- 1 | package com.bungie.netplatform.destiny.representation; 2 | 3 | import com.google.gson.annotations.Expose; 4 | 5 | import javax.annotation.Generated; 6 | 7 | @Generated("org.jsonschema2pojo") 8 | public class LockedDye { 9 | 10 | @Expose 11 | private Long channelHash; 12 | @Expose 13 | private Long dyeHash; 14 | 15 | /** 16 | * @return The channelHash 17 | */ 18 | public Long getChannelHash() { 19 | return channelHash; 20 | } 21 | 22 | /** 23 | * @param channelHash The channelHash 24 | */ 25 | public void setChannelHash(Long channelHash) { 26 | this.channelHash = channelHash; 27 | } 28 | 29 | /** 30 | * @return The dyeHash 31 | */ 32 | public Long getDyeHash() { 33 | return dyeHash; 34 | } 35 | 36 | /** 37 | * @param dyeHash The dyeHash 38 | */ 39 | public void setDyeHash(Long dyeHash) { 40 | this.dyeHash = dyeHash; 41 | } 42 | 43 | } 44 | -------------------------------------------------------------------------------- /littlelight/src/main/java/com/bungie/netplatform/destiny/representation/MaterialUpgrades.java: -------------------------------------------------------------------------------- 1 | 2 | package com.bungie.netplatform.destiny.representation; 3 | 4 | import com.google.gson.annotations.Expose; 5 | import com.google.gson.annotations.SerializedName; 6 | 7 | import java.util.ArrayList; 8 | import java.util.List; 9 | 10 | import javax.annotation.Generated; 11 | 12 | @Generated("org.jsonschema2pojo") 13 | public class MaterialUpgrades { 14 | 15 | @SerializedName("activityBundleHash") 16 | @Expose 17 | public long activityBundleHash; 18 | @SerializedName("materialItemHash") 19 | @Expose 20 | public long materialItemHash; 21 | @SerializedName("itemSoidsUpgradable") 22 | @Expose 23 | public List itemSoidsUpgradable = new ArrayList(); 24 | 25 | } 26 | -------------------------------------------------------------------------------- /littlelight/src/main/java/com/bungie/netplatform/destiny/representation/MessageData.java: -------------------------------------------------------------------------------- 1 | package com.bungie.netplatform.destiny.representation; 2 | 3 | import javax.annotation.Generated; 4 | 5 | @Generated("org.jsonschema2pojo") 6 | public class MessageData { 7 | } 8 | -------------------------------------------------------------------------------- /littlelight/src/main/java/com/bungie/netplatform/destiny/representation/Nightfall.java: -------------------------------------------------------------------------------- 1 | 2 | package com.bungie.netplatform.destiny.representation; 3 | 4 | import com.google.gson.annotations.Expose; 5 | import com.google.gson.annotations.SerializedName; 6 | 7 | import java.util.ArrayList; 8 | import java.util.List; 9 | 10 | import javax.annotation.Generated; 11 | 12 | @Generated("org.jsonschema2pojo") 13 | public class Nightfall { 14 | 15 | @SerializedName("activityBundleHash") 16 | @Expose 17 | public long activityBundleHash; 18 | @SerializedName("specificActivityHash") 19 | @Expose 20 | public long specificActivityHash; 21 | @SerializedName("expirationDate") 22 | @Expose 23 | public String expirationDate; 24 | @SerializedName("tiers") 25 | @Expose 26 | public List tiers = new ArrayList(); 27 | @SerializedName("iconPath") 28 | @Expose 29 | public String iconPath; 30 | 31 | } 32 | -------------------------------------------------------------------------------- /littlelight/src/main/java/com/bungie/netplatform/destiny/representation/Node.java: -------------------------------------------------------------------------------- 1 | 2 | package com.bungie.netplatform.destiny.representation; 3 | 4 | import com.google.gson.annotations.Expose; 5 | import com.google.gson.annotations.SerializedName; 6 | 7 | import javax.annotation.Generated; 8 | 9 | @Generated("org.jsonschema2pojo") 10 | public class Node { 11 | 12 | @SerializedName("isActivated") 13 | @Expose 14 | public boolean isActivated; 15 | @SerializedName("stepIndex") 16 | @Expose 17 | public long stepIndex; 18 | @SerializedName("state") 19 | @Expose 20 | public long state; 21 | @SerializedName("hidden") 22 | @Expose 23 | public boolean hidden; 24 | @SerializedName("nodeHash") 25 | @Expose 26 | public long nodeHash; 27 | 28 | } 29 | -------------------------------------------------------------------------------- /littlelight/src/main/java/com/bungie/netplatform/destiny/representation/Objective.java: -------------------------------------------------------------------------------- 1 | 2 | package com.bungie.netplatform.destiny.representation; 3 | 4 | import javax.annotation.Generated; 5 | import com.google.gson.annotations.Expose; 6 | import com.google.gson.annotations.SerializedName; 7 | 8 | @Generated("org.jsonschema2pojo") 9 | public class Objective { 10 | 11 | @SerializedName("objectiveHash") 12 | @Expose 13 | public long objectiveHash; 14 | @SerializedName("destinationHash") 15 | @Expose 16 | public long destinationHash; 17 | @SerializedName("activityHash") 18 | @Expose 19 | public long activityHash; 20 | @SerializedName("progress") 21 | @Expose 22 | public long progress; 23 | @SerializedName("hasProgress") 24 | @Expose 25 | public boolean hasProgress; 26 | @SerializedName("isComplete") 27 | @Expose 28 | public boolean isComplete; 29 | 30 | } 31 | -------------------------------------------------------------------------------- /littlelight/src/main/java/com/bungie/netplatform/destiny/representation/PeerView.java: -------------------------------------------------------------------------------- 1 | package com.bungie.netplatform.destiny.representation; 2 | 3 | import com.google.gson.annotations.Expose; 4 | 5 | import java.util.ArrayList; 6 | import java.util.List; 7 | 8 | import javax.annotation.Generated; 9 | 10 | @Generated("org.jsonschema2pojo") 11 | public class PeerView { 12 | 13 | @Expose 14 | private List equipment = new ArrayList(); 15 | 16 | /** 17 | * @return The equipment 18 | */ 19 | public List getEquipment() { 20 | return equipment; 21 | } 22 | 23 | /** 24 | * @param equipment The equipment 25 | */ 26 | public void setEquipment(List equipment) { 27 | this.equipment = equipment; 28 | } 29 | 30 | } 31 | -------------------------------------------------------------------------------- /littlelight/src/main/java/com/bungie/netplatform/destiny/representation/PendingBounties.java: -------------------------------------------------------------------------------- 1 | 2 | package com.bungie.netplatform.destiny.representation; 3 | 4 | import com.google.gson.annotations.Expose; 5 | import com.google.gson.annotations.SerializedName; 6 | 7 | import java.util.ArrayList; 8 | import java.util.List; 9 | 10 | import javax.annotation.Generated; 11 | 12 | @Generated("org.jsonschema2pojo") 13 | public class PendingBounties { 14 | 15 | @SerializedName("saleItems") 16 | @Expose 17 | private List saleItems = new ArrayList(); 18 | 19 | /** 20 | * @return The saleItems 21 | */ 22 | public List getSaleItems() { 23 | return saleItems; 24 | } 25 | 26 | /** 27 | * @param saleItems The saleItems 28 | */ 29 | public void setSaleItems(List saleItems) { 30 | this.saleItems = saleItems; 31 | } 32 | 33 | } 34 | -------------------------------------------------------------------------------- /littlelight/src/main/java/com/bungie/netplatform/destiny/representation/Perk.java: -------------------------------------------------------------------------------- 1 | 2 | package com.bungie.netplatform.destiny.representation; 3 | 4 | import com.google.gson.annotations.Expose; 5 | import com.google.gson.annotations.SerializedName; 6 | 7 | import javax.annotation.Generated; 8 | 9 | @Generated("org.jsonschema2pojo") 10 | public class Perk { 11 | 12 | @SerializedName("iconPath") 13 | @Expose 14 | public String iconPath; 15 | @SerializedName("perkHash") 16 | @Expose 17 | public long perkHash; 18 | @SerializedName("isActive") 19 | @Expose 20 | public boolean isActive; 21 | 22 | } 23 | -------------------------------------------------------------------------------- /littlelight/src/main/java/com/bungie/netplatform/destiny/representation/PrimaryStat.java: -------------------------------------------------------------------------------- 1 | package com.bungie.netplatform.destiny.representation; 2 | 3 | import com.google.gson.annotations.Expose; 4 | 5 | import javax.annotation.Generated; 6 | 7 | @Generated("org.jsonschema2pojo") 8 | public class PrimaryStat { 9 | 10 | @Expose 11 | private Long value; 12 | @Expose 13 | private Long maximumValue; 14 | @Expose 15 | private Long statHash; 16 | 17 | /** 18 | * @return The value 19 | */ 20 | public Long getValue() { 21 | return value; 22 | } 23 | 24 | /** 25 | * @param value The value 26 | */ 27 | public void setValue(Long value) { 28 | this.value = value; 29 | } 30 | 31 | /** 32 | * @return The maximumValue 33 | */ 34 | public Long getMaximumValue() { 35 | return maximumValue; 36 | } 37 | 38 | /** 39 | * @param maximumValue The maximumValue 40 | */ 41 | public void setMaximumValue(Long maximumValue) { 42 | this.maximumValue = maximumValue; 43 | } 44 | 45 | /** 46 | * @return The statHash 47 | */ 48 | public Long getStatHash() { 49 | return statHash; 50 | } 51 | 52 | /** 53 | * @param statHash The statHash 54 | */ 55 | public void setStatHash(Long statHash) { 56 | this.statHash = statHash; 57 | } 58 | 59 | } 60 | -------------------------------------------------------------------------------- /littlelight/src/main/java/com/bungie/netplatform/destiny/representation/Quest.java: -------------------------------------------------------------------------------- 1 | 2 | package com.bungie.netplatform.destiny.representation; 3 | 4 | import com.google.gson.annotations.Expose; 5 | import com.google.gson.annotations.SerializedName; 6 | 7 | import java.util.ArrayList; 8 | import java.util.List; 9 | 10 | import javax.annotation.Generated; 11 | 12 | @Generated("org.jsonschema2pojo") 13 | public class Quest { 14 | 15 | @SerializedName("questHash") 16 | @Expose 17 | public long questHash; 18 | @SerializedName("stepHash") 19 | @Expose 20 | public long stepHash; 21 | @SerializedName("stepObjectives") 22 | @Expose 23 | public List stepObjectives = new ArrayList(); 24 | @SerializedName("tracked") 25 | @Expose 26 | public boolean tracked; 27 | @SerializedName("itemInstanceId") 28 | @Expose 29 | public String itemInstanceId; 30 | @SerializedName("completed") 31 | @Expose 32 | public boolean completed; 33 | @SerializedName("started") 34 | @Expose 35 | public boolean started; 36 | 37 | } 38 | -------------------------------------------------------------------------------- /littlelight/src/main/java/com/bungie/netplatform/destiny/representation/Quests.java: -------------------------------------------------------------------------------- 1 | 2 | package com.bungie.netplatform.destiny.representation; 3 | 4 | import javax.annotation.Generated; 5 | 6 | @Generated("org.jsonschema2pojo") 7 | public class Quests { 8 | 9 | 10 | } 11 | -------------------------------------------------------------------------------- /littlelight/src/main/java/com/bungie/netplatform/destiny/representation/Quests_.java: -------------------------------------------------------------------------------- 1 | 2 | package com.bungie.netplatform.destiny.representation; 3 | 4 | import com.google.gson.annotations.Expose; 5 | import com.google.gson.annotations.SerializedName; 6 | 7 | import java.util.ArrayList; 8 | import java.util.List; 9 | 10 | import javax.annotation.Generated; 11 | 12 | @Generated("org.jsonschema2pojo") 13 | public class Quests_ { 14 | 15 | @SerializedName("quests") 16 | @Expose 17 | public List quests = new ArrayList(); 18 | @SerializedName("enabled") 19 | @Expose 20 | public boolean enabled; 21 | 22 | } 23 | -------------------------------------------------------------------------------- /littlelight/src/main/java/com/bungie/netplatform/destiny/representation/RaidActivities.java: -------------------------------------------------------------------------------- 1 | 2 | package com.bungie.netplatform.destiny.representation; 3 | 4 | import com.google.gson.annotations.Expose; 5 | import com.google.gson.annotations.SerializedName; 6 | 7 | import java.util.ArrayList; 8 | import java.util.List; 9 | 10 | import javax.annotation.Generated; 11 | 12 | @Generated("org.jsonschema2pojo") 13 | public class RaidActivities { 14 | 15 | @SerializedName("activityBundleHash") 16 | @Expose 17 | public long activityBundleHash; 18 | @SerializedName("raidIdentifier") 19 | @Expose 20 | public String raidIdentifier; 21 | @SerializedName("friendlyIdentifier") 22 | @Expose 23 | public String friendlyIdentifier; 24 | @SerializedName("expirationDate") 25 | @Expose 26 | public String expirationDate; 27 | @SerializedName("tiers") 28 | @Expose 29 | public List tiers = new ArrayList(); 30 | @SerializedName("iconPath") 31 | @Expose 32 | public String iconPath; 33 | 34 | } 35 | -------------------------------------------------------------------------------- /littlelight/src/main/java/com/bungie/netplatform/destiny/representation/Rect.java: -------------------------------------------------------------------------------- 1 | 2 | package com.bungie.netplatform.destiny.representation; 3 | 4 | import com.google.gson.annotations.Expose; 5 | import com.google.gson.annotations.SerializedName; 6 | 7 | import javax.annotation.Generated; 8 | 9 | @Generated("org.jsonschema2pojo") 10 | public class Rect { 11 | 12 | @SerializedName("y") 13 | @Expose 14 | private Long y; 15 | @SerializedName("width") 16 | @Expose 17 | private Long width; 18 | @SerializedName("height") 19 | @Expose 20 | private Long height; 21 | @SerializedName("x") 22 | @Expose 23 | private Long x; 24 | 25 | /** 26 | * @return The y 27 | */ 28 | public Long getY() { 29 | return y; 30 | } 31 | 32 | /** 33 | * @param y The y 34 | */ 35 | public void setY(Long y) { 36 | this.y = y; 37 | } 38 | 39 | /** 40 | * @return The width 41 | */ 42 | public Long getWidth() { 43 | return width; 44 | } 45 | 46 | /** 47 | * @param width The width 48 | */ 49 | public void setWidth(Long width) { 50 | this.width = width; 51 | } 52 | 53 | /** 54 | * @return The height 55 | */ 56 | public Long getHeight() { 57 | return height; 58 | } 59 | 60 | /** 61 | * @param height The height 62 | */ 63 | public void setHeight(Long height) { 64 | this.height = height; 65 | } 66 | 67 | /** 68 | * @return The x 69 | */ 70 | public Long getX() { 71 | return x; 72 | } 73 | 74 | /** 75 | * @param x The x 76 | */ 77 | public void setX(Long x) { 78 | this.x = x; 79 | } 80 | } 81 | -------------------------------------------------------------------------------- /littlelight/src/main/java/com/bungie/netplatform/destiny/representation/Response.java: -------------------------------------------------------------------------------- 1 | package com.bungie.netplatform.destiny.representation; 2 | 3 | import com.google.gson.annotations.Expose; 4 | 5 | import javax.annotation.Generated; 6 | 7 | @Generated("org.jsonschema2pojo") 8 | public class Response { 9 | 10 | @Expose 11 | private T data; 12 | 13 | /** 14 | * @return The data 15 | */ 16 | public T getData() { 17 | return data; 18 | } 19 | 20 | /** 21 | * @param data The data 22 | */ 23 | public void setData(T data) { 24 | this.data = data; 25 | } 26 | } 27 | -------------------------------------------------------------------------------- /littlelight/src/main/java/com/bungie/netplatform/destiny/representation/RewardClaimSales.java: -------------------------------------------------------------------------------- 1 | 2 | package com.bungie.netplatform.destiny.representation; 3 | 4 | import javax.annotation.Generated; 5 | 6 | @Generated("org.jsonschema2pojo") 7 | public class RewardClaimSales { 8 | 9 | } 10 | -------------------------------------------------------------------------------- /littlelight/src/main/java/com/bungie/netplatform/destiny/representation/Round.java: -------------------------------------------------------------------------------- 1 | 2 | package com.bungie.netplatform.destiny.representation; 3 | 4 | import com.google.gson.annotations.Expose; 5 | import com.google.gson.annotations.SerializedName; 6 | 7 | import java.util.ArrayList; 8 | import java.util.List; 9 | 10 | import javax.annotation.Generated; 11 | 12 | @Generated("org.jsonschema2pojo") 13 | public class Round { 14 | 15 | @SerializedName("enemyRaceHash") 16 | @Expose 17 | public long enemyRaceHash; 18 | @SerializedName("skulls") 19 | @Expose 20 | public List skulls = new ArrayList(); 21 | 22 | @SerializedName("bossCombatantHash") 23 | @Expose 24 | public long bossCombatantHash; 25 | @SerializedName("bossLightLevel") 26 | @Expose 27 | public long bossLightLevel; 28 | } 29 | -------------------------------------------------------------------------------- /littlelight/src/main/java/com/bungie/netplatform/destiny/representation/STAT_AGILITY.java: -------------------------------------------------------------------------------- 1 | package com.bungie.netplatform.destiny.representation; 2 | 3 | import com.google.gson.annotations.Expose; 4 | 5 | import javax.annotation.Generated; 6 | 7 | @Generated("org.jsonschema2pojo") 8 | public class STAT_AGILITY { 9 | 10 | @Expose 11 | private Long value; 12 | @Expose 13 | private Long maximumValue; 14 | @Expose 15 | private Long statHash; 16 | 17 | /** 18 | * @return The value 19 | */ 20 | public Long getValue() { 21 | return value; 22 | } 23 | 24 | /** 25 | * @param value The value 26 | */ 27 | public void setValue(Long value) { 28 | this.value = value; 29 | } 30 | 31 | /** 32 | * @return The maximumValue 33 | */ 34 | public Long getMaximumValue() { 35 | return maximumValue; 36 | } 37 | 38 | /** 39 | * @param maximumValue The maximumValue 40 | */ 41 | public void setMaximumValue(Long maximumValue) { 42 | this.maximumValue = maximumValue; 43 | } 44 | 45 | /** 46 | * @return The statHash 47 | */ 48 | public Long getStatHash() { 49 | return statHash; 50 | } 51 | 52 | /** 53 | * @param statHash The statHash 54 | */ 55 | public void setStatHash(Long statHash) { 56 | this.statHash = statHash; 57 | } 58 | 59 | } 60 | -------------------------------------------------------------------------------- /littlelight/src/main/java/com/bungie/netplatform/destiny/representation/STAT_ARMOR.java: -------------------------------------------------------------------------------- 1 | package com.bungie.netplatform.destiny.representation; 2 | 3 | import com.google.gson.annotations.Expose; 4 | 5 | import javax.annotation.Generated; 6 | 7 | @Generated("org.jsonschema2pojo") 8 | public class STAT_ARMOR { 9 | 10 | @Expose 11 | private Long value; 12 | @Expose 13 | private Long maximumValue; 14 | @Expose 15 | private Long statHash; 16 | 17 | /** 18 | * @return The value 19 | */ 20 | public Long getValue() { 21 | return value; 22 | } 23 | 24 | /** 25 | * @param value The value 26 | */ 27 | public void setValue(Long value) { 28 | this.value = value; 29 | } 30 | 31 | /** 32 | * @return The maximumValue 33 | */ 34 | public Long getMaximumValue() { 35 | return maximumValue; 36 | } 37 | 38 | /** 39 | * @param maximumValue The maximumValue 40 | */ 41 | public void setMaximumValue(Long maximumValue) { 42 | this.maximumValue = maximumValue; 43 | } 44 | 45 | /** 46 | * @return The statHash 47 | */ 48 | public Long getStatHash() { 49 | return statHash; 50 | } 51 | 52 | /** 53 | * @param statHash The statHash 54 | */ 55 | public void setStatHash(Long statHash) { 56 | this.statHash = statHash; 57 | } 58 | 59 | } 60 | -------------------------------------------------------------------------------- /littlelight/src/main/java/com/bungie/netplatform/destiny/representation/STAT_DEFENSE.java: -------------------------------------------------------------------------------- 1 | package com.bungie.netplatform.destiny.representation; 2 | 3 | import com.google.gson.annotations.Expose; 4 | 5 | import javax.annotation.Generated; 6 | 7 | @Generated("org.jsonschema2pojo") 8 | public class STAT_DEFENSE { 9 | 10 | @Expose 11 | private Long value; 12 | @Expose 13 | private Long maximumValue; 14 | @Expose 15 | private Long statHash; 16 | 17 | /** 18 | * @return The value 19 | */ 20 | public Long getValue() { 21 | return value; 22 | } 23 | 24 | /** 25 | * @param value The value 26 | */ 27 | public void setValue(Long value) { 28 | this.value = value; 29 | } 30 | 31 | /** 32 | * @return The maximumValue 33 | */ 34 | public Long getMaximumValue() { 35 | return maximumValue; 36 | } 37 | 38 | /** 39 | * @param maximumValue The maximumValue 40 | */ 41 | public void setMaximumValue(Long maximumValue) { 42 | this.maximumValue = maximumValue; 43 | } 44 | 45 | /** 46 | * @return The statHash 47 | */ 48 | public Long getStatHash() { 49 | return statHash; 50 | } 51 | 52 | /** 53 | * @param statHash The statHash 54 | */ 55 | public void setStatHash(Long statHash) { 56 | this.statHash = statHash; 57 | } 58 | 59 | } 60 | -------------------------------------------------------------------------------- /littlelight/src/main/java/com/bungie/netplatform/destiny/representation/STAT_DISCIPLINE.java: -------------------------------------------------------------------------------- 1 | package com.bungie.netplatform.destiny.representation; 2 | 3 | import com.google.gson.annotations.Expose; 4 | 5 | import javax.annotation.Generated; 6 | 7 | @Generated("org.jsonschema2pojo") 8 | public class STAT_DISCIPLINE { 9 | 10 | @Expose 11 | private Long value; 12 | @Expose 13 | private Long maximumValue; 14 | @Expose 15 | private Long statHash; 16 | 17 | /** 18 | * @return The value 19 | */ 20 | public Long getValue() { 21 | return value; 22 | } 23 | 24 | /** 25 | * @param value The value 26 | */ 27 | public void setValue(Long value) { 28 | this.value = value; 29 | } 30 | 31 | /** 32 | * @return The maximumValue 33 | */ 34 | public Long getMaximumValue() { 35 | return maximumValue; 36 | } 37 | 38 | /** 39 | * @param maximumValue The maximumValue 40 | */ 41 | public void setMaximumValue(Long maximumValue) { 42 | this.maximumValue = maximumValue; 43 | } 44 | 45 | /** 46 | * @return The statHash 47 | */ 48 | public Long getStatHash() { 49 | return statHash; 50 | } 51 | 52 | /** 53 | * @param statHash The statHash 54 | */ 55 | public void setStatHash(Long statHash) { 56 | this.statHash = statHash; 57 | } 58 | 59 | } 60 | -------------------------------------------------------------------------------- /littlelight/src/main/java/com/bungie/netplatform/destiny/representation/STAT_INTELLECT.java: -------------------------------------------------------------------------------- 1 | package com.bungie.netplatform.destiny.representation; 2 | 3 | import com.google.gson.annotations.Expose; 4 | 5 | import javax.annotation.Generated; 6 | 7 | @Generated("org.jsonschema2pojo") 8 | public class STAT_INTELLECT { 9 | 10 | @Expose 11 | private Long value; 12 | @Expose 13 | private Long maximumValue; 14 | @Expose 15 | private Long statHash; 16 | 17 | /** 18 | * @return The value 19 | */ 20 | public Long getValue() { 21 | return value; 22 | } 23 | 24 | /** 25 | * @param value The value 26 | */ 27 | public void setValue(Long value) { 28 | this.value = value; 29 | } 30 | 31 | /** 32 | * @return The maximumValue 33 | */ 34 | public Long getMaximumValue() { 35 | return maximumValue; 36 | } 37 | 38 | /** 39 | * @param maximumValue The maximumValue 40 | */ 41 | public void setMaximumValue(Long maximumValue) { 42 | this.maximumValue = maximumValue; 43 | } 44 | 45 | /** 46 | * @return The statHash 47 | */ 48 | public Long getStatHash() { 49 | return statHash; 50 | } 51 | 52 | /** 53 | * @param statHash The statHash 54 | */ 55 | public void setStatHash(Long statHash) { 56 | this.statHash = statHash; 57 | } 58 | 59 | } 60 | -------------------------------------------------------------------------------- /littlelight/src/main/java/com/bungie/netplatform/destiny/representation/STAT_LIGHT.java: -------------------------------------------------------------------------------- 1 | package com.bungie.netplatform.destiny.representation; 2 | 3 | import com.google.gson.annotations.Expose; 4 | 5 | import javax.annotation.Generated; 6 | 7 | @Generated("org.jsonschema2pojo") 8 | public class STAT_LIGHT { 9 | 10 | @Expose 11 | private Long value; 12 | @Expose 13 | private Long maximumValue; 14 | @Expose 15 | private Long statHash; 16 | 17 | /** 18 | * @return The value 19 | */ 20 | public Long getValue() { 21 | return value; 22 | } 23 | 24 | /** 25 | * @param value The value 26 | */ 27 | public void setValue(Long value) { 28 | this.value = value; 29 | } 30 | 31 | /** 32 | * @return The maximumValue 33 | */ 34 | public Long getMaximumValue() { 35 | return maximumValue; 36 | } 37 | 38 | /** 39 | * @param maximumValue The maximumValue 40 | */ 41 | public void setMaximumValue(Long maximumValue) { 42 | this.maximumValue = maximumValue; 43 | } 44 | 45 | /** 46 | * @return The statHash 47 | */ 48 | public Long getStatHash() { 49 | return statHash; 50 | } 51 | 52 | /** 53 | * @param statHash The statHash 54 | */ 55 | public void setStatHash(Long statHash) { 56 | this.statHash = statHash; 57 | } 58 | 59 | } 60 | -------------------------------------------------------------------------------- /littlelight/src/main/java/com/bungie/netplatform/destiny/representation/STAT_OPTICS.java: -------------------------------------------------------------------------------- 1 | package com.bungie.netplatform.destiny.representation; 2 | 3 | import com.google.gson.annotations.Expose; 4 | 5 | import javax.annotation.Generated; 6 | 7 | @Generated("org.jsonschema2pojo") 8 | public class STAT_OPTICS { 9 | 10 | @Expose 11 | private Long value; 12 | @Expose 13 | private Long maximumValue; 14 | @Expose 15 | private Long statHash; 16 | 17 | /** 18 | * @return The value 19 | */ 20 | public Long getValue() { 21 | return value; 22 | } 23 | 24 | /** 25 | * @param value The value 26 | */ 27 | public void setValue(Long value) { 28 | this.value = value; 29 | } 30 | 31 | /** 32 | * @return The maximumValue 33 | */ 34 | public Long getMaximumValue() { 35 | return maximumValue; 36 | } 37 | 38 | /** 39 | * @param maximumValue The maximumValue 40 | */ 41 | public void setMaximumValue(Long maximumValue) { 42 | this.maximumValue = maximumValue; 43 | } 44 | 45 | /** 46 | * @return The statHash 47 | */ 48 | public Long getStatHash() { 49 | return statHash; 50 | } 51 | 52 | /** 53 | * @param statHash The statHash 54 | */ 55 | public void setStatHash(Long statHash) { 56 | this.statHash = statHash; 57 | } 58 | 59 | } 60 | -------------------------------------------------------------------------------- /littlelight/src/main/java/com/bungie/netplatform/destiny/representation/STAT_RECOVERY.java: -------------------------------------------------------------------------------- 1 | package com.bungie.netplatform.destiny.representation; 2 | 3 | import com.google.gson.annotations.Expose; 4 | 5 | import javax.annotation.Generated; 6 | 7 | @Generated("org.jsonschema2pojo") 8 | public class STAT_RECOVERY { 9 | 10 | @Expose 11 | private Long value; 12 | @Expose 13 | private Long maximumValue; 14 | @Expose 15 | private Long statHash; 16 | 17 | /** 18 | * @return The value 19 | */ 20 | public Long getValue() { 21 | return value; 22 | } 23 | 24 | /** 25 | * @param value The value 26 | */ 27 | public void setValue(Long value) { 28 | this.value = value; 29 | } 30 | 31 | /** 32 | * @return The maximumValue 33 | */ 34 | public Long getMaximumValue() { 35 | return maximumValue; 36 | } 37 | 38 | /** 39 | * @param maximumValue The maximumValue 40 | */ 41 | public void setMaximumValue(Long maximumValue) { 42 | this.maximumValue = maximumValue; 43 | } 44 | 45 | /** 46 | * @return The statHash 47 | */ 48 | public Long getStatHash() { 49 | return statHash; 50 | } 51 | 52 | /** 53 | * @param statHash The statHash 54 | */ 55 | public void setStatHash(Long statHash) { 56 | this.statHash = statHash; 57 | } 58 | 59 | } 60 | -------------------------------------------------------------------------------- /littlelight/src/main/java/com/bungie/netplatform/destiny/representation/STAT_STRENGTH.java: -------------------------------------------------------------------------------- 1 | package com.bungie.netplatform.destiny.representation; 2 | 3 | import com.google.gson.annotations.Expose; 4 | 5 | import javax.annotation.Generated; 6 | 7 | @Generated("org.jsonschema2pojo") 8 | public class STAT_STRENGTH { 9 | 10 | @Expose 11 | private Long value; 12 | @Expose 13 | private Long maximumValue; 14 | @Expose 15 | private Long statHash; 16 | 17 | /** 18 | * @return The value 19 | */ 20 | public Long getValue() { 21 | return value; 22 | } 23 | 24 | /** 25 | * @param value The value 26 | */ 27 | public void setValue(Long value) { 28 | this.value = value; 29 | } 30 | 31 | /** 32 | * @return The maximumValue 33 | */ 34 | public Long getMaximumValue() { 35 | return maximumValue; 36 | } 37 | 38 | /** 39 | * @param maximumValue The maximumValue 40 | */ 41 | public void setMaximumValue(Long maximumValue) { 42 | this.maximumValue = maximumValue; 43 | } 44 | 45 | /** 46 | * @return The statHash 47 | */ 48 | public Long getStatHash() { 49 | return statHash; 50 | } 51 | 52 | /** 53 | * @param statHash The statHash 54 | */ 55 | public void setStatHash(Long statHash) { 56 | this.statHash = statHash; 57 | } 58 | 59 | } 60 | -------------------------------------------------------------------------------- /littlelight/src/main/java/com/bungie/netplatform/destiny/representation/SaleItem.java: -------------------------------------------------------------------------------- 1 | 2 | package com.bungie.netplatform.destiny.representation; 3 | 4 | import com.google.gson.annotations.Expose; 5 | import com.google.gson.annotations.SerializedName; 6 | 7 | import java.util.ArrayList; 8 | import java.util.List; 9 | 10 | import javax.annotation.Generated; 11 | 12 | @Generated("org.jsonschema2pojo") 13 | public class SaleItem { 14 | 15 | @SerializedName("item") 16 | @Expose 17 | public Item item; 18 | @SerializedName("vendorItemIndex") 19 | @Expose 20 | public long vendorItemIndex; 21 | @SerializedName("itemStatus") 22 | @Expose 23 | public long itemStatus; 24 | @SerializedName("costs") 25 | @Expose 26 | public List costs = new ArrayList(); 27 | @SerializedName("requiredUnlockFlags") 28 | @Expose 29 | public List requiredUnlockFlags = new ArrayList(); 30 | @SerializedName("unlockStatuses") 31 | @Expose 32 | public List unlockStatuses = new ArrayList(); 33 | @SerializedName("failureIndexes") 34 | @Expose 35 | public List failureIndexes = new ArrayList(); 36 | 37 | } 38 | -------------------------------------------------------------------------------- /littlelight/src/main/java/com/bungie/netplatform/destiny/representation/SaleItemCategory.java: -------------------------------------------------------------------------------- 1 | 2 | package com.bungie.netplatform.destiny.representation; 3 | 4 | import java.util.ArrayList; 5 | import java.util.List; 6 | import javax.annotation.Generated; 7 | 8 | import com.bungie.netplatform.destiny.representation.*; 9 | import com.google.gson.annotations.Expose; 10 | import com.google.gson.annotations.SerializedName; 11 | 12 | @Generated("org.jsonschema2pojo") 13 | public class SaleItemCategory { 14 | 15 | @SerializedName("categoryIndex") 16 | @Expose 17 | public long categoryIndex; 18 | @SerializedName("categoryTitle") 19 | @Expose 20 | public String categoryTitle; 21 | @SerializedName("saleItems") 22 | @Expose 23 | public List saleItems = new ArrayList(); 24 | 25 | } 26 | -------------------------------------------------------------------------------- /littlelight/src/main/java/com/bungie/netplatform/destiny/representation/SheetSize.java: -------------------------------------------------------------------------------- 1 | 2 | package com.bungie.netplatform.destiny.representation; 3 | 4 | import com.google.gson.annotations.Expose; 5 | import com.google.gson.annotations.SerializedName; 6 | 7 | import javax.annotation.Generated; 8 | 9 | @Generated("org.jsonschema2pojo") 10 | public class SheetSize { 11 | 12 | @SerializedName("y") 13 | @Expose 14 | private Long y; 15 | @SerializedName("width") 16 | @Expose 17 | private Long width; 18 | @SerializedName("height") 19 | @Expose 20 | private Long height; 21 | @SerializedName("x") 22 | @Expose 23 | private Long x; 24 | 25 | /** 26 | * @return The y 27 | */ 28 | public Long getY() { 29 | return y; 30 | } 31 | 32 | /** 33 | * @param y The y 34 | */ 35 | public void setY(Long y) { 36 | this.y = y; 37 | } 38 | 39 | /** 40 | * @return The width 41 | */ 42 | public Long getWidth() { 43 | return width; 44 | } 45 | 46 | /** 47 | * @param width The width 48 | */ 49 | public void setWidth(Long width) { 50 | this.width = width; 51 | } 52 | 53 | /** 54 | * @return The height 55 | */ 56 | public Long getHeight() { 57 | return height; 58 | } 59 | 60 | /** 61 | * @param height The height 62 | */ 63 | public void setHeight(Long height) { 64 | this.height = height; 65 | } 66 | 67 | /** 68 | * @return The x 69 | */ 70 | public Long getX() { 71 | return x; 72 | } 73 | 74 | /** 75 | * @param x The x 76 | */ 77 | public void setX(Long x) { 78 | this.x = x; 79 | } 80 | 81 | } 82 | -------------------------------------------------------------------------------- /littlelight/src/main/java/com/bungie/netplatform/destiny/representation/SmallImage.java: -------------------------------------------------------------------------------- 1 | 2 | package com.bungie.netplatform.destiny.representation; 3 | 4 | import com.google.gson.annotations.Expose; 5 | import com.google.gson.annotations.SerializedName; 6 | 7 | import javax.annotation.Generated; 8 | 9 | @Generated("org.jsonschema2pojo") 10 | public class SmallImage { 11 | 12 | @SerializedName("sheetPath") 13 | @Expose 14 | private String sheetPath; 15 | @SerializedName("rect") 16 | @Expose 17 | private Rect rect; 18 | @SerializedName("sheetSize") 19 | @Expose 20 | private SheetSize sheetSize; 21 | 22 | /** 23 | * @return The sheetPath 24 | */ 25 | public String getSheetPath() { 26 | return sheetPath; 27 | } 28 | 29 | /** 30 | * @param sheetPath The sheetPath 31 | */ 32 | public void setSheetPath(String sheetPath) { 33 | this.sheetPath = sheetPath; 34 | } 35 | 36 | /** 37 | * @return The rect 38 | */ 39 | public Rect getRect() { 40 | return rect; 41 | } 42 | 43 | /** 44 | * @param rect The rect 45 | */ 46 | public void setRect(Rect rect) { 47 | this.rect = rect; 48 | } 49 | 50 | /** 51 | * @return The sheetSize 52 | */ 53 | public SheetSize getSheetSize() { 54 | return sheetSize; 55 | } 56 | 57 | /** 58 | * @param sheetSize The sheetSize 59 | */ 60 | public void setSheetSize(SheetSize sheetSize) { 61 | this.sheetSize = sheetSize; 62 | } 63 | } 64 | -------------------------------------------------------------------------------- /littlelight/src/main/java/com/bungie/netplatform/destiny/representation/Stat.java: -------------------------------------------------------------------------------- 1 | package com.bungie.netplatform.destiny.representation; 2 | 3 | import com.google.gson.annotations.Expose; 4 | 5 | import javax.annotation.Generated; 6 | 7 | @Generated("org.jsonschema2pojo") 8 | public class Stat { 9 | 10 | @Expose 11 | private Long value; 12 | @Expose 13 | private Long maximumValue; 14 | @Expose 15 | private Long statHash; 16 | 17 | /** 18 | * @return The value 19 | */ 20 | public Long getValue() { 21 | return value; 22 | } 23 | 24 | /** 25 | * @param value The value 26 | */ 27 | public void setValue(Long value) { 28 | this.value = value; 29 | } 30 | 31 | /** 32 | * @return The maximumValue 33 | */ 34 | public Long getMaximumValue() { 35 | return maximumValue; 36 | } 37 | 38 | /** 39 | * @param maximumValue The maximumValue 40 | */ 41 | public void setMaximumValue(Long maximumValue) { 42 | this.maximumValue = maximumValue; 43 | } 44 | 45 | /** 46 | * @return The statHash 47 | */ 48 | public Long getStatHash() { 49 | return statHash; 50 | } 51 | 52 | /** 53 | * @param statHash The statHash 54 | */ 55 | public void setStatHash(Long statHash) { 56 | this.statHash = statHash; 57 | } 58 | } 59 | -------------------------------------------------------------------------------- /littlelight/src/main/java/com/bungie/netplatform/destiny/representation/Stats__.java: -------------------------------------------------------------------------------- 1 | package com.bungie.netplatform.destiny.representation; 2 | 3 | import javax.annotation.Generated; 4 | 5 | @Generated("org.jsonschema2pojo") 6 | public class Stats__ { 7 | 8 | 9 | } 10 | -------------------------------------------------------------------------------- /littlelight/src/main/java/com/bungie/netplatform/destiny/representation/Step.java: -------------------------------------------------------------------------------- 1 | 2 | package com.bungie.netplatform.destiny.representation; 3 | 4 | import com.google.gson.annotations.Expose; 5 | import com.google.gson.annotations.SerializedName; 6 | 7 | import javax.annotation.Generated; 8 | 9 | @Generated("org.jsonschema2pojo") 10 | public class Step { 11 | 12 | @SerializedName("isComplete") 13 | @Expose 14 | public boolean isComplete; 15 | 16 | } 17 | -------------------------------------------------------------------------------- /littlelight/src/main/java/com/bungie/netplatform/destiny/representation/StepObjective.java: -------------------------------------------------------------------------------- 1 | 2 | package com.bungie.netplatform.destiny.representation; 3 | 4 | import javax.annotation.Generated; 5 | import com.google.gson.annotations.Expose; 6 | import com.google.gson.annotations.SerializedName; 7 | 8 | @Generated("org.jsonschema2pojo") 9 | public class StepObjective { 10 | 11 | @SerializedName("objectiveHash") 12 | @Expose 13 | public long objectiveHash; 14 | @SerializedName("destinationHash") 15 | @Expose 16 | public long destinationHash; 17 | @SerializedName("activityHash") 18 | @Expose 19 | public long activityHash; 20 | @SerializedName("progress") 21 | @Expose 22 | public long progress; 23 | @SerializedName("hasProgress") 24 | @Expose 25 | public boolean hasProgress; 26 | @SerializedName("isComplete") 27 | @Expose 28 | public boolean isComplete; 29 | 30 | } 31 | -------------------------------------------------------------------------------- /littlelight/src/main/java/com/bungie/netplatform/destiny/representation/Ticket.java: -------------------------------------------------------------------------------- 1 | 2 | package com.bungie.netplatform.destiny.representation; 3 | 4 | import com.google.gson.annotations.Expose; 5 | import com.google.gson.annotations.SerializedName; 6 | 7 | import javax.annotation.Generated; 8 | 9 | @Generated("org.jsonschema2pojo") 10 | public class Ticket { 11 | 12 | @SerializedName("hasTicket") 13 | @Expose 14 | public boolean hasTicket; 15 | @SerializedName("maxWins") 16 | @Expose 17 | public long maxWins; 18 | @SerializedName("maxLosses") 19 | @Expose 20 | public long maxLosses; 21 | @SerializedName("wins") 22 | @Expose 23 | public long wins; 24 | @SerializedName("losses") 25 | @Expose 26 | public long losses; 27 | 28 | } 29 | -------------------------------------------------------------------------------- /littlelight/src/main/java/com/bungie/netplatform/destiny/representation/Tier.java: -------------------------------------------------------------------------------- 1 | 2 | package com.bungie.netplatform.destiny.representation; 3 | 4 | import com.google.gson.annotations.Expose; 5 | import com.google.gson.annotations.SerializedName; 6 | 7 | import java.util.ArrayList; 8 | import java.util.List; 9 | 10 | import javax.annotation.Generated; 11 | 12 | @Generated("org.jsonschema2pojo") 13 | public class Tier { 14 | 15 | @SerializedName("activityHash") 16 | @Expose 17 | public long activityHash; 18 | @SerializedName("stepsComplete") 19 | @Expose 20 | public long stepsComplete; 21 | @SerializedName("stepsTotal") 22 | @Expose 23 | public long stepsTotal; 24 | @SerializedName("steps") 25 | @Expose 26 | public List steps = new ArrayList(); 27 | @SerializedName("difficultyIdentifier") 28 | @Expose 29 | public String difficultyIdentifier; 30 | @SerializedName("activeRewardIndexes") 31 | @Expose 32 | public List activeRewardIndexes = new ArrayList(); 33 | @SerializedName("skullIndexes") 34 | @Expose 35 | public List skullIndexes = new ArrayList(); 36 | 37 | @SerializedName("specificActivityHash") 38 | @Expose 39 | public long specificActivityHash; 40 | @SerializedName("isCompleted") 41 | @Expose 42 | public boolean isCompleted; 43 | @SerializedName("isSuccessful") 44 | @Expose 45 | public boolean isSuccessful; 46 | } 47 | -------------------------------------------------------------------------------- /littlelight/src/main/java/com/bungie/netplatform/destiny/representation/Trials.java: -------------------------------------------------------------------------------- 1 | 2 | package com.bungie.netplatform.destiny.representation; 3 | 4 | import com.google.gson.annotations.Expose; 5 | import com.google.gson.annotations.SerializedName; 6 | 7 | import java.util.ArrayList; 8 | import java.util.List; 9 | 10 | import javax.annotation.Generated; 11 | 12 | @Generated("org.jsonschema2pojo") 13 | public class Trials { 14 | 15 | @SerializedName("highestWinRank") 16 | @Expose 17 | public long highestWinRank; 18 | @SerializedName("active") 19 | @Expose 20 | public boolean active; 21 | @SerializedName("scheduled") 22 | @Expose 23 | public boolean scheduled; 24 | @SerializedName("startDate") 25 | @Expose 26 | public String startDate; 27 | @SerializedName("expirationDate") 28 | @Expose 29 | public String expirationDate; 30 | @SerializedName("ticket") 31 | @Expose 32 | public Ticket ticket; 33 | @SerializedName("winDetails") 34 | @Expose 35 | public List winDetails = new ArrayList(); 36 | @SerializedName("buffs") 37 | @Expose 38 | public List buffs = new ArrayList(); 39 | @SerializedName("currency") 40 | @Expose 41 | public Currency currency; 42 | @SerializedName("vendorHash") 43 | @Expose 44 | public long vendorHash; 45 | @SerializedName("playlistHash") 46 | @Expose 47 | public long playlistHash; 48 | @SerializedName("activityHashes") 49 | @Expose 50 | public List activityHashes = new ArrayList(); 51 | 52 | } 53 | -------------------------------------------------------------------------------- /littlelight/src/main/java/com/bungie/netplatform/destiny/representation/UnlockStatus.java: -------------------------------------------------------------------------------- 1 | 2 | package com.bungie.netplatform.destiny.representation; 3 | 4 | import com.google.gson.annotations.Expose; 5 | import com.google.gson.annotations.SerializedName; 6 | 7 | import javax.annotation.Generated; 8 | 9 | @Generated("org.jsonschema2pojo") 10 | public class UnlockStatus { 11 | 12 | @SerializedName("unlockFlagHash") 13 | @Expose 14 | public long unlockFlagHash; 15 | @SerializedName("isSet") 16 | @Expose 17 | public boolean isSet; 18 | 19 | } 20 | -------------------------------------------------------------------------------- /littlelight/src/main/java/com/bungie/netplatform/destiny/representation/UserResponse.java: -------------------------------------------------------------------------------- 1 | package com.bungie.netplatform.destiny.representation; 2 | 3 | import com.google.gson.annotations.Expose; 4 | 5 | import javax.annotation.Generated; 6 | 7 | @Generated("org.jsonschema2pojo") 8 | public class UserResponse { 9 | 10 | @Expose 11 | private User user; 12 | 13 | /** 14 | * @return The user 15 | */ 16 | public User getUser() { 17 | return user; 18 | } 19 | 20 | /** 21 | * @param data The user 22 | */ 23 | public void setUser(User user) { 24 | this.user = user; 25 | } 26 | } 27 | -------------------------------------------------------------------------------- /littlelight/src/main/java/com/bungie/netplatform/destiny/representation/Values.java: -------------------------------------------------------------------------------- 1 | 2 | package com.bungie.netplatform.destiny.representation; 3 | 4 | import javax.annotation.Generated; 5 | 6 | @Generated("org.jsonschema2pojo") 7 | public class Values { 8 | 9 | } 10 | -------------------------------------------------------------------------------- /littlelight/src/main/java/com/bungie/netplatform/destiny/representation/Vault.java: -------------------------------------------------------------------------------- 1 | package com.bungie.netplatform.destiny.representation; 2 | 3 | import com.google.gson.annotations.Expose; 4 | 5 | import java.util.ArrayList; 6 | import java.util.List; 7 | 8 | import javax.annotation.Generated; 9 | 10 | @Generated("org.jsonschema2pojo") 11 | public class Vault { 12 | 13 | @Expose 14 | private List buckets = new ArrayList(); 15 | 16 | /** 17 | * @return The buckets 18 | */ 19 | public List getBuckets() { 20 | return buckets; 21 | } 22 | 23 | /** 24 | * @param buckets The buckets 25 | */ 26 | public void setBuckets(List buckets) { 27 | this.buckets = buckets; 28 | } 29 | } 30 | -------------------------------------------------------------------------------- /littlelight/src/main/java/com/bungie/netplatform/destiny/representation/Vendor.java: -------------------------------------------------------------------------------- 1 | 2 | package com.bungie.netplatform.destiny.representation; 3 | 4 | import com.google.gson.annotations.Expose; 5 | import com.google.gson.annotations.SerializedName; 6 | 7 | import java.util.ArrayList; 8 | import java.util.List; 9 | 10 | import javax.annotation.Generated; 11 | 12 | @Generated("org.jsonschema2pojo") 13 | public class Vendor { 14 | 15 | @SerializedName("vendorHash") 16 | @Expose 17 | public long vendorHash; 18 | @SerializedName("ackState") 19 | @Expose 20 | public AckState ackState; 21 | @SerializedName("nextRefreshDate") 22 | @Expose 23 | public String nextRefreshDate; 24 | @SerializedName("enabled") 25 | @Expose 26 | public boolean enabled; 27 | @SerializedName("saleItemCategories") 28 | @Expose 29 | public List saleItemCategories = new ArrayList(); 30 | @SerializedName("inventoryBuckets") 31 | @Expose 32 | public List inventoryBuckets = new ArrayList(); 33 | @SerializedName("progression") 34 | @Expose 35 | public Progression progression; 36 | @SerializedName("canPurchase") 37 | @Expose 38 | public boolean canPurchase; 39 | @SerializedName("currencies") 40 | @Expose 41 | public Currencies currencies; 42 | 43 | } 44 | -------------------------------------------------------------------------------- /littlelight/src/main/java/com/bungie/netplatform/destiny/representation/VendorAdvisors.java: -------------------------------------------------------------------------------- 1 | 2 | package com.bungie.netplatform.destiny.representation; 3 | 4 | import javax.annotation.Generated; 5 | 6 | @Generated("org.jsonschema2pojo") 7 | public class VendorAdvisors { 8 | 9 | 10 | } 11 | -------------------------------------------------------------------------------- /littlelight/src/main/java/com/jam01/littlelight/adapter/common/persistence/inventory/InMemoryInventoryRepository.java: -------------------------------------------------------------------------------- 1 | package com.jam01.littlelight.adapter.common.persistence.inventory; 2 | 3 | import com.jam01.littlelight.domain.identityaccess.AccountId; 4 | import com.jam01.littlelight.domain.inventory.Inventory; 5 | import com.jam01.littlelight.domain.inventory.InventoryRepository; 6 | 7 | import java.util.Collection; 8 | import java.util.HashMap; 9 | import java.util.Map; 10 | 11 | /** 12 | * Created by jam01 on 7/23/16. 13 | */ 14 | public class InMemoryInventoryRepository implements InventoryRepository { 15 | private Map inventoryMap; 16 | 17 | public InMemoryInventoryRepository() { 18 | this.inventoryMap = new HashMap<>(); 19 | } 20 | 21 | @Override 22 | public Collection all() { 23 | return inventoryMap.values(); 24 | } 25 | 26 | @Override 27 | public boolean hasOfAccount(AccountId anAccountId) { 28 | return inventoryMap.containsKey(anAccountId); 29 | } 30 | 31 | @Override 32 | public Inventory thatContains(String aBagId) { 33 | for (Inventory instance : inventoryMap.values()) { 34 | if (instance.containsItemBag(aBagId)) { 35 | return instance; 36 | } 37 | } 38 | return null; 39 | } 40 | 41 | @Override 42 | public Inventory ofAccount(AccountId anAccountId) { 43 | return inventoryMap.get(anAccountId); 44 | } 45 | 46 | @Override 47 | public void add(Inventory inventory) { 48 | inventoryMap.put(inventory.withAccountId(), inventory); 49 | } 50 | 51 | @Override 52 | public void addAll(Collection inventories) { 53 | for (Inventory instance : inventories) { 54 | add(instance); 55 | } 56 | } 57 | 58 | @Override 59 | public void remove(AccountId anAccountId) { 60 | inventoryMap.remove(anAccountId); 61 | } 62 | 63 | @Override 64 | public void removeAll() { 65 | inventoryMap.clear(); 66 | } 67 | } 68 | -------------------------------------------------------------------------------- /littlelight/src/main/java/com/jam01/littlelight/adapter/common/persistence/legend/InMemoryLegendRepository.java: -------------------------------------------------------------------------------- 1 | package com.jam01.littlelight.adapter.common.persistence.legend; 2 | 3 | import com.jam01.littlelight.domain.identityaccess.AccountId; 4 | import com.jam01.littlelight.domain.legend.Legend; 5 | import com.jam01.littlelight.domain.legend.LegendRepository; 6 | 7 | import java.util.Collection; 8 | import java.util.HashMap; 9 | import java.util.Map; 10 | 11 | /** 12 | * Created by jam01 on 7/23/16. 13 | */ 14 | public class InMemoryLegendRepository implements LegendRepository { 15 | private Map inventoryMap; 16 | 17 | public InMemoryLegendRepository() { 18 | this.inventoryMap = new HashMap<>(); 19 | } 20 | 21 | @Override 22 | public Collection all() { 23 | return inventoryMap.values(); 24 | } 25 | 26 | @Override 27 | public boolean hasOfAccount(AccountId anAccountId) { 28 | return inventoryMap.containsKey(anAccountId); 29 | } 30 | 31 | @Override 32 | public Legend ofId(AccountId anAccountId) { 33 | return inventoryMap.get(anAccountId); 34 | } 35 | 36 | @Override 37 | public void add(Legend inventory) { 38 | inventoryMap.put(inventory.withId(), inventory); 39 | } 40 | 41 | @Override 42 | public void addAll(Collection inventories) { 43 | for (Legend instance : inventories) { 44 | add(instance); 45 | } 46 | } 47 | 48 | @Override 49 | public void remove(AccountId anAccountId) { 50 | inventoryMap.remove(anAccountId); 51 | } 52 | 53 | @Override 54 | public void removeAll() { 55 | inventoryMap.clear(); 56 | } 57 | } 58 | -------------------------------------------------------------------------------- /littlelight/src/main/java/com/jam01/littlelight/adapter/common/presentation/ActivitiesDPO.java: -------------------------------------------------------------------------------- 1 | package com.jam01.littlelight.adapter.common.presentation; 2 | 3 | import com.jam01.littlelight.domain.activity.Account; 4 | import com.jam01.littlelight.domain.legend.Legend; 5 | 6 | /** 7 | * Created by jam01 on 11/16/16. 8 | */ 9 | 10 | public class ActivitiesDPO { 11 | public final Legend legend; 12 | public final Account activities; 13 | 14 | public ActivitiesDPO(Legend legend, Account activities) { 15 | this.legend = legend; 16 | this.activities = activities; 17 | } 18 | } 19 | -------------------------------------------------------------------------------- /littlelight/src/main/java/com/jam01/littlelight/adapter/common/presentation/ExoticsDPO.java: -------------------------------------------------------------------------------- 1 | package com.jam01.littlelight.adapter.common.presentation; 2 | 3 | import com.jam01.littlelight.domain.inventory.Item; 4 | import com.jam01.littlelight.domain.inventory.ItemType; 5 | 6 | import java.util.ArrayList; 7 | import java.util.List; 8 | 9 | /** 10 | * Created by jam01 on 11/8/16. 11 | */ 12 | public class ExoticsDPO { 13 | public final List exoticItems; 14 | public final List exoticTypes; 15 | 16 | public ExoticsDPO(List exoticItems, List exoticTypes) { 17 | this.exoticItems = new ArrayList<>(exoticItems.size()); 18 | for (Item instance : exoticItems) { 19 | this.exoticItems.add(instance.getBungieItemHash()); 20 | } 21 | this.exoticTypes = exoticTypes; 22 | } 23 | } 24 | -------------------------------------------------------------------------------- /littlelight/src/main/java/com/jam01/littlelight/adapter/common/presentation/InventoryDPO.java: -------------------------------------------------------------------------------- 1 | package com.jam01.littlelight.adapter.common.presentation; 2 | 3 | import com.jam01.littlelight.domain.inventory.Inventory; 4 | import com.jam01.littlelight.domain.legend.Legend; 5 | 6 | /** 7 | * Created by jam01 on 9/25/16. 8 | */ 9 | public class InventoryDPO { 10 | public final Inventory inventory; 11 | public final Legend legend; 12 | 13 | public InventoryDPO(Inventory inventory, Legend legend) { 14 | this.inventory = inventory; 15 | this.legend = legend; 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /littlelight/src/main/java/com/jam01/littlelight/adapter/common/service/BungieResponseException.java: -------------------------------------------------------------------------------- 1 | package com.jam01.littlelight.adapter.common.service; 2 | 3 | /** 4 | * Created by jam01 on 11/10/16. 5 | */ 6 | public class BungieResponseException extends IllegalStateException { 7 | public BungieResponseException(String message) { 8 | super(message); 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /littlelight/src/main/java/com/jam01/littlelight/adapter/common/service/BungieResponseValidator.java: -------------------------------------------------------------------------------- 1 | package com.jam01.littlelight.adapter.common.service; 2 | 3 | import com.bungie.netplatform.destiny.representation.BungieResponse; 4 | import com.jam01.littlelight.domain.DomainEventPublisher; 5 | import com.jam01.littlelight.domain.identityaccess.Account; 6 | import com.jam01.littlelight.domain.identityaccess.AccountCredentialsExpired; 7 | 8 | /** 9 | * Created by jam01 on 11/10/16. 10 | */ 11 | public class BungieResponseValidator { 12 | public static void validate(BungieResponse response, Account anAccount) { 13 | if (response.getErrorCode() != 1) { 14 | if (response.getErrorCode() == 99) { 15 | DomainEventPublisher.instanceOf().publish(new AccountCredentialsExpired(anAccount)); 16 | } 17 | throw new BungieResponseException(response.getMessage()); 18 | } 19 | } 20 | } 21 | -------------------------------------------------------------------------------- /littlelight/src/main/java/com/jam01/littlelight/adapter/common/service/inventory/LocalDefinitionsDbService.java: -------------------------------------------------------------------------------- 1 | package com.jam01.littlelight.adapter.common.service.inventory; 2 | 3 | import com.bungie.netplatform.destiny.representation.ItemDefinition; 4 | import com.bungie.netplatform.destiny.representation.ItemInstance; 5 | 6 | import java.util.List; 7 | 8 | /** 9 | * Created by jam01 on 11/7/16. 10 | */ 11 | public interface LocalDefinitionsDbService { 12 | public List getDefinitionsFor(List instanceList); 13 | 14 | List getExoticDefinitions(); 15 | } 16 | -------------------------------------------------------------------------------- /littlelight/src/main/java/com/jam01/littlelight/adapter/common/service/legend/ACLLegendService.java: -------------------------------------------------------------------------------- 1 | package com.jam01.littlelight.adapter.common.service.legend; 2 | 3 | import com.bungie.netplatform.destiny.api.DestinyApi; 4 | import com.bungie.netplatform.destiny.representation.BungieResponse; 5 | import com.bungie.netplatform.destiny.representation.DataResponse; 6 | import com.jam01.littlelight.adapter.common.service.BungieResponseValidator; 7 | import com.jam01.littlelight.domain.DomainEventPublisher; 8 | import com.jam01.littlelight.domain.identityaccess.Account; 9 | import com.jam01.littlelight.domain.identityaccess.AccountCredentials; 10 | import com.jam01.littlelight.domain.identityaccess.AccountId; 11 | import com.jam01.littlelight.domain.legend.DestinyLegendService; 12 | import com.jam01.littlelight.domain.legend.Legend; 13 | import com.jam01.littlelight.domain.legend.LegendRepository; 14 | import com.jam01.littlelight.domain.legend.LegendSynced; 15 | 16 | /** 17 | * Created by jam01 on 7/30/16. 18 | */ 19 | public class ACLLegendService implements DestinyLegendService { 20 | private final DestinyApi destinyApi; 21 | 22 | public ACLLegendService(DestinyApi destinyApi) { 23 | this.destinyApi = destinyApi; 24 | } 25 | 26 | @Override 27 | public void synchronizeLegendFor(Account anAccount, LegendRepository repository) { 28 | AccountId anAccountId = anAccount.withId(); 29 | AccountCredentials credentials = anAccount.withCredentials(); 30 | Legend toUpdate = null; 31 | 32 | BungieResponse> accountResponse = destinyApi 33 | .getAccount((anAccountId.withMembershipType()), 34 | anAccountId.withMembershipId(), 35 | credentials.asCookieVal(), 36 | credentials.xcsrf()); 37 | 38 | BungieResponseValidator.validate(accountResponse, anAccount); 39 | com.bungie.netplatform.destiny.representation.Account bungieAccount = accountResponse.getResponse().getData(); 40 | Legend toReturn = new LegendTranslator().from(bungieAccount); 41 | 42 | if (repository.hasOfAccount(anAccountId)) { 43 | toUpdate = repository.ofId(anAccountId); 44 | toUpdate.updateFrom(toReturn); 45 | } else { 46 | repository.add(toReturn); 47 | } 48 | 49 | DomainEventPublisher.instanceOf().publish(new LegendSynced(toReturn)); 50 | } 51 | } 52 | -------------------------------------------------------------------------------- /littlelight/src/main/java/com/jam01/littlelight/application/ActivityService.java: -------------------------------------------------------------------------------- 1 | package com.jam01.littlelight.application; 2 | 3 | import com.jam01.littlelight.domain.activity.Account; 4 | import com.jam01.littlelight.domain.activity.DestinyActivityService; 5 | import com.jam01.littlelight.domain.identityaccess.AccountId; 6 | import com.jam01.littlelight.domain.identityaccess.User; 7 | 8 | /** 9 | * Created by jam01 on 11/9/16. 10 | */ 11 | public class ActivityService { 12 | private DestinyActivityService destinyService; 13 | private User user; 14 | 15 | public ActivityService(DestinyActivityService destinyService, User user) { 16 | this.destinyService = destinyService; 17 | this.user = user; 18 | } 19 | 20 | public Account ofAccount(AccountId anAccountId) { 21 | return destinyService.getFor(user.ofId(anAccountId)); 22 | } 23 | } 24 | -------------------------------------------------------------------------------- /littlelight/src/main/java/com/jam01/littlelight/application/LegendService.java: -------------------------------------------------------------------------------- 1 | package com.jam01.littlelight.application; 2 | 3 | import com.jam01.littlelight.domain.DomainEvent; 4 | import com.jam01.littlelight.domain.DomainEventPublisher; 5 | import com.jam01.littlelight.domain.identityaccess.AccountId; 6 | import com.jam01.littlelight.domain.identityaccess.User; 7 | import com.jam01.littlelight.domain.legend.DestinyLegendService; 8 | import com.jam01.littlelight.domain.legend.Legend; 9 | import com.jam01.littlelight.domain.legend.LegendRepository; 10 | import com.jam01.littlelight.domain.legend.LegendSynced; 11 | 12 | import io.reactivex.Observable; 13 | import io.reactivex.functions.Predicate; 14 | 15 | 16 | /** 17 | * Created by jam01 on 11/1/16. 18 | */ 19 | public class LegendService { 20 | private LegendRepository legendRepo; 21 | private DestinyLegendService destinyService; 22 | private User user; 23 | 24 | public LegendService(DestinyLegendService destinyService, LegendRepository legendRepository, User user) { 25 | this.legendRepo = legendRepository; 26 | this.destinyService = destinyService; 27 | this.user = user; 28 | } 29 | 30 | public Legend ofAccount(AccountId anAccountId) { 31 | // if (!legendRepo.hasOfAccount(anAccountId)) { 32 | // synchronizeLegendOf(anAccountId); 33 | // } 34 | return legendRepo.ofId(anAccountId); 35 | } 36 | 37 | public void synchronizeLegendOf(AccountId anAccountId) { 38 | destinyService.synchronizeLegendFor(user.ofId(anAccountId), legendRepo); 39 | } 40 | 41 | public Observable subscribeToLegendEvents(final AccountId subscriberAccountId) { 42 | return DomainEventPublisher.instanceOf().getEvents() 43 | .filter(new Predicate() { 44 | @Override 45 | public boolean test(DomainEvent domainEvent) throws Exception { 46 | if (domainEvent instanceof LegendSynced) 47 | return ((LegendSynced) domainEvent).getLegendUpdated().withId().equals(subscriberAccountId); 48 | return false; 49 | } 50 | }); 51 | } 52 | } 53 | -------------------------------------------------------------------------------- /littlelight/src/main/java/com/jam01/littlelight/domain/DomainEvent.java: -------------------------------------------------------------------------------- 1 | // Copyright 2012,2013 Vaughn Vernon 2 | // 3 | // Licensed under the Apache License, Version 2.0 (the "License"); 4 | // you may not use this file except in compliance with the License. 5 | // You may obtain a copy of the License at 6 | // 7 | // http://www.apache.org/licenses/LICENSE-2.0 8 | // 9 | // Unless required by applicable law or agreed to in writing, software 10 | // distributed under the License is distributed on an "AS IS" BASIS, 11 | // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 | // See the License for the specific language governing permissions and 13 | // limitations under the License. 14 | 15 | package com.jam01.littlelight.domain; 16 | 17 | import java.util.Date; 18 | 19 | public interface DomainEvent { 20 | // Modifications copyright (C) 2016 jam01 21 | // public int eventVersion(); 22 | 23 | Date occurredOn(); 24 | } -------------------------------------------------------------------------------- /littlelight/src/main/java/com/jam01/littlelight/domain/DomainEventPublisher.java: -------------------------------------------------------------------------------- 1 | package com.jam01.littlelight.domain; 2 | 3 | 4 | import io.reactivex.Observable; 5 | import io.reactivex.subjects.PublishSubject; 6 | 7 | public class DomainEventPublisher { 8 | 9 | private static DomainEventPublisher INSTANCE; 10 | 11 | private PublishSubject subject = PublishSubject.create(); 12 | 13 | public static synchronized DomainEventPublisher instanceOf() { 14 | if (INSTANCE == null) { 15 | INSTANCE = new DomainEventPublisher(); 16 | } 17 | return INSTANCE; 18 | } 19 | 20 | public void publish(DomainEvent object) { 21 | subject.onNext(object); 22 | } 23 | 24 | public Observable getEvents() { 25 | return subject; 26 | } 27 | } 28 | -------------------------------------------------------------------------------- /littlelight/src/main/java/com/jam01/littlelight/domain/activity/Account.java: -------------------------------------------------------------------------------- 1 | package com.jam01.littlelight.domain.activity; 2 | 3 | import com.jam01.littlelight.domain.identityaccess.AccountId; 4 | 5 | import java.util.Collection; 6 | import java.util.Collections; 7 | import java.util.HashMap; 8 | import java.util.Map; 9 | 10 | /** 11 | * Created by jam01 on 11/8/16. 12 | */ 13 | public class Account { 14 | private final AccountId id; 15 | private Map characterMap; 16 | 17 | public Account(AccountId id, Collection characters) { 18 | this.id = id; 19 | 20 | characterMap = new HashMap<>(characters.size()); 21 | for (Character instance : characters) { 22 | characterMap.put(instance.characterId(), instance); 23 | } 24 | } 25 | 26 | public Collection withCharacters() { 27 | return Collections.unmodifiableCollection(characterMap.values()); 28 | } 29 | 30 | public AccountId withId() { 31 | return id; 32 | } 33 | } 34 | -------------------------------------------------------------------------------- /littlelight/src/main/java/com/jam01/littlelight/domain/activity/Activity.java: -------------------------------------------------------------------------------- 1 | package com.jam01.littlelight.domain.activity; 2 | 3 | import java.util.Map; 4 | 5 | /** 6 | * Created by jam01 on 11/9/16. 7 | */ 8 | public class Activity { 9 | private final String name; 10 | private final boolean completed; 11 | private final String iconUrl; 12 | private final Map levels; 13 | private final String activityType; 14 | private final int activityTypeInt; 15 | 16 | public Activity(String name, boolean completed, String iconUrl, Map levels, String activityType, int activityTypeInt) { 17 | this.name = name; 18 | this.completed = completed; 19 | this.iconUrl = iconUrl; 20 | this.levels = levels; 21 | this.activityType = activityType; 22 | 23 | this.activityTypeInt = activityTypeInt; 24 | } 25 | 26 | public String getActivityType() { 27 | return activityType; 28 | } 29 | 30 | public int getActivityTypeInt() { 31 | return activityTypeInt; 32 | } 33 | 34 | public String getName() { 35 | return name; 36 | } 37 | 38 | public boolean isCompleted() { 39 | return completed; 40 | } 41 | 42 | public String getIconUrl() { 43 | return iconUrl; 44 | } 45 | 46 | public Map levels() { 47 | return levels; 48 | } 49 | } 50 | -------------------------------------------------------------------------------- /littlelight/src/main/java/com/jam01/littlelight/domain/activity/Character.java: -------------------------------------------------------------------------------- 1 | package com.jam01.littlelight.domain.activity; 2 | 3 | import java.util.ArrayList; 4 | import java.util.Collection; 5 | import java.util.Collections; 6 | import java.util.Comparator; 7 | import java.util.List; 8 | import java.util.Map; 9 | 10 | /** 11 | * Created by jam01 on 11/9/16. 12 | */ 13 | public class Character { 14 | private final String characterId; 15 | private final Map activityMap; 16 | 17 | public Character(String characterId, Map activityMap) { 18 | this.characterId = characterId; 19 | this.activityMap = activityMap; 20 | } 21 | 22 | public String characterId() { 23 | return characterId; 24 | } 25 | 26 | public Activity getDailyCrucible() { 27 | return activityMap.get("dailyCrucible"); 28 | } 29 | 30 | public Activity getDailyStory() { 31 | return activityMap.get("dailyStory"); 32 | } 33 | 34 | public List getRaids() { 35 | List raids = new ArrayList<>(); 36 | raids.add(activityMap.get("moonRaid")); 37 | raids.add(activityMap.get("venusRaid")); 38 | raids.add(activityMap.get("mercuryRaid")); 39 | return raids; 40 | } 41 | 42 | public Activity getNightfall() { 43 | return activityMap.get("nightfall"); 44 | } 45 | 46 | public Activity getHeroic() { 47 | return activityMap.get("heroic"); 48 | } 49 | 50 | 51 | public Collection allActivities() { 52 | return activityMap.values(); 53 | } 54 | 55 | public List sortedActivities() { 56 | List toReturn = new ArrayList<>(activityMap.values()); 57 | Collections.sort(toReturn, new Comparator() { 58 | @Override 59 | public int compare(Activity o1, Activity o2) { 60 | return o1.getActivityTypeInt() - o2.getActivityTypeInt(); 61 | } 62 | }); 63 | return toReturn; 64 | } 65 | } 66 | -------------------------------------------------------------------------------- /littlelight/src/main/java/com/jam01/littlelight/domain/activity/DestinyActivityService.java: -------------------------------------------------------------------------------- 1 | package com.jam01.littlelight.domain.activity; 2 | 3 | /** 4 | * Created by jam01 on 11/9/16. 5 | */ 6 | public interface DestinyActivityService { 7 | Account getFor(com.jam01.littlelight.domain.identityaccess.Account anAccount); 8 | } 9 | -------------------------------------------------------------------------------- /littlelight/src/main/java/com/jam01/littlelight/domain/identityaccess/Account.java: -------------------------------------------------------------------------------- 1 | package com.jam01.littlelight.domain.identityaccess; 2 | 3 | 4 | import com.jam01.littlelight.domain.DomainEventPublisher; 5 | 6 | /** 7 | * Created by jam01 on 8/5/16. 8 | */ 9 | public class Account { 10 | private final AccountId accountId; 11 | private final String platform; 12 | private AccountCredentials accountCredentials; 13 | private String displayName; 14 | private String profilePath; 15 | 16 | public Account(AccountId accountId, AccountCredentials accountCredentials, String displayName, String profilePath, String platform) { 17 | this.accountId = accountId; 18 | this.accountCredentials = accountCredentials; 19 | this.displayName = displayName; 20 | this.profilePath = profilePath; 21 | this.platform = platform; 22 | } 23 | 24 | public String onPlatform() { 25 | return platform; 26 | } 27 | 28 | public String profilePath() { 29 | return profilePath; 30 | } 31 | 32 | public String withName() { 33 | return displayName; 34 | } 35 | 36 | public AccountId withId() { 37 | return accountId; 38 | } 39 | 40 | public AccountCredentials withCredentials() { 41 | return accountCredentials; 42 | } 43 | 44 | public void updateAccount(String displayName, String profilePath) { 45 | 46 | if (this.displayName == null || this.profilePath == null || !this.displayName.equals(displayName) || !this.profilePath.equals(profilePath)) { 47 | this.displayName = displayName; 48 | this.profilePath = profilePath; 49 | DomainEventPublisher.instanceOf().publish(new AccountUpdated(this)); 50 | } 51 | } 52 | 53 | public void updateCredentials(AccountCredentials newCredentials) { 54 | accountCredentials = newCredentials; 55 | } 56 | } 57 | -------------------------------------------------------------------------------- /littlelight/src/main/java/com/jam01/littlelight/domain/identityaccess/AccountCredentials.java: -------------------------------------------------------------------------------- 1 | package com.jam01.littlelight.domain.identityaccess; 2 | 3 | /** 4 | * Created by jam01 on 7/25/16. 5 | */ 6 | public class AccountCredentials { 7 | private final String bungled; 8 | private final String bungleatk; 9 | 10 | public AccountCredentials(String bungled, String bungleatk) { 11 | this.bungled = bungled; 12 | this.bungleatk = bungleatk; 13 | } 14 | 15 | public static AccountCredentials instanceFrom(String[] cookies) { 16 | String bungled = null, bungleatk = null; 17 | for (String ar1 : cookies) { 18 | if (ar1.contains("bungled=")) { 19 | bungled = ar1.substring(8); 20 | } else if (ar1.contains("bungleatk=")) { 21 | bungleatk = ar1.substring(10); 22 | } 23 | } 24 | return new AccountCredentials(bungled, bungleatk); 25 | } 26 | 27 | public String asCookieVal() { 28 | return "bungled=" + bungled + "bungleatk=" + bungleatk; 29 | } 30 | 31 | public String xcsrf() { 32 | return bungled.substring(0, bungled.length() - 1); 33 | } 34 | } 35 | -------------------------------------------------------------------------------- /littlelight/src/main/java/com/jam01/littlelight/domain/identityaccess/AccountCredentialsExpired.java: -------------------------------------------------------------------------------- 1 | package com.jam01.littlelight.domain.identityaccess; 2 | 3 | import com.jam01.littlelight.domain.DomainEvent; 4 | 5 | import java.util.Date; 6 | 7 | /** 8 | * Created by jam01 on 10/5/16. 9 | */ 10 | public class AccountCredentialsExpired implements DomainEvent { 11 | private final Account expiredAccount; 12 | private final Date occuredOn; 13 | 14 | 15 | public AccountCredentialsExpired(Account expiredAccount) { 16 | this.expiredAccount = expiredAccount; 17 | this.occuredOn = new Date(); 18 | } 19 | 20 | public Account getExpiredAccount() { 21 | return expiredAccount; 22 | } 23 | 24 | @Override 25 | public Date occurredOn() { 26 | return this.occuredOn; 27 | } 28 | } 29 | -------------------------------------------------------------------------------- /littlelight/src/main/java/com/jam01/littlelight/domain/identityaccess/AccountId.java: -------------------------------------------------------------------------------- 1 | package com.jam01.littlelight.domain.identityaccess; 2 | 3 | /** 4 | * Created by jam01 on 6/9/16. 5 | */ 6 | public class AccountId { 7 | private final int membershipType; 8 | private final String membershipId; 9 | 10 | public AccountId(int membershipType, String membershipId) { 11 | this.membershipId = membershipId; 12 | this.membershipType = membershipType; 13 | } 14 | 15 | public int withMembershipType() { 16 | return membershipType; 17 | } 18 | 19 | public String withMembershipId() { 20 | return membershipId; 21 | } 22 | 23 | @Override 24 | public boolean equals(Object obj) { 25 | boolean result = ((AccountId) obj).membershipId.equals(this.membershipId); 26 | result = result && ((AccountId) obj).membershipType == this.membershipType; 27 | return result; 28 | } 29 | 30 | @Override 31 | public int hashCode() { 32 | int result = 17; 33 | result = 31 * result + membershipId.hashCode(); 34 | result = 31 * result + membershipType; 35 | return result; 36 | } 37 | } 38 | -------------------------------------------------------------------------------- /littlelight/src/main/java/com/jam01/littlelight/domain/identityaccess/AccountRegistered.java: -------------------------------------------------------------------------------- 1 | package com.jam01.littlelight.domain.identityaccess; 2 | 3 | import com.jam01.littlelight.domain.DomainEvent; 4 | 5 | import java.util.Date; 6 | 7 | /** 8 | * Created by jam01 on 10/5/16. 9 | */ 10 | public class AccountRegistered implements DomainEvent { 11 | private final Account accountRegistered; 12 | private final Date occurredOn; 13 | 14 | public AccountRegistered(Account accountRegistered) { 15 | this.accountRegistered = accountRegistered; 16 | occurredOn = new Date(); 17 | } 18 | 19 | public Account getAccountRegistered() { 20 | return accountRegistered; 21 | } 22 | 23 | @Override 24 | public Date occurredOn() { 25 | return this.occurredOn; 26 | } 27 | } 28 | -------------------------------------------------------------------------------- /littlelight/src/main/java/com/jam01/littlelight/domain/identityaccess/AccountUpdated.java: -------------------------------------------------------------------------------- 1 | package com.jam01.littlelight.domain.identityaccess; 2 | 3 | import com.jam01.littlelight.domain.DomainEvent; 4 | 5 | import java.util.Date; 6 | 7 | /** 8 | * Created by jam01 on 9/30/16. 9 | */ 10 | public class AccountUpdated implements DomainEvent { 11 | private final Account accountUpdated; 12 | 13 | public AccountUpdated(Account accountUpdated) { 14 | this.accountUpdated = accountUpdated; 15 | } 16 | 17 | public Account getAccountUpdated() { 18 | return accountUpdated; 19 | } 20 | 21 | @Override 22 | public Date occurredOn() { 23 | return new Date(); 24 | } 25 | } 26 | -------------------------------------------------------------------------------- /littlelight/src/main/java/com/jam01/littlelight/domain/identityaccess/DestinyAccountService.java: -------------------------------------------------------------------------------- 1 | package com.jam01.littlelight.domain.identityaccess; 2 | 3 | /** 4 | * Created by jam01 on 9/22/16. 5 | */ 6 | public interface DestinyAccountService { 7 | Account accountOf(int membershipType, AccountCredentials credentials); 8 | 9 | void synchronizeAccountsFor(User user); 10 | 11 | void synchronizeAccount(Account anAccountId, User user); 12 | } 13 | -------------------------------------------------------------------------------- /littlelight/src/main/java/com/jam01/littlelight/domain/identityaccess/User.java: -------------------------------------------------------------------------------- 1 | package com.jam01.littlelight.domain.identityaccess; 2 | 3 | import java.util.Collection; 4 | 5 | /** 6 | * Created by jam01 on 8/6/16. 7 | */ 8 | public interface User { 9 | void registerAccount(Account aAccount); 10 | 11 | Account ofId(AccountId aAccountId); 12 | 13 | Collection allRegisteredAccounts(); 14 | 15 | void unregisterAccount(AccountId anAccountId); 16 | 17 | AccountCredentials credentialsOf(AccountId anAccountId); 18 | 19 | void updateAccount(AccountId accountId, String displayName, String profilePath); 20 | 21 | void updateAccountCredentials(AccountId accountId, AccountCredentials newCredentials); 22 | } 23 | -------------------------------------------------------------------------------- /littlelight/src/main/java/com/jam01/littlelight/domain/inventory/Character.java: -------------------------------------------------------------------------------- 1 | package com.jam01.littlelight.domain.inventory; 2 | 3 | import com.jam01.littlelight.domain.DomainEventPublisher; 4 | import com.jam01.littlelight.domain.identityaccess.AccountId; 5 | 6 | import java.util.Collection; 7 | 8 | /** 9 | * Created by jam01 on 6/9/16. 10 | */ 11 | public class Character extends ItemBag { 12 | private final String characterId; 13 | 14 | public Character(String characterId, Collection items, AccountId accountId, String id) { 15 | super(items, accountId, id); 16 | this.characterId = characterId; 17 | } 18 | 19 | public String characterId() { 20 | return characterId; 21 | } 22 | 23 | public void equip(String toEquipId, String toUnequipId) { 24 | Item toEquip = itemMap.get(toEquipId); 25 | Item toUnequip = itemMap.get(toUnequipId); 26 | 27 | toEquip.setEquipped(true); 28 | toUnequip.setEquipped(false); 29 | 30 | DomainEventPublisher.instanceOf().publish(new ItemEquipped(toEquip, toUnequip, ofAccount(), withId())); 31 | } 32 | } 33 | -------------------------------------------------------------------------------- /littlelight/src/main/java/com/jam01/littlelight/domain/inventory/DestinyInventoryService.java: -------------------------------------------------------------------------------- 1 | package com.jam01.littlelight.domain.inventory; 2 | 3 | import com.jam01.littlelight.domain.identityaccess.Account; 4 | 5 | import java.util.Collection; 6 | 7 | /** 8 | * Created by jam01 on 7/25/16. 9 | */ 10 | public interface DestinyInventoryService { 11 | void synchronizeInventoryFor(Account anAccount, InventoryRepository repository); 12 | 13 | void transferItem(String anItemId, String toBagId, Inventory inventory, Account anAccount); 14 | 15 | boolean equip(String anItemId, Character onCharacter, Account anAccount); 16 | 17 | boolean unequip(String anItemId, Character onCharacter, Account anAccount); 18 | 19 | Collection getExoticTypes(); 20 | } 21 | -------------------------------------------------------------------------------- /littlelight/src/main/java/com/jam01/littlelight/domain/inventory/InventoryRepository.java: -------------------------------------------------------------------------------- 1 | package com.jam01.littlelight.domain.inventory; 2 | 3 | import com.jam01.littlelight.domain.identityaccess.AccountId; 4 | 5 | import java.util.Collection; 6 | 7 | /** 8 | * Created by jam01 on 9/21/16. 9 | */ 10 | public interface InventoryRepository { 11 | Collection all(); 12 | 13 | boolean hasOfAccount(AccountId anAccountId); 14 | 15 | Inventory thatContains(String aBagId); 16 | 17 | Inventory ofAccount(AccountId anAccountId); 18 | 19 | void add(Inventory Inventory); 20 | 21 | void addAll(Collection inventories); 22 | 23 | void remove(AccountId anAccountId); 24 | 25 | void removeAll(); 26 | } 27 | -------------------------------------------------------------------------------- /littlelight/src/main/java/com/jam01/littlelight/domain/inventory/InventorySynced.java: -------------------------------------------------------------------------------- 1 | package com.jam01.littlelight.domain.inventory; 2 | 3 | import com.jam01.littlelight.domain.DomainEvent; 4 | 5 | import java.util.Date; 6 | 7 | /** 8 | * Created by jam01 on 9/26/16. 9 | */ 10 | public class InventorySynced implements DomainEvent { 11 | private final Inventory inventoryUpdated; 12 | private final Date occuredOn; 13 | 14 | public InventorySynced(Inventory inventoryUpdated) { 15 | this.inventoryUpdated = inventoryUpdated; 16 | this.occuredOn = new Date(); 17 | } 18 | 19 | @Override 20 | public Date occurredOn() { 21 | return occuredOn; 22 | } 23 | 24 | public Inventory getInventoryUpdated() { 25 | return inventoryUpdated; 26 | } 27 | } 28 | -------------------------------------------------------------------------------- /littlelight/src/main/java/com/jam01/littlelight/domain/inventory/ItemEquipped.java: -------------------------------------------------------------------------------- 1 | package com.jam01.littlelight.domain.inventory; 2 | 3 | import com.jam01.littlelight.domain.DomainEvent; 4 | import com.jam01.littlelight.domain.identityaccess.AccountId; 5 | 6 | import java.util.Date; 7 | 8 | /** 9 | * Created by jam01 on 9/26/16. 10 | */ 11 | public class ItemEquipped implements DomainEvent { 12 | private final Item itemEquipped; 13 | private final Item itemUnequipped; 14 | private final AccountId accountId; 15 | private final String onBagId; 16 | private final Date occuredOn; 17 | 18 | public ItemEquipped(Item itemEquipped, Item itemUnequipped, AccountId accountId, String onBagId) { 19 | this.itemEquipped = itemEquipped; 20 | this.itemUnequipped = itemUnequipped; 21 | this.accountId = accountId; 22 | this.onBagId = onBagId; 23 | this.occuredOn = new Date(); 24 | } 25 | 26 | @Override 27 | public Date occurredOn() { 28 | return occuredOn; 29 | } 30 | 31 | public Item getItemUnequipped() { 32 | return itemUnequipped; 33 | } 34 | 35 | public Item getItemEquipped() { 36 | return itemEquipped; 37 | } 38 | 39 | public String getOnBagId() { 40 | return onBagId; 41 | } 42 | 43 | public AccountId getAccountId() { 44 | return accountId; 45 | } 46 | } 47 | -------------------------------------------------------------------------------- /littlelight/src/main/java/com/jam01/littlelight/domain/inventory/ItemTransferred.java: -------------------------------------------------------------------------------- 1 | package com.jam01.littlelight.domain.inventory; 2 | 3 | import com.jam01.littlelight.domain.DomainEvent; 4 | import com.jam01.littlelight.domain.identityaccess.AccountId; 5 | 6 | import java.util.Date; 7 | 8 | /** 9 | * Created by jam01 on 9/26/16. 10 | */ 11 | public class ItemTransferred implements DomainEvent { 12 | private final Item itemTransferred; 13 | private final AccountId accountId; 14 | private final String fromItemBagId; 15 | private final String toItemBagId; 16 | private final Date occuredOn; 17 | 18 | public ItemTransferred(Item itemTransferred, AccountId accountId, String fromItemBagId, String toItemBagId) { 19 | this.itemTransferred = itemTransferred; 20 | this.accountId = accountId; 21 | this.fromItemBagId = fromItemBagId; 22 | this.toItemBagId = toItemBagId; 23 | this.occuredOn = new Date(); 24 | } 25 | 26 | @Override 27 | public Date occurredOn() { 28 | return occuredOn; 29 | } 30 | 31 | public Item getItemTransferred() { 32 | return itemTransferred; 33 | } 34 | 35 | public String getFromItemBagId() { 36 | return fromItemBagId; 37 | } 38 | 39 | public String getToItemBagId() { 40 | return toItemBagId; 41 | } 42 | 43 | public AccountId onAccountId() { 44 | return accountId; 45 | } 46 | } 47 | -------------------------------------------------------------------------------- /littlelight/src/main/java/com/jam01/littlelight/domain/inventory/ItemType.java: -------------------------------------------------------------------------------- 1 | package com.jam01.littlelight.domain.inventory; 2 | 3 | /** 4 | * Created by jam01 on 11/7/16. 5 | */ 6 | public class ItemType { 7 | private final long bungieItemHash; 8 | private final String itemName; 9 | private final long typeHash; 10 | private final int maxStackSize; 11 | private final String iconPath; 12 | private final String tierTypeName; 13 | private final String classType; 14 | private final boolean isEquippable; 15 | private final String itemType; 16 | private final String itemSubType; 17 | private final String itemSuperType; 18 | 19 | // TODO: 11/13/16 Make types a static array of some kind 20 | 21 | public ItemType(long bungieItemHash, String itemName, long typeHash, int maxStackSize, String iconPath, String tierTypeName, String classType, boolean isEquippable, String itemType, String itemSubType, String itemSuperType) { 22 | this.bungieItemHash = bungieItemHash; 23 | this.itemName = itemName; 24 | this.typeHash = typeHash; 25 | this.maxStackSize = maxStackSize; 26 | this.iconPath = iconPath; 27 | this.tierTypeName = tierTypeName; 28 | this.classType = classType; 29 | this.isEquippable = isEquippable; 30 | this.itemType = itemType; 31 | this.itemSubType = itemSubType; 32 | this.itemSuperType = itemSuperType; 33 | 34 | } 35 | 36 | public String getItemSuperType() { 37 | return itemSuperType; 38 | } 39 | 40 | public long getBungieItemHash() { 41 | return bungieItemHash; 42 | } 43 | 44 | public String getItemName() { 45 | return itemName; 46 | } 47 | 48 | public long getTypeHash() { 49 | return typeHash; 50 | } 51 | 52 | public int getMaxStackSize() { 53 | return maxStackSize; 54 | } 55 | 56 | public String getIconPath() { 57 | return iconPath; 58 | } 59 | 60 | public String getTierTypeName() { 61 | return tierTypeName; 62 | } 63 | 64 | public boolean isEquippable() { 65 | return isEquippable; 66 | } 67 | 68 | public String getClassType() { 69 | return classType; 70 | } 71 | 72 | public String getItemType() { 73 | return itemType; 74 | } 75 | 76 | public String getItemSubType() { 77 | return itemSubType; 78 | } 79 | } -------------------------------------------------------------------------------- /littlelight/src/main/java/com/jam01/littlelight/domain/inventory/Vault.java: -------------------------------------------------------------------------------- 1 | package com.jam01.littlelight.domain.inventory; 2 | 3 | import com.jam01.littlelight.domain.identityaccess.AccountId; 4 | 5 | import java.util.Collection; 6 | 7 | /** 8 | * Created by jam01 on 6/9/16. 9 | */ 10 | public class Vault extends ItemBag { 11 | public Vault(String id, Collection items, AccountId accountId) { 12 | super(items, accountId, id); 13 | } 14 | } 15 | -------------------------------------------------------------------------------- /littlelight/src/main/java/com/jam01/littlelight/domain/legend/DestinyLegendService.java: -------------------------------------------------------------------------------- 1 | package com.jam01.littlelight.domain.legend; 2 | 3 | import com.jam01.littlelight.domain.identityaccess.Account; 4 | 5 | /** 6 | * Created by jam01 on 7/25/16. 7 | */ 8 | public interface DestinyLegendService { 9 | 10 | void synchronizeLegendFor(Account anAccount, LegendRepository repository); 11 | } 12 | -------------------------------------------------------------------------------- /littlelight/src/main/java/com/jam01/littlelight/domain/legend/Legend.java: -------------------------------------------------------------------------------- 1 | package com.jam01.littlelight.domain.legend; 2 | 3 | import com.jam01.littlelight.domain.identityaccess.AccountId; 4 | 5 | import java.util.Collection; 6 | import java.util.Collections; 7 | import java.util.HashMap; 8 | import java.util.Map; 9 | 10 | /** 11 | * Created by jam01 on 7/25/16. 12 | */ 13 | public class Legend { 14 | private final AccountId id; 15 | private Map characterMap; 16 | private int grimoireScore; 17 | 18 | public Legend(AccountId id, Collection characters, int grimoireScore) { 19 | this.id = id; 20 | this.grimoireScore = grimoireScore; 21 | 22 | characterMap = new HashMap<>(characters.size()); 23 | for (Character instance : characters) { 24 | characterMap.put(instance.characterId(), instance); 25 | } 26 | } 27 | 28 | public Collection withCharacters() { 29 | return Collections.unmodifiableCollection(characterMap.values()); 30 | } 31 | 32 | public Character withId(String id) { 33 | for (Character charac : withCharacters()) { 34 | if (charac.characterId().equals(id)) 35 | return charac; 36 | } 37 | return null; 38 | } 39 | 40 | public AccountId withId() { 41 | return id; 42 | } 43 | 44 | public int withGrimoire() { 45 | return grimoireScore; 46 | } 47 | 48 | public void updateFrom(Legend newState) { 49 | if (newState.withGrimoire() != grimoireScore) { 50 | grimoireScore = newState.withGrimoire(); 51 | } 52 | characterMap.clear(); 53 | for (Character instance : newState.withCharacters()) { 54 | characterMap.put(instance.characterId(), instance); 55 | } 56 | } 57 | } 58 | -------------------------------------------------------------------------------- /littlelight/src/main/java/com/jam01/littlelight/domain/legend/LegendRepository.java: -------------------------------------------------------------------------------- 1 | package com.jam01.littlelight.domain.legend; 2 | 3 | import com.jam01.littlelight.domain.identityaccess.AccountId; 4 | 5 | import java.util.Collection; 6 | 7 | /** 8 | * Created by jam01 on 7/25/16. 9 | */ 10 | public interface LegendRepository { 11 | 12 | Legend ofId(AccountId anAccountId); 13 | 14 | boolean hasOfAccount(AccountId anAccountId); 15 | 16 | void addAll(Collection legends); 17 | 18 | void remove(AccountId anLegend); 19 | 20 | void removeAll(); 21 | 22 | Collection all(); 23 | 24 | void add(Legend aLegend); 25 | } 26 | -------------------------------------------------------------------------------- /littlelight/src/main/java/com/jam01/littlelight/domain/legend/LegendSynced.java: -------------------------------------------------------------------------------- 1 | package com.jam01.littlelight.domain.legend; 2 | 3 | import com.jam01.littlelight.domain.DomainEvent; 4 | 5 | import java.util.Date; 6 | 7 | /** 8 | * Created by jam01 on 11/1/16. 9 | */ 10 | public class LegendSynced implements DomainEvent { 11 | private final Date occuredOn; 12 | private final Legend legendUpdated; 13 | 14 | public LegendSynced(Legend legend) { 15 | occuredOn = new Date(); 16 | legendUpdated = legend; 17 | } 18 | 19 | public Legend getLegendUpdated() { 20 | return legendUpdated; 21 | } 22 | 23 | @Override 24 | public Date occurredOn() { 25 | return occuredOn; 26 | } 27 | } 28 | -------------------------------------------------------------------------------- /readmeFiles/installs.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jam01/LittleLight/dc90e7d6bf3e71333370c1adf4de54ff88f34192/readmeFiles/installs.png -------------------------------------------------------------------------------- /readmeFiles/listing.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jam01/LittleLight/dc90e7d6bf3e71333370c1adf4de54ff88f34192/readmeFiles/listing.png -------------------------------------------------------------------------------- /readmeFiles/ratings.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jam01/LittleLight/dc90e7d6bf3e71333370c1adf4de54ff88f34192/readmeFiles/ratings.png -------------------------------------------------------------------------------- /readmeFiles/report.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jam01/LittleLight/dc90e7d6bf3e71333370c1adf4de54ff88f34192/readmeFiles/report.png --------------------------------------------------------------------------------