sync model

This commit is contained in:
Luke Pulverenti 2015-04-05 20:14:28 -04:00
parent 0db08d28e2
commit 48f2208914
32 changed files with 737 additions and 460 deletions

416
.idea/workspace.xml generated
View File

@ -7,11 +7,72 @@
</component>
<component name="ChangeListManager">
<list default="true" id="5b626835-6518-4586-bf6c-5bbba32974d2" name="Default" comment="">
<change type="DELETED" beforePath="C:\Dev\MediaBrowser.ApiClient.Java\out\classes\Production\android\mediabrowser\apiinteraction\android\AndroidApiClient$1.class" afterPath="" />
<change type="DELETED" beforePath="C:\Dev\MediaBrowser.ApiClient.Java\out\classes\Production\android\mediabrowser\apiinteraction\android\AndroidApiClient.class" afterPath="" />
<change type="DELETED" beforePath="C:\Dev\MediaBrowser.ApiClient.Java\out\classes\Production\android\mediabrowser\apiinteraction\android\AndroidConnectionManager.class" afterPath="" />
<change type="DELETED" beforePath="C:\Dev\MediaBrowser.ApiClient.Java\out\classes\Production\android\mediabrowser\apiinteraction\android\AndroidCredentialProvider.class" afterPath="" />
<change type="DELETED" beforePath="C:\Dev\MediaBrowser.ApiClient.Java\out\classes\Production\android\mediabrowser\apiinteraction\android\AndroidDevice.class" afterPath="" />
<change type="DELETED" beforePath="C:\Dev\MediaBrowser.ApiClient.Java\out\classes\Production\android\mediabrowser\apiinteraction\android\AndroidNetworkConnection.class" afterPath="" />
<change type="DELETED" beforePath="C:\Dev\MediaBrowser.ApiClient.Java\out\classes\Production\android\mediabrowser\apiinteraction\android\FindServersRunnable.class" afterPath="" />
<change type="DELETED" beforePath="C:\Dev\MediaBrowser.ApiClient.Java\out\classes\Production\android\mediabrowser\apiinteraction\android\GsonJsonSerializer.class" afterPath="" />
<change type="DELETED" beforePath="C:\Dev\MediaBrowser.ApiClient.Java\out\classes\Production\android\mediabrowser\apiinteraction\android\OkHttpStack.class" afterPath="" />
<change type="DELETED" beforePath="C:\Dev\MediaBrowser.ApiClient.Java\out\classes\Production\android\mediabrowser\apiinteraction\android\UploadFileRunnable.class" afterPath="" />
<change type="DELETED" beforePath="C:\Dev\MediaBrowser.ApiClient.Java\out\classes\Production\android\mediabrowser\apiinteraction\android\VolleyErrorListener.class" afterPath="" />
<change type="DELETED" beforePath="C:\Dev\MediaBrowser.ApiClient.Java\out\classes\Production\android\mediabrowser\apiinteraction\android\VolleyHttpClient.class" afterPath="" />
<change type="DELETED" beforePath="C:\Dev\MediaBrowser.ApiClient.Java\out\classes\Production\android\mediabrowser\apiinteraction\android\VolleyStringListener.class" afterPath="" />
<change type="DELETED" beforePath="C:\Dev\MediaBrowser.ApiClient.Java\out\classes\Production\android\mediabrowser\apiinteraction\android\VolleyStringRequest.class" afterPath="" />
<change type="DELETED" beforePath="C:\Dev\MediaBrowser.ApiClient.Java\out\classes\Production\android\mediabrowser\apiinteraction\android\images\DiskLruImageCache.class" afterPath="" />
<change type="DELETED" beforePath="C:\Dev\MediaBrowser.ApiClient.Java\out\classes\Production\android\mediabrowser\apiinteraction\android\images\ImageCacheManager$1.class" afterPath="" />
<change type="DELETED" beforePath="C:\Dev\MediaBrowser.ApiClient.Java\out\classes\Production\android\mediabrowser\apiinteraction\android\images\ImageCacheManager$CacheType.class" afterPath="" />
<change type="DELETED" beforePath="C:\Dev\MediaBrowser.ApiClient.Java\out\classes\Production\android\mediabrowser\apiinteraction\android\images\ImageCacheManager.class" afterPath="" />
<change type="DELETED" beforePath="C:\Dev\MediaBrowser.ApiClient.Java\out\classes\Production\android\mediabrowser\apiinteraction\android\images\LruBitmapCache.class" afterPath="" />
<change type="DELETED" beforePath="C:\Dev\MediaBrowser.ApiClient.Java\out\classes\Production\android\mediabrowser\apiinteraction\android\profiles\AndroidProfile.class" afterPath="" />
<change type="DELETED" beforePath="C:\Dev\MediaBrowser.ApiClient.Java\out\classes\Production\android\mediabrowser\apiinteraction\android\profiles\Api16Builder.class" afterPath="" />
<change type="DELETED" beforePath="C:\Dev\MediaBrowser.ApiClient.Java\out\classes\Production\android\mediabrowser\apiinteraction\android\profiles\Api21Builder.class" afterPath="" />
<change type="DELETED" beforePath="C:\Dev\MediaBrowser.ApiClient.Java\out\classes\Production\android\mediabrowser\apiinteraction\android\sync\Authenticator.class" afterPath="" />
<change type="DELETED" beforePath="C:\Dev\MediaBrowser.ApiClient.Java\out\classes\Production\android\mediabrowser\apiinteraction\android\sync\AuthenticatorService.class" afterPath="" />
<change type="DELETED" beforePath="C:\Dev\MediaBrowser.ApiClient.Java\out\classes\Production\android\mediabrowser\apiinteraction\android\sync\ISyncLoggerFactory.class" afterPath="" />
<change type="DELETED" beforePath="C:\Dev\MediaBrowser.ApiClient.Java\out\classes\Production\android\mediabrowser\apiinteraction\android\sync\MediaContentProvider.class" afterPath="" />
<change type="DELETED" beforePath="C:\Dev\MediaBrowser.ApiClient.Java\out\classes\Production\android\mediabrowser\apiinteraction\android\sync\MediaSyncAdapter.class" afterPath="" />
<change type="DELETED" beforePath="C:\Dev\MediaBrowser.ApiClient.Java\out\classes\Production\android\mediabrowser\apiinteraction\android\sync\MediaSyncService.class" afterPath="" />
<change type="DELETED" beforePath="C:\Dev\MediaBrowser.ApiClient.Java\out\classes\Production\android\mediabrowser\apiinteraction\android\sync\MultiServerSyncProgress.class" afterPath="" />
<change type="DELETED" beforePath="C:\Dev\MediaBrowser.ApiClient.Java\out\classes\Production\android\mediabrowser\apiinteraction\android\sync\OnDemandSync.class" afterPath="" />
<change type="DELETED" beforePath="C:\Dev\MediaBrowser.ApiClient.Java\out\classes\Production\android\mediabrowser\apiinteraction\android\sync\PeriodicSync.class" afterPath="" />
<change type="DELETED" beforePath="C:\Dev\MediaBrowser.ApiClient.Java\out\classes\Production\android\mediabrowser\apiinteraction\android\sync\data\AndroidAssetManager.class" afterPath="" />
<change type="DELETED" beforePath="C:\Dev\MediaBrowser.ApiClient.Java\out\classes\Production\android\mediabrowser\apiinteraction\android\sync\data\AndroidFileRepository.class" afterPath="" />
<change type="DELETED" beforePath="C:\Dev\MediaBrowser.ApiClient.Java\out\classes\Production\android\mediabrowser\apiinteraction\android\sync\data\AndroidImageFileRepository.class" afterPath="" />
<change type="DELETED" beforePath="C:\Dev\MediaBrowser.ApiClient.Java\out\classes\Production\android\mediabrowser\apiinteraction\android\sync\data\ItemRepository.class" afterPath="" />
<change type="DELETED" beforePath="C:\Dev\MediaBrowser.ApiClient.Java\out\classes\Production\android\mediabrowser\apiinteraction\android\sync\data\UserActionRepository.class" afterPath="" />
<change type="DELETED" beforePath="C:\Dev\MediaBrowser.ApiClient.Java\out\classes\Production\android\mediabrowser\apiinteraction\android\sync\data\UserRepository.class" afterPath="" />
<change type="DELETED" beforePath="C:\Dev\MediaBrowser.ApiClient.Java\src\mediabrowser\model\entities\mediainfo.java" afterPath="" />
<change type="DELETED" beforePath="C:\Dev\MediaBrowser.ApiClient.Java\src\mediabrowser\model\notifications\NotificationOptions.java" afterPath="" />
<change type="MODIFICATION" beforePath="$PROJECT_DIR$/out/artifacts/jar/emby.apiclient.android.jar" afterPath="$PROJECT_DIR$/out/artifacts/jar/emby.apiclient.android.jar" />
<change type="MODIFICATION" beforePath="$PROJECT_DIR$/out/artifacts/jar/emby.apiclient.jar" afterPath="$PROJECT_DIR$/out/artifacts/jar/emby.apiclient.jar" />
<change type="MODIFICATION" beforePath="$PROJECT_DIR$/android/src/mediabrowser/apiinteraction/android/profiles/AndroidProfile.java" afterPath="$PROJECT_DIR$/android/src/mediabrowser/apiinteraction/android/profiles/AndroidProfile.java" />
<change type="MODIFICATION" beforePath="$PROJECT_DIR$/android/src/mediabrowser/apiinteraction/android/profiles/Api16Builder.java" afterPath="$PROJECT_DIR$/android/src/mediabrowser/apiinteraction/android/profiles/Api16Builder.java" />
<change type="MODIFICATION" beforePath="$PROJECT_DIR$/android/src/mediabrowser/apiinteraction/android/profiles/Api21Builder.java" afterPath="$PROJECT_DIR$/android/src/mediabrowser/apiinteraction/android/profiles/Api21Builder.java" />
<change type="MODIFICATION" beforePath="$PROJECT_DIR$/src/mediabrowser/model/dto/BaseItemDto.java" afterPath="$PROJECT_DIR$/src/mediabrowser/model/dto/BaseItemDto.java" />
<change type="MODIFICATION" beforePath="$PROJECT_DIR$/src/mediabrowser/apiinteraction/playback/GetPlaybackInfoResponse.java" afterPath="$PROJECT_DIR$/src/mediabrowser/apiinteraction/playback/GetPlaybackInfoResponse.java" />
<change type="MODIFICATION" beforePath="$PROJECT_DIR$/src/mediabrowser/model/querying/ItemQuery.java" afterPath="$PROJECT_DIR$/src/mediabrowser/model/querying/ItemQuery.java" />
<change type="MODIFICATION" beforePath="$PROJECT_DIR$/src/mediabrowser/model/querying/ItemSortBy.java" afterPath="$PROJECT_DIR$/src/mediabrowser/model/querying/ItemSortBy.java" />
<change type="MODIFICATION" beforePath="$PROJECT_DIR$/src/mediabrowser/model/mediainfo/LiveStreamRequest.java" afterPath="$PROJECT_DIR$/src/mediabrowser/model/mediainfo/LiveStreamRequest.java" />
<change type="MODIFICATION" beforePath="$PROJECT_DIR$/src/mediabrowser/model/entities/MediaStream.java" afterPath="$PROJECT_DIR$/src/mediabrowser/model/entities/MediaStream.java" />
<change type="MODIFICATION" beforePath="$PROJECT_DIR$/src/mediabrowser/apiinteraction/playback/OpenLiveStreamResponse.java" afterPath="$PROJECT_DIR$/src/mediabrowser/apiinteraction/playback/OpenLiveStreamResponse.java" />
<change type="MODIFICATION" beforePath="$PROJECT_DIR$/src/mediabrowser/apiinteraction/playback/PlaybackManager.java" afterPath="$PROJECT_DIR$/src/mediabrowser/apiinteraction/playback/PlaybackManager.java" />
<change type="MODIFICATION" beforePath="$PROJECT_DIR$/src/mediabrowser/model/session/PlaybackProgressInfo.java" afterPath="$PROJECT_DIR$/src/mediabrowser/model/session/PlaybackProgressInfo.java" />
<change type="MODIFICATION" beforePath="$PROJECT_DIR$/src/mediabrowser/model/session/PlaybackStopInfo.java" afterPath="$PROJECT_DIR$/src/mediabrowser/model/session/PlaybackStopInfo.java" />
<change type="MODIFICATION" beforePath="$PROJECT_DIR$/src/mediabrowser/model/livetv/ProgramQuery.java" afterPath="$PROJECT_DIR$/src/mediabrowser/model/livetv/ProgramQuery.java" />
<change type="MODIFICATION" beforePath="$PROJECT_DIR$/src/mediabrowser/model/livetv/RecommendedProgramQuery.java" afterPath="$PROJECT_DIR$/src/mediabrowser/model/livetv/RecommendedProgramQuery.java" />
<change type="MODIFICATION" beforePath="$PROJECT_DIR$/src/mediabrowser/apiinteraction/playback/ReportPlaybackStopResponse.java" afterPath="$PROJECT_DIR$/src/mediabrowser/apiinteraction/playback/ReportPlaybackStopResponse.java" />
<change type="MODIFICATION" beforePath="$PROJECT_DIR$/src/mediabrowser/model/configuration/ServerConfiguration.java" afterPath="$PROJECT_DIR$/src/mediabrowser/model/configuration/ServerConfiguration.java" />
<change type="MODIFICATION" beforePath="$PROJECT_DIR$/src/mediabrowser/apiinteraction/playback/StopTranscodingResponse.java" afterPath="$PROJECT_DIR$/src/mediabrowser/apiinteraction/playback/StopTranscodingResponse.java" />
<change type="MODIFICATION" beforePath="$PROJECT_DIR$/src/mediabrowser/model/dlna/StreamBuilder.java" afterPath="$PROJECT_DIR$/src/mediabrowser/model/dlna/StreamBuilder.java" />
<change type="MODIFICATION" beforePath="$PROJECT_DIR$/src/mediabrowser/model/dlna/StreamInfo.java" afterPath="$PROJECT_DIR$/src/mediabrowser/model/dlna/StreamInfo.java" />
<change type="MODIFICATION" beforePath="$PROJECT_DIR$/src/mediabrowser/model/dlna/SubtitleStreamInfo.java" afterPath="$PROJECT_DIR$/src/mediabrowser/model/dlna/SubtitleStreamInfo.java" />
<change type="MODIFICATION" beforePath="$PROJECT_DIR$/src/mediabrowser/model/sync/SyncOptions.java" afterPath="$PROJECT_DIR$/src/mediabrowser/model/sync/SyncOptions.java" />
<change type="MODIFICATION" beforePath="$PROJECT_DIR$/src/mediabrowser/model/sync/SyncQualityOption.java" afterPath="$PROJECT_DIR$/src/mediabrowser/model/sync/SyncQualityOption.java" />
<change type="MODIFICATION" beforePath="$PROJECT_DIR$/src/mediabrowser/model/configuration/UserConfiguration.java" afterPath="$PROJECT_DIR$/src/mediabrowser/model/configuration/UserConfiguration.java" />
<change type="MODIFICATION" beforePath="$PROJECT_DIR$/src/mediabrowser/model/users/UserPolicy.java" afterPath="$PROJECT_DIR$/src/mediabrowser/model/users/UserPolicy.java" />
<change type="MODIFICATION" beforePath="$PROJECT_DIR$/.idea/workspace.xml" afterPath="$PROJECT_DIR$/.idea/workspace.xml" />
</list>
<ignored path="MediaBrowser.ApiClient.Java.iws" />
<ignored path=".idea/workspace.xml" />
@ -38,11 +99,11 @@
</component>
<component name="FileEditorManager">
<leaf>
<file leaf-file-name="ApiClient.java" pinned="false" current-in-tab="false">
<entry file="file://$PROJECT_DIR$/src/mediabrowser/apiinteraction/ApiClient.java">
<file leaf-file-name="StopTranscodingResponse.java" pinned="false" current-in-tab="true">
<entry file="file://$PROJECT_DIR$/src/mediabrowser/apiinteraction/playback/StopTranscodingResponse.java">
<provider selected="true" editor-type-id="text-editor">
<state vertical-scroll-proportion="-21.62069" vertical-offset="38796" max-vertical-offset="44336">
<caret line="2389" column="74" selection-start-line="2389" selection-start-column="74" selection-end-line="2389" selection-end-column="74" />
<state vertical-scroll-proportion="0.30932525" vertical-offset="0" max-vertical-offset="1319">
<caret line="29" column="0" selection-start-line="29" selection-start-column="0" selection-end-line="29" selection-end-column="0" />
<folding />
</state>
</provider>
@ -51,48 +112,8 @@
<file leaf-file-name="PlaybackManager.java" pinned="false" current-in-tab="false">
<entry file="file://$PROJECT_DIR$/src/mediabrowser/apiinteraction/playback/PlaybackManager.java">
<provider selected="true" editor-type-id="text-editor">
<state vertical-scroll-proportion="0.0" vertical-offset="2070" max-vertical-offset="4250">
<caret line="184" column="5" selection-start-line="184" selection-start-column="5" selection-end-line="184" selection-end-column="5" />
<folding />
</state>
</provider>
</entry>
</file>
<file leaf-file-name="AndroidProfile.java" pinned="false" current-in-tab="false">
<entry file="file://$PROJECT_DIR$/android/src/mediabrowser/apiinteraction/android/profiles/AndroidProfile.java">
<provider selected="true" editor-type-id="text-editor">
<state vertical-scroll-proportion="-5.6551723" vertical-offset="1536" max-vertical-offset="2754">
<caret line="105" column="26" selection-start-line="105" selection-start-column="26" selection-end-line="105" selection-end-column="26" />
<folding />
</state>
</provider>
</entry>
</file>
<file leaf-file-name="Api16Builder.java" pinned="false" current-in-tab="true">
<entry file="file://$PROJECT_DIR$/android/src/mediabrowser/apiinteraction/android/profiles/Api16Builder.java">
<provider selected="true" editor-type-id="text-editor">
<state vertical-scroll-proportion="0.0875969" vertical-offset="4647" max-vertical-offset="6766">
<caret line="287" column="9" selection-start-line="287" selection-start-column="9" selection-end-line="287" selection-end-column="9" />
<folding />
</state>
</provider>
</entry>
</file>
<file leaf-file-name="MediaCodecInfo.java" pinned="false" current-in-tab="false">
<entry file="file://$USER_HOME$/AppData/Local/Android/sdk/sources/android-21/android/media/MediaCodecInfo.java">
<provider selected="true" editor-type-id="text-editor">
<state vertical-scroll-proportion="0.0" vertical-offset="32755" max-vertical-offset="35513">
<caret line="1990" column="30" selection-start-line="1990" selection-start-column="30" selection-end-line="1990" selection-end-column="30" />
<folding />
</state>
</provider>
</entry>
</file>
<file leaf-file-name="Api21Builder.java" pinned="false" current-in-tab="false">
<entry file="file://$PROJECT_DIR$/android/src/mediabrowser/apiinteraction/android/profiles/Api21Builder.java">
<provider selected="true" editor-type-id="text-editor">
<state vertical-scroll-proportion="0.0" vertical-offset="523" max-vertical-offset="1632">
<caret line="57" column="105" selection-start-line="57" selection-start-column="105" selection-end-line="57" selection-end-column="105" />
<state vertical-scroll-proportion="0.0" vertical-offset="965" max-vertical-offset="4284">
<caret line="100" column="18" selection-start-line="100" selection-start-column="18" selection-end-line="100" selection-end-column="18" />
<folding />
</state>
</provider>
@ -101,8 +122,8 @@
<file leaf-file-name="GetPlaybackInfoResponse.java" pinned="false" current-in-tab="false">
<entry file="file://$PROJECT_DIR$/src/mediabrowser/apiinteraction/playback/GetPlaybackInfoResponse.java">
<provider selected="true" editor-type-id="text-editor">
<state vertical-scroll-proportion="0.0" vertical-offset="175" max-vertical-offset="1207">
<caret line="50" column="51" selection-start-line="50" selection-start-column="51" selection-end-line="50" selection-end-column="51" />
<state vertical-scroll-proportion="0.0" vertical-offset="209" max-vertical-offset="1241">
<caret line="57" column="19" selection-start-line="57" selection-start-column="19" selection-end-line="57" selection-end-column="19" />
<folding />
</state>
</provider>
@ -111,11 +132,9 @@
<file leaf-file-name="OpenLiveStreamResponse.java" pinned="false" current-in-tab="false">
<entry file="file://$PROJECT_DIR$/src/mediabrowser/apiinteraction/playback/OpenLiveStreamResponse.java">
<provider selected="true" editor-type-id="text-editor">
<state vertical-scroll-proportion="0.0" vertical-offset="0" max-vertical-offset="612">
<caret line="14" column="26" selection-start-line="14" selection-start-column="26" selection-end-line="14" selection-end-column="26" />
<folding>
<element signature="imports" expanded="true" />
</folding>
<state vertical-scroll-proportion="0.0" vertical-offset="0" max-vertical-offset="799">
<caret line="25" column="31" selection-start-line="25" selection-start-column="31" selection-end-line="25" selection-end-column="31" />
<folding />
</state>
</provider>
</entry>
@ -123,11 +142,11 @@
<file leaf-file-name="StreamInfo.java" pinned="false" current-in-tab="false">
<entry file="file://$PROJECT_DIR$/src/mediabrowser/model/dlna/StreamInfo.java">
<provider selected="true" editor-type-id="text-editor">
<state vertical-scroll-proportion="-14.655172" vertical-offset="0" max-vertical-offset="11509">
<caret line="48" column="27" selection-start-line="48" selection-start-column="27" selection-end-line="48" selection-end-column="27" />
<state vertical-scroll-proportion="0.0" vertical-offset="1862" max-vertical-offset="11849">
<caret line="330" column="36" selection-start-line="330" selection-start-column="36" selection-end-line="330" selection-end-column="36" />
<folding>
<element signature="e#991#992#0" expanded="true" />
<element signature="e#1014#1015#0" expanded="true" />
<element signature="e#6666#6667#0" expanded="true" />
<element signature="e#6695#6696#0" expanded="true" />
</folding>
</state>
</provider>
@ -141,8 +160,6 @@
<component name="IdeDocumentHistory">
<option name="CHANGED_PATHS">
<list>
<option value="$PROJECT_DIR$/src/mediabrowser/apiinteraction/sync/data/comparators/SortNameComparator.java" />
<option value="$PROJECT_DIR$/src/mediabrowser/model/results/ReadySyncItemsResult.java" />
<option value="$PROJECT_DIR$/src/mediabrowser/apiinteraction/sync/data/ILocalAssetManager.java" />
<option value="$PROJECT_DIR$/src/mediabrowser/apiinteraction/sync/data/NullAssetManager.java" />
<option value="$PROJECT_DIR$/src/mediabrowser/apiinteraction/android/sync/data/UserActionRepository.java" />
@ -169,7 +186,6 @@
<option value="$PROJECT_DIR$/android/src/mediabrowser/apiinteraction/android/AndroidApiClient.java" />
<option value="$PROJECT_DIR$/src/mediabrowser/apiinteraction/discovery/ServerLocator.java" />
<option value="$PROJECT_DIR$/src/mediabrowser/model/tasks/TaskTriggerInfo.java" />
<option value="$PROJECT_DIR$/src/mediabrowser/model/dto/BaseItemDto.java" />
<option value="$PROJECT_DIR$/src/mediabrowser/apiinteraction/sync/data/LocalAssetManager.java" />
<option value="$PROJECT_DIR$/src/mediabrowser/model/dlna/profiles/DefaultProfile.java" />
<option value="$PROJECT_DIR$/src/mediabrowser/model/apiclient/ServerInfo.java" />
@ -177,21 +193,24 @@
<option value="$PROJECT_DIR$/src/mediabrowser/model/dlna/BaseStreamInfoSorter.java" />
<option value="$PROJECT_DIR$/src/mediabrowser/model/dlna/ChainedComparator.java" />
<option value="$PROJECT_DIR$/src/mediabrowser/model/dlna/StreamInfoSorter1.java" />
<option value="$PROJECT_DIR$/src/mediabrowser/model/dlna/StreamInfoSorter.java" />
<option value="$PROJECT_DIR$/src/mediabrowser/model/dlna/StreamInfoSorterComparator.java" />
<option value="$PROJECT_DIR$/src/mediabrowser/apiinteraction/playback/Video.java" />
<option value="$PROJECT_DIR$/src/mediabrowser/apiinteraction/playback/StopTranscodingResponse.java" />
<option value="$PROJECT_DIR$/src/mediabrowser/apiinteraction/sync/server/mediasync/SyncDataInnerResponse.java" />
<option value="$PROJECT_DIR$/src/mediabrowser/apiinteraction/ApiClient.java" />
<option value="$PROJECT_DIR$/android/src/mediabrowser/apiinteraction/android/profiles/Api21Builder.java" />
<option value="$PROJECT_DIR$/android/src/mediabrowser/apiinteraction/android/profiles/AndroidProfile.java" />
<option value="$PROJECT_DIR$/android/src/mediabrowser/apiinteraction/android/profiles/Api16Builder.java" />
<option value="$PROJECT_DIR$/src/mediabrowser/model/dlna/StreamInfoSorter.java" />
<option value="$PROJECT_DIR$/src/mediabrowser/model/querying/ItemQuery.java" />
<option value="$PROJECT_DIR$/src/mediabrowser/model/mediainfo/mediainfo.java" />
<option value="$PROJECT_DIR$/src/mediabrowser/apiinteraction/playback/ReportPlaybackStopResponse.java" />
<option value="$PROJECT_DIR$/src/mediabrowser/model/dto/BaseItemDto.java" />
<option value="$PROJECT_DIR$/src/mediabrowser/model/dlna/StreamInfo.java" />
<option value="$PROJECT_DIR$/src/mediabrowser/model/dlna/StreamBuilder.java" />
<option value="$PROJECT_DIR$/src/mediabrowser/apiinteraction/playback/ReportPlaybackStopResponse.java" />
<option value="$PROJECT_DIR$/src/mediabrowser/apiinteraction/playback/PlaybackManager.java" />
<option value="$PROJECT_DIR$/src/mediabrowser/apiinteraction/playback/OpenLiveStreamResponse.java" />
<option value="$PROJECT_DIR$/src/mediabrowser/apiinteraction/playback/GetPlaybackInfoResponse.java" />
<option value="$PROJECT_DIR$/src/mediabrowser/apiinteraction/ApiClient.java" />
<option value="$PROJECT_DIR$/src/mediabrowser/apiinteraction/playback/PlaybackManager.java" />
<option value="$PROJECT_DIR$/android/src/mediabrowser/apiinteraction/android/profiles/AndroidProfile.java" />
<option value="$PROJECT_DIR$/android/src/mediabrowser/apiinteraction/android/profiles/Api21Builder.java" />
<option value="$PROJECT_DIR$/android/src/mediabrowser/apiinteraction/android/profiles/Api16Builder.java" />
<option value="$PROJECT_DIR$/src/mediabrowser/apiinteraction/playback/StopTranscodingResponse.java" />
</list>
</option>
</component>
@ -224,6 +243,7 @@
<sortByType />
</navigator>
<panes>
<pane id="Scope" />
<pane id="ProjectPane">
<subPane>
<PATH>
@ -284,7 +304,15 @@
<option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
</PATH_ELEMENT>
<PATH_ELEMENT>
<option name="myItemId" value="android" />
<option name="myItemId" value="src" />
<option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
</PATH_ELEMENT>
<PATH_ELEMENT>
<option name="myItemId" value="mediabrowser" />
<option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
</PATH_ELEMENT>
<PATH_ELEMENT>
<option name="myItemId" value="apiinteraction" />
<option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
</PATH_ELEMENT>
</PATH>
@ -297,16 +325,20 @@
<option name="myItemId" value="MediaBrowser.ApiClient.Java" />
<option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
</PATH_ELEMENT>
<PATH_ELEMENT>
<option name="myItemId" value="android" />
<option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
</PATH_ELEMENT>
<PATH_ELEMENT>
<option name="myItemId" value="src" />
<option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
</PATH_ELEMENT>
<PATH_ELEMENT>
<option name="myItemId" value="META-INF" />
<option name="myItemId" value="mediabrowser" />
<option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
</PATH_ELEMENT>
<PATH_ELEMENT>
<option name="myItemId" value="apiinteraction" />
<option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
</PATH_ELEMENT>
<PATH_ELEMENT>
<option name="myItemId" value="playback" />
<option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
</PATH_ELEMENT>
</PATH>
@ -323,14 +355,6 @@
<option name="myItemId" value="android" />
<option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
</PATH_ELEMENT>
<PATH_ELEMENT>
<option name="myItemId" value="src" />
<option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
</PATH_ELEMENT>
<PATH_ELEMENT>
<option name="myItemId" value="android" />
<option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
</PATH_ELEMENT>
</PATH>
<PATH>
<PATH_ELEMENT>
@ -349,14 +373,6 @@
<option name="myItemId" value="src" />
<option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
</PATH_ELEMENT>
<PATH_ELEMENT>
<option name="myItemId" value="android" />
<option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
</PATH_ELEMENT>
<PATH_ELEMENT>
<option name="myItemId" value="profiles" />
<option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
</PATH_ELEMENT>
</PATH>
<PATH>
<PATH_ELEMENT>
@ -379,7 +395,6 @@
</subPane>
</pane>
<pane id="PackagesPane" />
<pane id="Scope" />
</panes>
</component>
<component name="PropertiesComponent">
@ -601,7 +616,6 @@
<window_info id="Application Servers" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.33" sideWeight="0.5" order="7" side_tool="false" content_ui="tabs" />
<window_info id="Maven Projects" active="false" anchor="right" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.33" sideWeight="0.5" order="3" side_tool="false" content_ui="tabs" />
<window_info id="Version Control" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.33" sideWeight="0.5" order="7" side_tool="false" content_ui="tabs" />
<window_info id="Run" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.33" sideWeight="0.5" order="2" side_tool="false" content_ui="tabs" />
<window_info id="Terminal" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.33" sideWeight="0.5" order="7" side_tool="false" content_ui="tabs" />
<window_info id="Designer" active="false" anchor="right" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.33" sideWeight="0.5" order="3" side_tool="false" content_ui="tabs" />
<window_info id="Project" active="false" anchor="left" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="true" weight="0.19135308" sideWeight="0.5" order="0" side_tool="false" content_ui="combo" />
@ -610,11 +624,12 @@
<window_info id="Ant Build" active="false" anchor="right" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.25" sideWeight="0.5" order="1" side_tool="false" content_ui="tabs" />
<window_info id="UI Designer" active="false" anchor="left" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.33" sideWeight="0.5" order="2" side_tool="false" content_ui="tabs" />
<window_info id="Favorites" active="false" anchor="left" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.33" sideWeight="0.5" order="2" side_tool="true" content_ui="tabs" />
<window_info id="Debug" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.4" sideWeight="0.5" order="3" side_tool="false" content_ui="tabs" />
<window_info id="Cvs" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.25" sideWeight="0.5" order="4" side_tool="false" content_ui="tabs" />
<window_info id="Message" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.33" sideWeight="0.5" order="0" side_tool="false" content_ui="tabs" />
<window_info id="Inspection" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.4" sideWeight="0.5" order="5" side_tool="false" content_ui="tabs" />
<window_info id="Run" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.33" sideWeight="0.5" order="2" side_tool="false" content_ui="tabs" />
<window_info id="Hierarchy" active="false" anchor="right" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.25" sideWeight="0.5" order="2" side_tool="false" content_ui="combo" />
<window_info id="Debug" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.4" sideWeight="0.5" order="3" side_tool="false" content_ui="tabs" />
</layout>
</component>
<component name="Vcs.Log.UiProperties">
@ -644,27 +659,6 @@
<option name="FILTER_TARGETS" value="false" />
</component>
<component name="editorHistoryManager">
<entry file="file://$USER_HOME$/AppData/Local/Android/sdk/sources/android-21/android/content/Context.java">
<provider selected="true" editor-type-id="text-editor">
<state vertical-scroll-proportion="0.9263566" vertical-offset="10757" max-vertical-offset="57256">
<caret line="750" column="25" selection-start-line="750" selection-start-column="25" selection-end-line="750" selection-end-column="25" />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/src/mediabrowser/apiinteraction/sync/data/IUserActionRepository.java">
<provider selected="true" editor-type-id="text-editor">
<state vertical-scroll-proportion="0.16472869" vertical-offset="0" max-vertical-offset="1032">
<caret line="11" column="40" selection-start-line="11" selection-start-column="40" selection-end-line="11" selection-end-column="40" />
</state>
</provider>
</entry>
<entry file="file://$USER_HOME$/AppData/Local/Android/sdk/sources/android-21/java/io/OutputStream.java">
<provider selected="true" editor-type-id="text-editor">
<state vertical-scroll-proportion="0.36627907" vertical-offset="455" max-vertical-offset="1989">
<caret line="64" column="5" selection-start-line="64" selection-start-column="5" selection-end-line="64" selection-end-column="5" />
</state>
</provider>
</entry>
<entry file="file://$USER_HOME$/AppData/Local/Android/sdk/sources/android-21/java/io/FileOutputStream.java">
<provider selected="true" editor-type-id="text-editor">
<state vertical-scroll-proportion="0.13565892" vertical-offset="1458" max-vertical-offset="3043">
@ -805,13 +799,6 @@
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/src/mediabrowser/model/dto/BaseItemDto.java">
<provider selected="true" editor-type-id="text-editor">
<state vertical-scroll-proportion="0.49886277" vertical-offset="22037" max-vertical-offset="23647">
<caret line="2272" column="80" selection-start-line="2272" selection-start-column="80" selection-end-line="2272" selection-end-column="80" />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/src/mediabrowser/apiinteraction/sync/data/LocalAssetManager.java">
<provider selected="true" editor-type-id="text-editor">
<state vertical-scroll-proportion="0.0" vertical-offset="6601" max-vertical-offset="11424">
@ -861,21 +848,6 @@
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/src/mediabrowser/model/dlna/StreamInfoSorter.java">
<provider selected="true" editor-type-id="text-editor">
<state vertical-scroll-proportion="0.0" vertical-offset="0" max-vertical-offset="391">
<caret line="13" column="0" selection-start-line="13" selection-start-column="0" selection-end-line="13" selection-end-column="0" />
<folding />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/src/mediabrowser/apiinteraction/playback/StopTranscodingResponse.java">
<provider selected="true" editor-type-id="text-editor">
<state vertical-scroll-proportion="0.0" vertical-offset="0" max-vertical-offset="918">
<caret line="39" column="59" selection-start-line="39" selection-start-column="8" selection-end-line="39" selection-end-column="59" />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/src/mediabrowser/apiinteraction/sync/server/mediasync/MediaSync.java">
<provider selected="true" editor-type-id="text-editor">
<state vertical-scroll-proportion="5.964367" vertical-offset="616" max-vertical-offset="8721">
@ -915,14 +887,6 @@
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/src/mediabrowser/apiinteraction/playback/ReportPlaybackStopResponse.java">
<provider selected="true" editor-type-id="text-editor">
<state vertical-scroll-proportion="0.4118217" vertical-offset="0" max-vertical-offset="1032">
<caret line="31" column="116" selection-start-line="31" selection-start-column="116" selection-end-line="31" selection-end-column="116" />
<folding />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/src/mediabrowser/model/mediainfo/LiveStreamRequest.java">
<provider selected="true" editor-type-id="text-editor">
<state vertical-scroll-proportion="0.065891474" vertical-offset="0" max-vertical-offset="1032">
@ -931,43 +895,6 @@
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/src/mediabrowser/model/dlna/StreamInfo.java">
<provider selected="true" editor-type-id="text-editor">
<state vertical-scroll-proportion="-14.655172" vertical-offset="0" max-vertical-offset="11509">
<caret line="48" column="27" selection-start-line="48" selection-start-column="27" selection-end-line="48" selection-end-column="27" />
<folding>
<element signature="e#991#992#0" expanded="true" />
<element signature="e#1014#1015#0" expanded="true" />
</folding>
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/src/mediabrowser/apiinteraction/playback/OpenLiveStreamResponse.java">
<provider selected="true" editor-type-id="text-editor">
<state vertical-scroll-proportion="0.0" vertical-offset="0" max-vertical-offset="612">
<caret line="14" column="26" selection-start-line="14" selection-start-column="26" selection-end-line="14" selection-end-column="26" />
<folding>
<element signature="imports" expanded="true" />
</folding>
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/src/mediabrowser/apiinteraction/playback/GetPlaybackInfoResponse.java">
<provider selected="true" editor-type-id="text-editor">
<state vertical-scroll-proportion="0.0" vertical-offset="175" max-vertical-offset="1207">
<caret line="50" column="51" selection-start-line="50" selection-start-column="51" selection-end-line="50" selection-end-column="51" />
<folding />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/src/mediabrowser/apiinteraction/playback/PlaybackManager.java">
<provider selected="true" editor-type-id="text-editor">
<state vertical-scroll-proportion="0.0" vertical-offset="2070" max-vertical-offset="4250">
<caret line="184" column="5" selection-start-line="184" selection-start-column="5" selection-end-line="184" selection-end-column="5" />
<folding />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/src/mediabrowser/model/dlna/ProfileCondition.java">
<provider selected="true" editor-type-id="text-editor">
<state vertical-scroll-proportion="0.38665655" vertical-offset="0" max-vertical-offset="1319">
@ -978,31 +905,15 @@
</entry>
<entry file="file://$USER_HOME$/AppData/Local/Android/sdk/sources/android-21/android/media/MediaCodecInfo.java">
<provider selected="true" editor-type-id="text-editor">
<state vertical-scroll-proportion="0.0" vertical-offset="32755" max-vertical-offset="35513">
<state vertical-scroll-proportion="-0.3191812" vertical-offset="32755" max-vertical-offset="35513">
<caret line="1990" column="30" selection-start-line="1990" selection-start-column="30" selection-end-line="1990" selection-end-column="30" />
<folding />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/android/src/mediabrowser/apiinteraction/android/profiles/AndroidProfile.java">
<provider selected="true" editor-type-id="text-editor">
<state vertical-scroll-proportion="-5.6551723" vertical-offset="1536" max-vertical-offset="2754">
<caret line="105" column="26" selection-start-line="105" selection-start-column="26" selection-end-line="105" selection-end-column="26" />
<folding />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/src/mediabrowser/model/dlna/StreamBuilder.java">
<provider selected="true" editor-type-id="text-editor">
<state vertical-scroll-proportion="0.3326791" vertical-offset="12462" max-vertical-offset="16779">
<caret line="763" column="65" selection-start-line="763" selection-start-column="65" selection-end-line="763" selection-end-column="65" />
<folding />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/src/mediabrowser/apiinteraction/ApiClient.java">
<provider selected="true" editor-type-id="text-editor">
<state vertical-scroll-proportion="-21.62069" vertical-offset="38796" max-vertical-offset="44336">
<state vertical-scroll-proportion="0.0" vertical-offset="38796" max-vertical-offset="44336">
<caret line="2389" column="74" selection-start-line="2389" selection-start-column="74" selection-end-line="2389" selection-end-column="74" />
<folding />
</state>
@ -1010,16 +921,115 @@
</entry>
<entry file="file://$PROJECT_DIR$/android/src/mediabrowser/apiinteraction/android/profiles/Api21Builder.java">
<provider selected="true" editor-type-id="text-editor">
<state vertical-scroll-proportion="0.0" vertical-offset="523" max-vertical-offset="1632">
<state vertical-scroll-proportion="0.42001516" vertical-offset="313" max-vertical-offset="1632">
<caret line="57" column="105" selection-start-line="57" selection-start-column="105" selection-end-line="57" selection-end-column="105" />
<folding />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/android/src/mediabrowser/apiinteraction/android/profiles/AndroidProfile.java">
<provider selected="true" editor-type-id="text-editor">
<state vertical-scroll-proportion="0.3297953" vertical-offset="1435" max-vertical-offset="2754">
<caret line="115" column="24" selection-start-line="115" selection-start-column="24" selection-end-line="115" selection-end-column="24" />
<folding />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/android/src/mediabrowser/apiinteraction/android/profiles/Api16Builder.java">
<provider selected="true" editor-type-id="text-editor">
<state vertical-scroll-proportion="0.0875969" vertical-offset="4647" max-vertical-offset="6766">
<caret line="287" column="9" selection-start-line="287" selection-start-column="9" selection-end-line="287" selection-end-column="9" />
<state vertical-scroll-proportion="0.373768" vertical-offset="4692" max-vertical-offset="6766">
<caret line="312" column="40" selection-start-line="312" selection-start-column="40" selection-end-line="312" selection-end-column="40" />
<folding />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/src/mediabrowser/model/dlna/StreamInfoSorter.java">
<provider selected="true" editor-type-id="text-editor">
<state vertical-scroll-proportion="0.18043973" vertical-offset="0" max-vertical-offset="1319">
<caret line="14" column="25" selection-start-line="14" selection-start-column="25" selection-end-line="14" selection-end-column="25" />
<folding />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/src/mediabrowser/model/querying/ItemQuery.java">
<provider selected="true" editor-type-id="text-editor">
<state vertical-scroll-proportion="0.8711145" vertical-offset="7113" max-vertical-offset="8432">
<caret line="828" column="29" selection-start-line="828" selection-start-column="29" selection-end-line="828" selection-end-column="29" />
<folding />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/src/mediabrowser/model/mediainfo/mediainfo.java">
<provider selected="true" editor-type-id="text-editor">
<state vertical-scroll-proportion="0.0" vertical-offset="761" max-vertical-offset="1768">
<caret line="187" column="61" selection-start-line="187" selection-start-column="61" selection-end-line="187" selection-end-column="61" />
<folding />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/src/mediabrowser/apiinteraction/playback/ReportPlaybackStopResponse.java">
<provider selected="true" editor-type-id="text-editor">
<state vertical-scroll-proportion="0.45580932" vertical-offset="0" max-vertical-offset="1007">
<caret line="33" column="35" selection-start-line="33" selection-start-column="35" selection-end-line="33" selection-end-column="35" />
<folding />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/src/mediabrowser/model/dto/BaseItemDto.java">
<provider selected="true" editor-type-id="text-editor">
<state vertical-scroll-proportion="0.0" vertical-offset="22428" max-vertical-offset="23953">
<caret line="2272" column="80" selection-start-line="2272" selection-start-column="80" selection-end-line="2272" selection-end-column="80" />
<folding />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/src/mediabrowser/model/dlna/StreamBuilder.java">
<provider selected="true" editor-type-id="text-editor">
<state vertical-scroll-proportion="0.25344563" vertical-offset="11586" max-vertical-offset="17357">
<caret line="709" column="38" selection-start-line="709" selection-start-column="38" selection-end-line="709" selection-end-column="38" />
<folding />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/src/mediabrowser/apiinteraction/playback/PlaybackManager.java">
<provider selected="true" editor-type-id="text-editor">
<state vertical-scroll-proportion="0.0" vertical-offset="965" max-vertical-offset="4284">
<caret line="100" column="18" selection-start-line="100" selection-start-column="18" selection-end-line="100" selection-end-column="18" />
<folding />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/src/mediabrowser/apiinteraction/playback/OpenLiveStreamResponse.java">
<provider selected="true" editor-type-id="text-editor">
<state vertical-scroll-proportion="0.0" vertical-offset="0" max-vertical-offset="799">
<caret line="25" column="31" selection-start-line="25" selection-start-column="31" selection-end-line="25" selection-end-column="31" />
<folding />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/src/mediabrowser/model/dlna/StreamInfo.java">
<provider selected="true" editor-type-id="text-editor">
<state vertical-scroll-proportion="0.0" vertical-offset="1862" max-vertical-offset="11849">
<caret line="330" column="36" selection-start-line="330" selection-start-column="36" selection-end-line="330" selection-end-column="36" />
<folding>
<element signature="e#6666#6667#0" expanded="true" />
<element signature="e#6695#6696#0" expanded="true" />
</folding>
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/src/mediabrowser/apiinteraction/playback/GetPlaybackInfoResponse.java">
<provider selected="true" editor-type-id="text-editor">
<state vertical-scroll-proportion="0.0" vertical-offset="209" max-vertical-offset="1241">
<caret line="57" column="19" selection-start-line="57" selection-start-column="19" selection-end-line="57" selection-end-column="19" />
<folding />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/src/mediabrowser/apiinteraction/playback/StopTranscodingResponse.java">
<provider selected="true" editor-type-id="text-editor">
<state vertical-scroll-proportion="0.30932525" vertical-offset="0" max-vertical-offset="1319">
<caret line="29" column="0" selection-start-line="29" selection-start-column="0" selection-end-line="29" selection-end-column="0" />
<folding />
</state>
</provider>

View File

@ -103,7 +103,7 @@ public class AndroidProfile extends DefaultProfile
{
new ProfileCondition(ProfileConditionType.EqualsAny, ProfileConditionValue.VideoProfile, "baseline|constrained baseline"),
new ProfileCondition(ProfileConditionType.LessThanEqual, ProfileConditionValue.Width, "1920"),
//new ProfileCondition(ProfileConditionType.LessThanEqual, ProfileConditionValue.Height, "1080"),
new ProfileCondition(ProfileConditionType.LessThanEqual, ProfileConditionValue.Height, "1080"),
new ProfileCondition(ProfileConditionType.LessThanEqual, ProfileConditionValue.VideoBitDepth, "8"),
new ProfileCondition(ProfileConditionType.NotEquals, ProfileConditionValue.IsAnamorphic, "true")
});
@ -113,7 +113,7 @@ public class AndroidProfile extends DefaultProfile
tempVar11.setConditions(new ProfileCondition[]
{
new ProfileCondition(ProfileConditionType.LessThanEqual, ProfileConditionValue.Width, "1920"),
//new ProfileCondition(ProfileConditionType.LessThanEqual, ProfileConditionValue.Height, "1080"),
new ProfileCondition(ProfileConditionType.LessThanEqual, ProfileConditionValue.Height, "1080"),
new ProfileCondition(ProfileConditionType.LessThanEqual, ProfileConditionValue.VideoBitDepth, "8"),
new ProfileCondition(ProfileConditionType.NotEquals, ProfileConditionValue.IsAnamorphic, "true")
});

View File

@ -298,7 +298,7 @@ public class Api16Builder {
if (profile.getType()==CodecType.Video){
conditions.add(new ProfileCondition(ProfileConditionType.LessThanEqual, ProfileConditionValue.Width, "1920"));
//conditions.add(new ProfileCondition(ProfileConditionType.LessThanEqual, ProfileConditionValue.Height, "1080"));
conditions.add(new ProfileCondition(ProfileConditionType.LessThanEqual, ProfileConditionValue.Height, "1080"));
conditions.add(new ProfileCondition(ProfileConditionType.NotEquals, ProfileConditionValue.IsAnamorphic, "true"));
if (StringHelper.IndexOfIgnoreCase(codecType, "avc") != -1){

Binary file not shown.

View File

@ -54,7 +54,8 @@ public class GetPlaybackInfoResponse extends Response<PlaybackInfoResponse> {
streamInfo = streamBuilder.BuildAudioItem(options);
}
streamInfo.setPlaybackInfo(playbackInfo);
streamInfo.setPlaySessionId(playbackInfo.getPlaySessionId());
streamInfo.setAllMediaSources(playbackInfo.getMediaSources());
if (streamInfo.getMediaSource().getRequiresOpening()){
@ -62,9 +63,10 @@ public class GetPlaybackInfoResponse extends Response<PlaybackInfoResponse> {
request.setUserId(apiClient.getCurrentUserId());
request.setOpenToken(streamInfo.getMediaSource().getOpenToken());
apiClient.OpenLiveStream(request, new OpenLiveStreamResponse(streamInfo, playbackManager, response));
apiClient.OpenLiveStream(request, new OpenLiveStreamResponse(streamBuilder, playbackManager, options, !isVideo, response));
}
else{
playbackManager.SendResponse(response, streamInfo);
}
}

View File

@ -2,7 +2,10 @@ package mediabrowser.apiinteraction.playback;
import android.media.session.MediaController;
import mediabrowser.apiinteraction.Response;
import mediabrowser.model.dlna.AudioOptions;
import mediabrowser.model.dlna.StreamBuilder;
import mediabrowser.model.dlna.StreamInfo;
import mediabrowser.model.dlna.VideoOptions;
import mediabrowser.model.mediainfo.LiveStreamResponse;
/**
@ -10,21 +13,35 @@ import mediabrowser.model.mediainfo.LiveStreamResponse;
*/
public class OpenLiveStreamResponse extends Response<LiveStreamResponse> {
private StreamInfo streamInfo;
private StreamBuilder streamBuilder;
private PlaybackManager playbackManager;
private AudioOptions options;
private boolean isAudio;
private Response<StreamInfo> response;
public OpenLiveStreamResponse(StreamInfo streamInfo, PlaybackManager playbackManager, Response<StreamInfo> response) {
this.streamInfo = streamInfo;
public OpenLiveStreamResponse(StreamBuilder streamBuilder, PlaybackManager playbackManager, AudioOptions options, boolean isAudio, Response<StreamInfo> response) {
this.streamBuilder = streamBuilder;
this.playbackManager = playbackManager;
this.options = options;
this.isAudio = isAudio;
this.response = response;
}
@Override
public void onResponse(LiveStreamResponse liveStreamResponse){
streamInfo.setMediaSource(liveStreamResponse.getMediaSource());
options.getMediaSources().clear();
options.getMediaSources().add(liveStreamResponse.getMediaSource());
StreamInfo streamInfo;
if (isAudio){
streamInfo = streamBuilder.BuildAudioItem(options);
}
else{
streamInfo = streamBuilder.BuildVideoItem((VideoOptions) options);
}
playbackManager.SendResponse(response, streamInfo);
}
}

View File

@ -109,7 +109,7 @@ public class PlaybackManager {
public void getAudioStreamInfo(String serverId, AudioOptions options, boolean isOffline, ApiClient apiClient, Response<StreamInfo> response)
{
Normalize(options);
StreamBuilder streamBuilder = new StreamBuilder(localPlayer);
StreamBuilder streamBuilder = new StreamBuilder(localPlayer, logger);
LocalItem localItem = localAssetManager.getLocalItem(serverId, options.getItemId());
@ -152,7 +152,7 @@ public class PlaybackManager {
public void getVideoStreamInfo(final String serverId, final VideoOptions options, boolean isOffline, ApiClient apiClient, final Response<StreamInfo> response)
{
Normalize(options);
StreamBuilder streamBuilder = new StreamBuilder(localPlayer);
StreamBuilder streamBuilder = new StreamBuilder(localPlayer, logger);
if (!isOffline)
{
@ -174,16 +174,14 @@ public class PlaybackManager {
{
Normalize(options);
String playSessionId = currentStreamInfo.getPlaybackInfo() == null ?
null :
currentStreamInfo.getPlaybackInfo().getPlaySessionId();
String playSessionId = currentStreamInfo.getPlaySessionId();
apiClient.StopTranscodingProcesses(device.getDeviceId(), playSessionId, new StopTranscodingResponse(this, serverId, currentStreamInfo, options, logger, response));
}
StreamInfo getVideoStreamInfoInternal(String serverId, VideoOptions options)
{
StreamBuilder streamBuilder = new StreamBuilder(localPlayer);
StreamBuilder streamBuilder = new StreamBuilder(localPlayer, logger);
LocalItem localItem = localAssetManager.getLocalItem(serverId, options.getItemId());
@ -236,6 +234,8 @@ public class PlaybackManager {
info.setLiveStreamId(mediaSource.getLiveStreamId());
}
info.setPlaySessionId(streamInfo.getPlaySessionId());
response.onResponse();
}
@ -262,6 +262,8 @@ public class PlaybackManager {
info.setLiveStreamId(mediaSource.getLiveStreamId());
}
info.setPlaySessionId(streamInfo.getPlaySessionId());
apiClient.ReportPlaybackStoppedAsync(info, new ReportPlaybackStopResponse(logger, device, apiClient, streamInfo, response));
}
}

View File

@ -31,9 +31,7 @@ public class ReportPlaybackStopResponse extends EmptyResponse {
if (streamInfo.getMediaType() == DlnaProfileType.Video && streamInfo.getPlayMethod() == PlayMethod.Transcode)
{
String playSessionId = streamInfo.getPlaybackInfo() == null ?
null :
streamInfo.getPlaybackInfo().getPlaySessionId();
String playSessionId = streamInfo.getPlaySessionId();
apiClient.StopTranscodingProcesses(device.getDeviceId(), playSessionId, response);
}

View File

@ -2,6 +2,7 @@ package mediabrowser.apiinteraction.playback;
import mediabrowser.apiinteraction.EmptyResponse;
import mediabrowser.apiinteraction.Response;
import mediabrowser.model.dlna.AudioOptions;
import mediabrowser.model.dlna.StreamInfo;
import mediabrowser.model.dlna.VideoOptions;
import mediabrowser.model.logging.ILogger;
@ -14,11 +15,11 @@ public class StopTranscodingResponse extends EmptyResponse {
private PlaybackManager playbackManager;
private String serverId;
private StreamInfo currentStreamInfo;
private VideoOptions options;
private AudioOptions options;
private ILogger logger;
private Response<StreamInfo> response;
public StopTranscodingResponse(PlaybackManager playbackManager, String serverId, StreamInfo currentStreamInfo, VideoOptions options, ILogger logger, Response<StreamInfo> response) {
public StopTranscodingResponse(PlaybackManager playbackManager, String serverId, StreamInfo currentStreamInfo, AudioOptions options, ILogger logger, Response<StreamInfo> response) {
this.playbackManager = playbackManager;
this.serverId = serverId;
this.currentStreamInfo = currentStreamInfo;
@ -29,13 +30,14 @@ public class StopTranscodingResponse extends EmptyResponse {
private void onAny(){
if (currentStreamInfo.getPlaybackInfo() != null)
if (currentStreamInfo.getAllMediaSources() != null)
{
options.setMediaSources(currentStreamInfo.getPlaybackInfo().getMediaSources());
options.setMediaSources(currentStreamInfo.getAllMediaSources());
}
StreamInfo streamInfo = playbackManager.getVideoStreamInfoInternal(serverId, options);
streamInfo.setPlaybackInfo(currentStreamInfo.getPlaybackInfo());
StreamInfo streamInfo = playbackManager.getVideoStreamInfoInternal(serverId, (VideoOptions)options);
streamInfo.setAllMediaSources(currentStreamInfo.getAllMediaSources());
streamInfo.setPlaySessionId(currentStreamInfo.getPlaySessionId());
playbackManager.SendResponse(response, streamInfo);
}

View File

@ -556,14 +556,14 @@ public class ServerConfiguration extends BaseApplicationConfiguration
FindInternetTrailers = value;
}
private String[] InsecureApps8;
public final String[] getInsecureApps8()
private String[] InsecureApps9;
public final String[] getInsecureApps9()
{
return InsecureApps8;
return InsecureApps9;
}
public final void setInsecureApps8(String[] value)
public final void setInsecureApps9(String[] value)
{
InsecureApps8 = value;
InsecureApps9 = value;
}
private boolean SaveMetadataHidden;
@ -653,7 +653,7 @@ public class ServerConfiguration extends BaseApplicationConfiguration
setPeopleMetadataOptions(new PeopleMetadataOptions());
setInsecureApps8(new String[] {"Chromecast", "iOS", "Unknown app", "MediaPortal", "Media Portal", "iPad", "iPhone", "Roku", "Windows Phone"});
setInsecureApps9(new String[] {"Chromecast", "iOS", "Unknown app", "MediaPortal", "Media Portal", "iPad", "iPhone", "Windows Phone"});
MetadataOptions tempVar = new MetadataOptions(1, 1280);
tempVar.setItemType("Book");

View File

@ -5,21 +5,6 @@ package mediabrowser.model.configuration;
*/
public class UserConfiguration
{
/**
Gets or sets a value indicating whether this instance is administrator.
<value><c>true</c> if this instance is administrator; otherwise, <c>false</c>.</value>
*/
private boolean IsAdministrator;
public final boolean getIsAdministrator()
{
return IsAdministrator;
}
public final void setIsAdministrator(boolean value)
{
IsAdministrator = value;
}
/**
Gets or sets the audio language preference.
@ -192,15 +177,6 @@ public class UserConfiguration
LatestItemsExcludes = value;
}
private boolean HasMigratedToPolicy;
public final boolean getHasMigratedToPolicy()
{
return HasMigratedToPolicy;
}
public final void setHasMigratedToPolicy(boolean value)
{
HasMigratedToPolicy = value;
}
private boolean HidePlayedInLatest;
public final boolean getHidePlayedInLatest()
{
@ -216,6 +192,7 @@ public class UserConfiguration
*/
public UserConfiguration()
{
setHidePlayedInLatest(true);
setPlayDefaultAudioTrack(true);
setLatestItemsExcludes(new String[] { });

View File

@ -3,20 +3,24 @@ package mediabrowser.model.dlna;
import mediabrowser.model.dto.*;
import mediabrowser.model.entities.*;
import mediabrowser.model.extensions.*;
import mediabrowser.model.logging.*;
import mediabrowser.model.mediainfo.*;
import mediabrowser.model.session.*;
public class StreamBuilder
{
private ILocalPlayer _localPlayer;
private ILogger _logger;
public StreamBuilder(ILocalPlayer localPlayer)
public StreamBuilder(ILocalPlayer localPlayer, ILogger logger)
{
_localPlayer = localPlayer;
_logger = logger;
}
public StreamBuilder()
public StreamBuilder(ILogger logger)
{
this(new NullLocalPlayer());
this(new NullLocalPlayer(), logger);
}
public final StreamInfo BuildAudioItem(AudioOptions options)
@ -349,6 +353,10 @@ public class StreamBuilder
boolean isEligibleForDirectPlay = IsEligibleForDirectPlay(item, GetBitrateForDirectPlayCheck(item, options), subtitleStream, options);
boolean isEligibleForDirectStream = IsEligibleForDirectPlay(item, options.GetMaxBitrate(), subtitleStream, options);
String tempVar4 = options.getProfile().getName();
String tempVar5 = item.getPath();
_logger.Debug("Profile: {0}, Path: {1}, isEligibleForDirectPlay: {2}, isEligibleForDirectStream: {3}", (tempVar4 != null) ? tempVar4 : "Unknown Profile", (tempVar5 != null) ? tempVar5 : "Unknown path", isEligibleForDirectPlay, isEligibleForDirectStream);
if (isEligibleForDirectPlay || isEligibleForDirectStream)
{
// See if it can be direct played
@ -437,8 +445,8 @@ public class StreamBuilder
// Honor requested max channels
if (options.getMaxAudioChannels() != null)
{
Integer tempVar4 = playlistItem.getMaxAudioChannels();
int currentValue = (tempVar4 != null) ? tempVar4 : options.getMaxAudioChannels();
Integer tempVar6 = playlistItem.getMaxAudioChannels();
int currentValue = (tempVar6 != null) ? tempVar6 : options.getMaxAudioChannels();
playlistItem.setMaxAudioChannels(Math.min(options.getMaxAudioChannels(), currentValue));
}
@ -459,8 +467,8 @@ public class StreamBuilder
videoBitrate -= playlistItem.getAudioBitrate();
}
Integer tempVar5 = playlistItem.getVideoBitrate();
int currentValue = (tempVar5 != null) ? tempVar5 : videoBitrate;
Integer tempVar7 = playlistItem.getVideoBitrate();
int currentValue = (tempVar7 != null) ? tempVar7 : videoBitrate;
playlistItem.setVideoBitrate(Math.min(videoBitrate, currentValue));
}
@ -497,6 +505,10 @@ public class StreamBuilder
if (directPlay == null)
{
String tempVar = profile.getName();
String tempVar2 = mediaSource.getPath();
_logger.Debug("Profile: {0}, No direct play profiles found for Path: {1}", (tempVar != null) ? tempVar : "Unknown Profile", (tempVar2 != null) ? tempVar2 : "Unknown path");
return null;
}
@ -522,8 +534,8 @@ public class StreamBuilder
Integer videoBitrate = videoStream == null ? null : videoStream.getBitRate();
Double videoLevel = videoStream == null ? null : videoStream.getLevel();
String videoProfile = videoStream == null ? null : videoStream.getProfile();
Float tempVar = videoStream.getAverageFrameRate();
Float videoFramerate = videoStream == null ? null : (tempVar != null) ? tempVar : videoStream.getAverageFrameRate();
Float tempVar3 = videoStream.getAverageFrameRate();
Float videoFramerate = videoStream == null ? null : (tempVar3 != null) ? tempVar3 : videoStream.getAverageFrameRate();
Boolean isAnamorphic = videoStream == null ? null : videoStream.getIsAnamorphic();
Boolean isCabac = videoStream == null ? null : videoStream.getIsCabac();
@ -543,6 +555,10 @@ public class StreamBuilder
{
if (!conditionProcessor.IsVideoConditionSatisfied(i, audioBitrate, audioChannels, width, height, bitDepth, videoBitrate, videoProfile, videoLevel, videoFramerate, packetLength, timestamp, isAnamorphic, isCabac, refFrames, numVideoStreams, numAudioStreams))
{
String tempVar4 = profile.getName();
String tempVar5 = mediaSource.getPath();
_logger.Debug("Profile: {0}, DirectPlay=false. Reason=VideoContainerProfile.{1} Path: {2}", (tempVar4 != null) ? tempVar4 : "Unknown Profile", i.getProperty(), (tempVar5 != null) ? tempVar5 : "Unknown path");
return null;
}
}
@ -551,6 +567,10 @@ public class StreamBuilder
if (tangible.DotNetToJavaStringHelper.isNullOrEmpty(videoCodec))
{
String tempVar6 = profile.getName();
String tempVar7 = mediaSource.getPath();
_logger.Debug("Profile: {0}, DirectPlay=false. Reason=Unknown video codec. Path: {1}", (tempVar6 != null) ? tempVar6 : "Unknown Profile", (tempVar7 != null) ? tempVar7 : "Unknown path");
return null;
}
@ -570,6 +590,10 @@ public class StreamBuilder
{
if (!conditionProcessor.IsVideoConditionSatisfied(i, audioBitrate, audioChannels, width, height, bitDepth, videoBitrate, videoProfile, videoLevel, videoFramerate, packetLength, timestamp, isAnamorphic, isCabac, refFrames, numVideoStreams, numAudioStreams))
{
String tempVar8 = profile.getName();
String tempVar9 = mediaSource.getPath();
_logger.Debug("Profile: {0}, DirectPlay=false. Reason=VideoCodecProfile.{1} Path: {2}", (tempVar8 != null) ? tempVar8 : "Unknown Profile", i.getProperty(), (tempVar9 != null) ? tempVar9 : "Unknown path");
return null;
}
}
@ -580,6 +604,10 @@ public class StreamBuilder
if (tangible.DotNetToJavaStringHelper.isNullOrEmpty(audioCodec))
{
String tempVar10 = profile.getName();
String tempVar11 = mediaSource.getPath();
_logger.Debug("Profile: {0}, DirectPlay=false. Reason=Unknown audio codec. Path: {1}", (tempVar10 != null) ? tempVar10 : "Unknown Profile", (tempVar11 != null) ? tempVar11 : "Unknown path");
return null;
}
@ -600,6 +628,10 @@ public class StreamBuilder
Boolean isSecondaryAudio = audioStream == null ? null : mediaSource.IsSecondaryAudio(audioStream);
if (!conditionProcessor.IsVideoAudioConditionSatisfied(i, audioChannels, audioBitrate, audioProfile, isSecondaryAudio))
{
String tempVar12 = profile.getName();
String tempVar13 = mediaSource.getPath();
_logger.Debug("Profile: {0}, DirectPlay=false. Reason=VideoAudioCodecProfile.{1} Path: {2}", (tempVar12 != null) ? tempVar12 : "Unknown Profile", i.getProperty(), (tempVar13 != null) ? tempVar13 : "Unknown path");
return null;
}
}

View File

@ -314,14 +314,23 @@ public class StreamInfo
SubtitleFormat = value;
}
private PlaybackInfoResponse PlaybackInfo;
public final PlaybackInfoResponse getPlaybackInfo()
private String PlaySessionId;
public final String getPlaySessionId()
{
return PlaybackInfo;
return PlaySessionId;
}
public final void setPlaybackInfo(PlaybackInfoResponse value)
public final void setPlaySessionId(String value)
{
PlaybackInfo = value;
PlaySessionId = value;
}
private java.util.ArrayList<MediaSourceInfo> AllMediaSources;
public final java.util.ArrayList<MediaSourceInfo> getAllMediaSources()
{
return AllMediaSources;
}
public final void setAllMediaSources(java.util.ArrayList<MediaSourceInfo> value)
{
AllMediaSources = value;
}
public final String getMediaSourceId()
@ -446,7 +455,16 @@ public class StreamInfo
list.add(new NameValuePair("MaxFramerate", item.getMaxFramerate() != null ? StringHelper.ToStringCultureInvariant(item.getMaxFramerate()) : ""));
list.add(new NameValuePair("MaxWidth", item.getMaxWidth() != null ? StringHelper.ToStringCultureInvariant(item.getMaxWidth()) : ""));
list.add(new NameValuePair("MaxHeight", item.getMaxHeight() != null ? StringHelper.ToStringCultureInvariant(item.getMaxHeight()) : ""));
list.add(new NameValuePair("StartTimeTicks", StringHelper.ToStringCultureInvariant(item.getStartPositionTicks())));
if (StringHelper.EqualsIgnoreCase(item.getSubProtocol(), "hls"))
{
list.add(new NameValuePair("StartTimeTicks", ""));
}
else
{
list.add(new NameValuePair("StartTimeTicks", StringHelper.ToStringCultureInvariant(item.getStartPositionTicks())));
}
list.add(new NameValuePair("Level", item.getVideoLevel() != null ? StringHelper.ToStringCultureInvariant(item.getVideoLevel()) : ""));
list.add(new NameValuePair("ClientTime", item.getIsDirectStream() ? "" : String.valueOf(new java.util.Date().getTime())));
@ -456,8 +474,8 @@ public class StreamInfo
list.add(new NameValuePair("Profile", (tempVar6 != null) ? tempVar6 : ""));
list.add(new NameValuePair("Cabac", item.getCabac() != null ? item.getCabac().toString() : ""));
String playSessionId = item.getPlaybackInfo() == null ? null : item.getPlaybackInfo().getPlaySessionId();
list.add(new NameValuePair("PlaySessionId", (playSessionId != null) ? playSessionId : ""));
String tempVar7 = item.getPlaySessionId();
list.add(new NameValuePair("PlaySessionId", (tempVar7 != null) ? tempVar7 : ""));
list.add(new NameValuePair("api_key", (accessToken != null) ? accessToken : ""));
String liveStreamId = item.getMediaSource() == null ? null : item.getMediaSource().getLiveStreamId();
@ -466,6 +484,11 @@ public class StreamInfo
return list;
}
public final java.util.ArrayList<SubtitleStreamInfo> GetExternalSubtitles(boolean includeSelectedTrackOnly, String baseUrl, String accessToken)
{
return GetExternalSubtitles(includeSelectedTrackOnly, false, baseUrl, accessToken);
}
public final java.util.ArrayList<SubtitleStreamInfo> GetExternalSubtitles(boolean includeSelectedTrackOnly, boolean enableAllProfiles, String baseUrl, String accessToken)
{
java.util.ArrayList<SubtitleStreamInfo> list = GetSubtitleProfiles(includeSelectedTrackOnly, enableAllProfiles, baseUrl, accessToken);
@ -558,10 +581,13 @@ public class StreamInfo
if (getMediaSource().getProtocol() == MediaProtocol.File || !StringHelper.EqualsIgnoreCase(stream.getCodec(), subtitleProfile.getFormat()))
{
info.setUrl(String.format("%1$s/Videos/%2$s/%3$s/Subtitles/%4$s/%5$s/Stream.%6$s", baseUrl, getItemId(), getMediaSourceId(), StringHelper.ToStringCultureInvariant(stream.getIndex()), StringHelper.ToStringCultureInvariant(startPositionTicks), subtitleProfile.getFormat()));
info.setIsExternalUrl(false);
}
else
{
info.setUrl(stream.getPath());
info.setIsExternalUrl(true);
}
}

View File

@ -65,4 +65,13 @@ public class SubtitleStreamInfo
{
DeliveryMethod = value;
}
private boolean IsExternalUrl;
public final boolean getIsExternalUrl()
{
return IsExternalUrl;
}
public final void setIsExternalUrl(boolean value)
{
IsExternalUrl = value;
}
}

View File

@ -240,6 +240,11 @@ public class BaseItemDto implements IHasProviderIds, IHasPropertyChangedEvent, I
AnimeSeriesIndex = value;
}
/**
Gets or sets a value indicating whether [supports synchronize].
<value><c>null</c> if [supports synchronize] contains no value, <c>true</c> if [supports synchronize]; otherwise, <c>false</c>.</value>
*/
private Boolean SupportsSync = null;
public final Boolean getSupportsSync()
{
@ -249,6 +254,11 @@ public class BaseItemDto implements IHasProviderIds, IHasPropertyChangedEvent, I
{
SupportsSync = value;
}
/**
Gets or sets a value indicating whether this instance has synchronize job.
<value><c>null</c> if [has synchronize job] contains no value, <c>true</c> if [has synchronize job]; otherwise, <c>false</c>.</value>
*/
private Boolean HasSyncJob = null;
public final Boolean getHasSyncJob()
{
@ -258,6 +268,20 @@ public class BaseItemDto implements IHasProviderIds, IHasPropertyChangedEvent, I
{
HasSyncJob = value;
}
/**
Gets or sets a value indicating whether this instance is synced.
<value><c>null</c> if [is synced] contains no value, <c>true</c> if [is synced]; otherwise, <c>false</c>.</value>
*/
private Boolean IsSynced = null;
public final Boolean getIsSynced()
{
return IsSynced;
}
public final void setIsSynced(Boolean value)
{
IsSynced = value;
}
/**
Gets or sets the DVD season number.

View File

@ -368,6 +368,20 @@ public class MediaStream
{
DeliveryUrl = value;
}
/**
Gets or sets a value indicating whether this instance is external URL.
<value><c>null</c> if [is external URL] contains no value, <c>true</c> if [is external URL]; otherwise, <c>false</c>.</value>
*/
private Boolean IsExternalUrl = null;
public final Boolean getIsExternalUrl()
{
return IsExternalUrl;
}
public final void setIsExternalUrl(Boolean value)
{
IsExternalUrl = value;
}
public final boolean getIsTextSubtitleStream()
{

View File

@ -1,49 +0,0 @@
package mediabrowser.model.entities;
public class mediainfo
{
/**
Gets or sets the media streams.
<value>The media streams.</value>
*/
private java.util.ArrayList<MediaStream> MediaStreams;
public final java.util.ArrayList<MediaStream> getMediaStreams()
{
return MediaStreams;
}
public final void setMediaStreams(java.util.ArrayList<MediaStream> value)
{
MediaStreams = value;
}
/**
Gets or sets the format.
<value>The format.</value>
*/
private String Format;
public final String getFormat()
{
return Format;
}
public final void setFormat(String value)
{
Format = value;
}
private Integer TotalBitrate = null;
public final Integer getTotalBitrate()
{
return TotalBitrate;
}
public final void setTotalBitrate(Integer value)
{
TotalBitrate = value;
}
public mediainfo()
{
setMediaStreams(new java.util.ArrayList<MediaStream>());
}
}

View File

@ -111,6 +111,21 @@ public class ProgramQuery
IsMovie = value;
}
/**
Gets or sets a value indicating whether this instance is sports.
<value><c>null</c> if [is sports] contains no value, <c>true</c> if [is sports]; otherwise, <c>false</c>.</value>
*/
private Boolean IsSports = null;
public final Boolean getIsSports()
{
return IsSports;
}
public final void setIsSports(Boolean value)
{
IsSports = value;
}
/**
Skips over a given number of items within the results. Use for paging.
*/

View File

@ -76,4 +76,18 @@ public class RecommendedProgramQuery
{
IsMovie = value;
}
/**
Gets or sets a value indicating whether this instance is sports.
<value><c>null</c> if [is sports] contains no value, <c>true</c> if [is sports]; otherwise, <c>false</c>.</value>
*/
private Boolean IsSports;
public final Boolean getIsSports()
{
return IsSports;
}
public final void setIsSports(Boolean value)
{
IsSports = value;
}
}

View File

@ -22,6 +22,15 @@ public class LiveStreamRequest
{
UserId = value;
}
private String PlaySessionId;
public final String getPlaySessionId()
{
return PlaySessionId;
}
public final void setPlaySessionId(String value)
{
PlaySessionId = value;
}
private Integer MaxStreamingBitrate;
public final Integer getMaxStreamingBitrate()
{

View File

@ -0,0 +1,190 @@
package mediabrowser.model.mediainfo;
import mediabrowser.model.dto.*;
import mediabrowser.model.entities.*;
public class mediainfo extends MediaSourceInfo implements IHasProviderIds
{
private java.util.ArrayList<ChapterInfo> Chapters;
public final java.util.ArrayList<ChapterInfo> getChapters()
{
return Chapters;
}
public final void setChapters(java.util.ArrayList<ChapterInfo> value)
{
Chapters = value;
}
/**
Gets or sets the title.
<value>The title.</value>
*/
private String Title;
public final String getTitle()
{
return Title;
}
public final void setTitle(String value)
{
Title = value;
}
/**
Gets or sets the album.
<value>The album.</value>
*/
private String Album;
public final String getAlbum()
{
return Album;
}
public final void setAlbum(String value)
{
Album = value;
}
/**
Gets or sets the artists.
<value>The artists.</value>
*/
private java.util.ArrayList<String> Artists;
public final java.util.ArrayList<String> getArtists()
{
return Artists;
}
public final void setArtists(java.util.ArrayList<String> value)
{
Artists = value;
}
/**
Gets or sets the album artists.
<value>The album artists.</value>
*/
private java.util.ArrayList<String> AlbumArtists;
public final java.util.ArrayList<String> getAlbumArtists()
{
return AlbumArtists;
}
public final void setAlbumArtists(java.util.ArrayList<String> value)
{
AlbumArtists = value;
}
/**
Gets or sets the studios.
<value>The studios.</value>
*/
private java.util.ArrayList<String> Studios;
public final java.util.ArrayList<String> getStudios()
{
return Studios;
}
public final void setStudios(java.util.ArrayList<String> value)
{
Studios = value;
}
private java.util.ArrayList<String> Genres;
public final java.util.ArrayList<String> getGenres()
{
return Genres;
}
public final void setGenres(java.util.ArrayList<String> value)
{
Genres = value;
}
private Integer IndexNumber = null;
public final Integer getIndexNumber()
{
return IndexNumber;
}
public final void setIndexNumber(Integer value)
{
IndexNumber = value;
}
private Integer ParentIndexNumber = null;
public final Integer getParentIndexNumber()
{
return ParentIndexNumber;
}
public final void setParentIndexNumber(Integer value)
{
ParentIndexNumber = value;
}
private Integer ProductionYear = null;
public final Integer getProductionYear()
{
return ProductionYear;
}
public final void setProductionYear(Integer value)
{
ProductionYear = value;
}
private java.util.Date PremiereDate = null;
public final java.util.Date getPremiereDate()
{
return PremiereDate;
}
public final void setPremiereDate(java.util.Date value)
{
PremiereDate = value;
}
private java.util.ArrayList<BaseItemPerson> People;
public final java.util.ArrayList<BaseItemPerson> getPeople()
{
return People;
}
public final void setPeople(java.util.ArrayList<BaseItemPerson> value)
{
People = value;
}
private java.util.HashMap<String, String> ProviderIds;
public final java.util.HashMap<String, String> getProviderIds()
{
return ProviderIds;
}
public final void setProviderIds(java.util.HashMap<String, String> value)
{
ProviderIds = value;
}
/**
Gets or sets the official rating.
<value>The official rating.</value>
*/
private String OfficialRating;
public final String getOfficialRating()
{
return OfficialRating;
}
public final void setOfficialRating(String value)
{
OfficialRating = value;
}
/**
Gets or sets the overview.
<value>The overview.</value>
*/
private String Overview;
public final String getOverview()
{
return Overview;
}
public final void setOverview(String value)
{
Overview = value;
}
public mediainfo()
{
setChapters(new java.util.ArrayList<ChapterInfo>());
setArtists(new java.util.ArrayList<String>());
setAlbumArtists(new java.util.ArrayList<String>());
setStudios(new java.util.ArrayList<String>());
setGenres(new java.util.ArrayList<String>());
setPeople(new java.util.ArrayList<BaseItemPerson>());
setProviderIds(new java.util.HashMap<String, String>());
}
}

View File

@ -1,117 +0,0 @@
package mediabrowser.model.notifications;
import mediabrowser.model.configuration.*;
import mediabrowser.model.extensions.*;
public class NotificationOptions
{
private NotificationOption[] Options;
public final NotificationOption[] getOptions()
{
return Options;
}
public final void setOptions(NotificationOption[] value)
{
Options = value;
}
public NotificationOptions()
{
NotificationOption tempVar = new NotificationOption();
tempVar.setType(NotificationType.TaskFailed.toString());
tempVar.setEnabled(true);
tempVar.setSendToUserMode(SendToUserType.Admins);
NotificationOption tempVar2 = new NotificationOption();
tempVar2.setType(NotificationType.ServerRestartRequired.toString());
tempVar2.setEnabled(true);
tempVar2.setSendToUserMode(SendToUserType.Admins);
NotificationOption tempVar3 = new NotificationOption();
tempVar3.setType(NotificationType.ApplicationUpdateAvailable.toString());
tempVar3.setEnabled(true);
tempVar3.setSendToUserMode(SendToUserType.Admins);
NotificationOption tempVar4 = new NotificationOption();
tempVar4.setType(NotificationType.ApplicationUpdateInstalled.toString());
tempVar4.setEnabled(true);
tempVar4.setSendToUserMode(SendToUserType.Admins);
NotificationOption tempVar5 = new NotificationOption();
tempVar5.setType(NotificationType.PluginUpdateInstalled.toString());
tempVar5.setEnabled(true);
tempVar5.setSendToUserMode(SendToUserType.Admins);
NotificationOption tempVar6 = new NotificationOption();
tempVar6.setType(NotificationType.PluginUninstalled.toString());
tempVar6.setEnabled(true);
tempVar6.setSendToUserMode(SendToUserType.Admins);
NotificationOption tempVar7 = new NotificationOption();
tempVar7.setType(NotificationType.InstallationFailed.toString());
tempVar7.setEnabled(true);
tempVar7.setSendToUserMode(SendToUserType.Admins);
NotificationOption tempVar8 = new NotificationOption();
tempVar8.setType(NotificationType.PluginInstalled.toString());
tempVar8.setEnabled(true);
tempVar8.setSendToUserMode(SendToUserType.Admins);
NotificationOption tempVar9 = new NotificationOption();
tempVar9.setType(NotificationType.PluginError.toString());
tempVar9.setEnabled(true);
tempVar9.setSendToUserMode(SendToUserType.Admins);
NotificationOption tempVar10 = new NotificationOption();
tempVar10.setType(NotificationType.UserLockedOut.toString());
tempVar10.setEnabled(true);
tempVar10.setSendToUserMode(SendToUserType.Admins);
setOptions(new NotificationOption[] {tempVar, tempVar2, tempVar3, tempVar4, tempVar5, tempVar6, tempVar7, tempVar8, tempVar9, tempVar10});
}
public final NotificationOption GetOptions(String type)
{
for (NotificationOption i : getOptions())
{
if (StringHelper.EqualsIgnoreCase(type, i.getType()))
{
return i;
}
}
return null;
}
public final boolean IsEnabled(String type)
{
NotificationOption opt = GetOptions(type);
return opt != null && opt.getEnabled();
}
public final boolean IsServiceEnabled(String service, String notificationType)
{
NotificationOption opt = GetOptions(notificationType);
return opt == null || !ListHelper.ContainsIgnoreCase(opt.getDisabledServices(), service);
}
public final boolean IsEnabledToMonitorUser(String type, String userId)
{
NotificationOption opt = GetOptions(type);
return opt != null && opt.getEnabled() && !ListHelper.ContainsIgnoreCase(opt.getDisabledMonitorUsers(), userId);
}
public final boolean IsEnabledToSendToUser(String type, String userId, UserConfiguration userConfig)
{
NotificationOption opt = GetOptions(type);
if (opt != null && opt.getEnabled())
{
if (opt.getSendToUserMode() == SendToUserType.All)
{
return true;
}
if (opt.getSendToUserMode() == SendToUserType.Admins && userConfig.getIsAdministrator())
{
return true;
}
return ListHelper.ContainsIgnoreCase(opt.getSendToUsers(), userId);
}
return false;
}
}

View File

@ -754,6 +754,46 @@ public class ItemQuery
EnableImageTypes = value;
}
//C# TO JAVA CONVERTER TODO TASK: Java annotations will not correspond to .NET attributes:
//ORIGINAL LINE: [Obsolete] public string[] Artists {get;set;}
private String[] Artists;
@Deprecated
public final String[] getArtists()
{
return Artists;
}
@Deprecated
public final void setArtists(String[] value)
{
Artists = value;
}
//C# TO JAVA CONVERTER TODO TASK: Java annotations will not correspond to .NET attributes:
//ORIGINAL LINE: [Obsolete] public string[] Studios {get;set;}
private String[] Studios;
@Deprecated
public final String[] getStudios()
{
return Studios;
}
@Deprecated
public final void setStudios(String[] value)
{
Studios = value;
}
//C# TO JAVA CONVERTER TODO TASK: Java annotations will not correspond to .NET attributes:
//ORIGINAL LINE: [Obsolete] public string Person {get;set;}
private String Person;
@Deprecated
public final String getPerson()
{
return Person;
}
@Deprecated
public final void setPerson(String value)
{
Person = value;
}
/**
Initializes a new instance of the <see cref="ItemQuery" /> class.
*/
@ -772,6 +812,9 @@ public class ItemQuery
setVideoTypes(new VideoType[] { });
setArtists(new String[] { });
setStudios(new String[] { });
setGenres(new String[] { });
setStudioIds(new String[] { });
setIncludeItemTypes(new String[] { });

View File

@ -42,6 +42,7 @@ public final class ItemSortBy
The premiere date
*/
public static final String PremiereDate = "PremiereDate";
public static final String StartDate = "StartDate";
/**
The sort name
*/

View File

@ -200,4 +200,18 @@ public class PlaybackProgressInfo
{
LiveStreamId = value;
}
/**
Gets or sets the play session identifier.
<value>The play session identifier.</value>
*/
private String PlaySessionId;
public final String getPlaySessionId()
{
return PlaySessionId;
}
public final void setPlaySessionId(String value)
{
PlaySessionId = value;
}
}

View File

@ -95,4 +95,18 @@ public class PlaybackStopInfo
{
LiveStreamId = value;
}
/**
Gets or sets the play session identifier.
<value>The play session identifier.</value>
*/
private String PlaySessionId;
public final String getPlaySessionId()
{
return PlaySessionId;
}
public final void setPlaySessionId(String value)
{
PlaySessionId = value;
}
}

View File

@ -11,4 +11,13 @@ public class SyncOptions
{
TemporaryPath = value;
}
private long UploadSpeedLimitBytes;
public final long getUploadSpeedLimitBytes()
{
return UploadSpeedLimitBytes;
}
public final void setUploadSpeedLimitBytes(long value)
{
UploadSpeedLimitBytes = value;
}
}

View File

@ -58,4 +58,18 @@ public class SyncQualityOption
{
IsDefault = value;
}
/**
Gets or sets a value indicating whether this instance is original quality.
<value><c>true</c> if this instance is original quality; otherwise, <c>false</c>.</value>
*/
private boolean IsOriginalQuality;
public final boolean getIsOriginalQuality()
{
return IsOriginalQuality;
}
public final void setIsOriginalQuality(boolean value)
{
IsOriginalQuality = value;
}
}

View File

@ -100,24 +100,6 @@ public class UserPolicy
{
BlockUnratedItems = value;
}
private String[] BlockedMediaFolders;
public final String[] getBlockedMediaFolders()
{
return BlockedMediaFolders;
}
public final void setBlockedMediaFolders(String[] value)
{
BlockedMediaFolders = value;
}
private String[] BlockedChannels;
public final String[] getBlockedChannels()
{
return BlockedChannels;
}
public final void setBlockedChannels(String[] value)
{
BlockedChannels = value;
}
private boolean EnableRemoteControlOfOtherUsers;
public final boolean getEnableRemoteControlOfOtherUsers()
{
@ -165,6 +147,16 @@ public class UserPolicy
{
EnableMediaPlayback = value;
}
private boolean EnableMediaPlaybackTranscoding;
public final boolean getEnableMediaPlaybackTranscoding()
{
return EnableMediaPlaybackTranscoding;
}
public final void setEnableMediaPlaybackTranscoding(boolean value)
{
EnableMediaPlaybackTranscoding = value;
}
private boolean EnableContentDeletion;
public final boolean getEnableContentDeletion()
{
@ -198,6 +190,15 @@ public class UserPolicy
{
EnableSync = value;
}
private boolean EnableSyncTranscoding;
public final boolean getEnableSyncTranscoding()
{
return EnableSyncTranscoding;
}
public final void setEnableSyncTranscoding(boolean value)
{
EnableSyncTranscoding = value;
}
private String[] EnabledDevices;
public final String[] getEnabledDevices()
@ -268,9 +269,15 @@ public class UserPolicy
public UserPolicy()
{
setEnableLiveTvManagement(true);
setEnableSync(true);
setEnableSyncTranscoding(true);
setEnableMediaPlayback(true);
setEnableMediaPlaybackTranscoding(true);
setEnableLiveTvManagement(true);
setEnableLiveTvAccess(true);
setEnableSharedDeviceControl(true);
setBlockedTags(new String[] { });