Compare commits
No commits in common. "d417463c633447b8f16814116c08fb3bf9afe7b1" and "3e52bf666488204a95cde2c60cf85ea6d9a9a08f" have entirely different histories.
d417463c63
...
3e52bf6664
|
@ -1,7 +1,12 @@
|
|||
*.iml
|
||||
.gradle
|
||||
/local.properties
|
||||
.idea
|
||||
/.idea/caches
|
||||
/.idea/libraries
|
||||
/.idea/modules.xml
|
||||
/.idea/workspace.xml
|
||||
/.idea/navEditor.xml
|
||||
/.idea/assetWizardSettings.xml
|
||||
.DS_Store
|
||||
/build
|
||||
/captures
|
||||
|
|
|
@ -0,0 +1,65 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<project version="4">
|
||||
<component name="ProjectInspectionProfilesVisibleTreeState">
|
||||
<entry key="Project Default">
|
||||
<profile-state>
|
||||
<expanded-state>
|
||||
<State>
|
||||
<id />
|
||||
</State>
|
||||
<State>
|
||||
<id>AccessibilityLintAndroid</id>
|
||||
</State>
|
||||
<State>
|
||||
<id>Android</id>
|
||||
</State>
|
||||
<State>
|
||||
<id>Bidirectional TextInternationalizationLintAndroid</id>
|
||||
</State>
|
||||
<State>
|
||||
<id>Chrome OSCorrectnessLintAndroid</id>
|
||||
</State>
|
||||
<State>
|
||||
<id>Class structureJava</id>
|
||||
</State>
|
||||
<State>
|
||||
<id>CorrectnessLintAndroid</id>
|
||||
</State>
|
||||
<State>
|
||||
<id>IconsUsabilityLintAndroid</id>
|
||||
</State>
|
||||
<State>
|
||||
<id>InternationalizationLintAndroid</id>
|
||||
</State>
|
||||
<State>
|
||||
<id>Java</id>
|
||||
</State>
|
||||
<State>
|
||||
<id>Javadoc issuesJava</id>
|
||||
</State>
|
||||
<State>
|
||||
<id>LintAndroid</id>
|
||||
</State>
|
||||
<State>
|
||||
<id>LintLintAndroid</id>
|
||||
</State>
|
||||
<State>
|
||||
<id>MessagesCorrectnessLintAndroid</id>
|
||||
</State>
|
||||
<State>
|
||||
<id>PerformanceLintAndroid</id>
|
||||
</State>
|
||||
<State>
|
||||
<id>SecurityLintAndroid</id>
|
||||
</State>
|
||||
<State>
|
||||
<id>TypographyUsabilityLintAndroid</id>
|
||||
</State>
|
||||
<State>
|
||||
<id>UsabilityLintAndroid</id>
|
||||
</State>
|
||||
</expanded-state>
|
||||
</profile-state>
|
||||
</entry>
|
||||
</component>
|
||||
</project>
|
|
@ -0,0 +1,3 @@
|
|||
# Default ignored files
|
||||
/shelf/
|
||||
/workspace.xml
|
|
@ -0,0 +1 @@
|
|||
Peertube Live
|
|
@ -0,0 +1,139 @@
|
|||
<component name="ProjectCodeStyleConfiguration">
|
||||
<code_scheme name="Project" version="173">
|
||||
<option name="RIGHT_MARGIN" value="150" />
|
||||
<JetCodeStyleSettings>
|
||||
<option name="PACKAGES_TO_USE_STAR_IMPORTS">
|
||||
<value>
|
||||
<package name="java.util" alias="false" withSubpackages="false" />
|
||||
<package name="kotlinx.android.synthetic" alias="false" withSubpackages="true" />
|
||||
<package name="io.ktor" alias="false" withSubpackages="true" />
|
||||
</value>
|
||||
</option>
|
||||
<option name="PACKAGES_IMPORT_LAYOUT">
|
||||
<value>
|
||||
<package name="" alias="false" withSubpackages="true" />
|
||||
<package name="java" alias="false" withSubpackages="true" />
|
||||
<package name="javax" alias="false" withSubpackages="true" />
|
||||
<package name="kotlin" alias="false" withSubpackages="true" />
|
||||
<package name="" alias="true" withSubpackages="true" />
|
||||
</value>
|
||||
</option>
|
||||
<option name="CODE_STYLE_DEFAULTS" value="KOTLIN_OFFICIAL" />
|
||||
</JetCodeStyleSettings>
|
||||
<codeStyleSettings language="XML">
|
||||
<indentOptions>
|
||||
<option name="CONTINUATION_INDENT_SIZE" value="4" />
|
||||
</indentOptions>
|
||||
<arrangement>
|
||||
<rules>
|
||||
<section>
|
||||
<rule>
|
||||
<match>
|
||||
<AND>
|
||||
<NAME>xmlns:android</NAME>
|
||||
<XML_ATTRIBUTE />
|
||||
<XML_NAMESPACE>^$</XML_NAMESPACE>
|
||||
</AND>
|
||||
</match>
|
||||
</rule>
|
||||
</section>
|
||||
<section>
|
||||
<rule>
|
||||
<match>
|
||||
<AND>
|
||||
<NAME>xmlns:.*</NAME>
|
||||
<XML_ATTRIBUTE />
|
||||
<XML_NAMESPACE>^$</XML_NAMESPACE>
|
||||
</AND>
|
||||
</match>
|
||||
<order>BY_NAME</order>
|
||||
</rule>
|
||||
</section>
|
||||
<section>
|
||||
<rule>
|
||||
<match>
|
||||
<AND>
|
||||
<NAME>.*:id</NAME>
|
||||
<XML_ATTRIBUTE />
|
||||
<XML_NAMESPACE>http://schemas.android.com/apk/res/android</XML_NAMESPACE>
|
||||
</AND>
|
||||
</match>
|
||||
</rule>
|
||||
</section>
|
||||
<section>
|
||||
<rule>
|
||||
<match>
|
||||
<AND>
|
||||
<NAME>.*:name</NAME>
|
||||
<XML_ATTRIBUTE />
|
||||
<XML_NAMESPACE>http://schemas.android.com/apk/res/android</XML_NAMESPACE>
|
||||
</AND>
|
||||
</match>
|
||||
</rule>
|
||||
</section>
|
||||
<section>
|
||||
<rule>
|
||||
<match>
|
||||
<AND>
|
||||
<NAME>name</NAME>
|
||||
<XML_ATTRIBUTE />
|
||||
<XML_NAMESPACE>^$</XML_NAMESPACE>
|
||||
</AND>
|
||||
</match>
|
||||
</rule>
|
||||
</section>
|
||||
<section>
|
||||
<rule>
|
||||
<match>
|
||||
<AND>
|
||||
<NAME>style</NAME>
|
||||
<XML_ATTRIBUTE />
|
||||
<XML_NAMESPACE>^$</XML_NAMESPACE>
|
||||
</AND>
|
||||
</match>
|
||||
</rule>
|
||||
</section>
|
||||
<section>
|
||||
<rule>
|
||||
<match>
|
||||
<AND>
|
||||
<NAME>.*</NAME>
|
||||
<XML_ATTRIBUTE />
|
||||
<XML_NAMESPACE>^$</XML_NAMESPACE>
|
||||
</AND>
|
||||
</match>
|
||||
<order>BY_NAME</order>
|
||||
</rule>
|
||||
</section>
|
||||
<section>
|
||||
<rule>
|
||||
<match>
|
||||
<AND>
|
||||
<NAME>.*</NAME>
|
||||
<XML_ATTRIBUTE />
|
||||
<XML_NAMESPACE>http://schemas.android.com/apk/res/android</XML_NAMESPACE>
|
||||
</AND>
|
||||
</match>
|
||||
<order>ANDROID_ATTRIBUTE_ORDER</order>
|
||||
</rule>
|
||||
</section>
|
||||
<section>
|
||||
<rule>
|
||||
<match>
|
||||
<AND>
|
||||
<NAME>.*</NAME>
|
||||
<XML_ATTRIBUTE />
|
||||
<XML_NAMESPACE>.*</XML_NAMESPACE>
|
||||
</AND>
|
||||
</match>
|
||||
<order>BY_NAME</order>
|
||||
</rule>
|
||||
</section>
|
||||
</rules>
|
||||
</arrangement>
|
||||
</codeStyleSettings>
|
||||
<codeStyleSettings language="kotlin">
|
||||
<option name="CODE_STYLE_DEFAULTS" value="KOTLIN_OFFICIAL" />
|
||||
</codeStyleSettings>
|
||||
</code_scheme>
|
||||
</component>
|
|
@ -0,0 +1,5 @@
|
|||
<component name="ProjectCodeStyleConfiguration">
|
||||
<state>
|
||||
<option name="USE_PER_PROJECT_SETTINGS" value="true" />
|
||||
</state>
|
||||
</component>
|
|
@ -0,0 +1,6 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<project version="4">
|
||||
<component name="CompilerConfiguration">
|
||||
<bytecodeTargetLevel target="11" />
|
||||
</component>
|
||||
</project>
|
|
@ -0,0 +1,8 @@
|
|||
<component name="ProjectDictionaryState">
|
||||
<dictionary name="schoumi">
|
||||
<words>
|
||||
<w>datas</w>
|
||||
<w>rtmp</w>
|
||||
</words>
|
||||
</dictionary>
|
||||
</component>
|
|
@ -0,0 +1,25 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<project version="4">
|
||||
<component name="GradleMigrationSettings" migrationVersion="1" />
|
||||
<component name="GradleSettings">
|
||||
<option name="linkedExternalProjectsSettings">
|
||||
<GradleProjectSettings>
|
||||
<option name="testRunner" value="GRADLE" />
|
||||
<option name="distributionType" value="DEFAULT_WRAPPED" />
|
||||
<option name="externalProjectPath" value="$PROJECT_DIR$" />
|
||||
<option name="gradleHome" value="$APPLICATION_HOME_DIR$/gradle/gradle-2.2.1" />
|
||||
<option name="gradleJvm" value="1.8" />
|
||||
<option name="modules">
|
||||
<set>
|
||||
<option value="$PROJECT_DIR$" />
|
||||
<option value="$PROJECT_DIR$/app" />
|
||||
<option value="$PROJECT_DIR$/encoder" />
|
||||
<option value="$PROJECT_DIR$/rtmp" />
|
||||
<option value="$PROJECT_DIR$/rtplibrary" />
|
||||
<option value="$PROJECT_DIR$/rtsp" />
|
||||
</set>
|
||||
</option>
|
||||
</GradleProjectSettings>
|
||||
</option>
|
||||
</component>
|
||||
</project>
|
|
@ -0,0 +1,35 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<project version="4">
|
||||
<component name="RemoteRepositoriesConfiguration">
|
||||
<remote-repository>
|
||||
<option name="id" value="central" />
|
||||
<option name="name" value="Maven Central repository" />
|
||||
<option name="url" value="https://repo1.maven.org/maven2" />
|
||||
</remote-repository>
|
||||
<remote-repository>
|
||||
<option name="id" value="jboss.community" />
|
||||
<option name="name" value="JBoss Community repository" />
|
||||
<option name="url" value="https://repository.jboss.org/nexus/content/repositories/public/" />
|
||||
</remote-repository>
|
||||
<remote-repository>
|
||||
<option name="id" value="BintrayJCenter" />
|
||||
<option name="name" value="BintrayJCenter" />
|
||||
<option name="url" value="https://jcenter.bintray.com/" />
|
||||
</remote-repository>
|
||||
<remote-repository>
|
||||
<option name="id" value="Google" />
|
||||
<option name="name" value="Google" />
|
||||
<option name="url" value="https://dl.google.com/dl/android/maven2/" />
|
||||
</remote-repository>
|
||||
<remote-repository>
|
||||
<option name="id" value="maven" />
|
||||
<option name="name" value="maven" />
|
||||
<option name="url" value="https://jitpack.io" />
|
||||
</remote-repository>
|
||||
<remote-repository>
|
||||
<option name="id" value="MavenRepo" />
|
||||
<option name="name" value="MavenRepo" />
|
||||
<option name="url" value="https://repo.maven.apache.org/maven2/" />
|
||||
</remote-repository>
|
||||
</component>
|
||||
</project>
|
|
@ -0,0 +1,21 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<project version="4">
|
||||
<component name="CMakeSettings">
|
||||
<configurations>
|
||||
<configuration PROFILE_NAME="Debug" CONFIG_NAME="Debug" />
|
||||
</configurations>
|
||||
</component>
|
||||
<component name="DesignSurface">
|
||||
<option name="filePathToZoomLevelMap">
|
||||
<map>
|
||||
<entry key="../../../../../layout/custom_preview.xml" value="0.14448441247002397" />
|
||||
</map>
|
||||
</option>
|
||||
</component>
|
||||
<component name="ProjectRootManager" version="2" languageLevel="JDK_11" default="true" project-jdk-name="1.8" project-jdk-type="JavaSDK">
|
||||
<output url="file://$PROJECT_DIR$/build/classes" />
|
||||
</component>
|
||||
<component name="ProjectType">
|
||||
<option name="id" value="Android" />
|
||||
</component>
|
||||
</project>
|
|
@ -0,0 +1,6 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<project version="4">
|
||||
<component name="VcsDirectoryMappings">
|
||||
<mapping directory="$PROJECT_DIR$" vcs="Git" />
|
||||
</component>
|
||||
</project>
|
|
@ -91,7 +91,7 @@ object InstanceManager {
|
|||
if(oauthData.expires < Calendar.getInstance().timeInMillis) {
|
||||
refreshToken(context,url,oauthData,object: InstanceListener {
|
||||
override fun onSuccess(args: Bundle?) {
|
||||
val oauth: OAuthData? = args?.getParcelable(EXTRA_DATA)
|
||||
val oauth: OAuthData? = args?.getParcelable(InstanceManager.EXTRA_DATA)
|
||||
if (oauth != null) {
|
||||
DatabaseManager.updateCredentials(context,oauth)
|
||||
listener.onUpdateOAuthData(oauth)
|
||||
|
@ -148,32 +148,25 @@ object InstanceManager {
|
|||
// val comments: Boolean, val download: Boolean, val nsfw: Boolean, val saveReplay: Boolean
|
||||
val createLiveUrl = url + BASE_API_ENDPOINT + CREATE_LIVE_ENDPOINT
|
||||
val data = Bundle()
|
||||
val formData = JSONObject()
|
||||
formData.put("channelId",streamSettings.channel)
|
||||
formData.put("name",streamSettings.title)
|
||||
formData.put("privacy",streamSettings.privacy)
|
||||
val boundary = "45fcc22"
|
||||
var formData: String = prepareFormData(boundary,"channelId",streamSettings.channel.toString(),false)
|
||||
formData += prepareFormData(boundary,"name",streamSettings.title,false)
|
||||
formData += prepareFormData(boundary,"privacy",streamSettings.privacy.toString(),false)
|
||||
if(streamSettings.category != null)
|
||||
formData.put("category",streamSettings.category)
|
||||
formData += prepareFormData(boundary,"category",streamSettings.category.toString(),false)
|
||||
if(streamSettings.language != null)
|
||||
formData.put("language",streamSettings.language.toString())
|
||||
formData += prepareFormData(boundary,"language",streamSettings.language.toString(),false)
|
||||
if(streamSettings.description != null)
|
||||
formData.put("description",streamSettings.description)
|
||||
formData += prepareFormData(boundary,"description",streamSettings.description.toString(),false)
|
||||
if(streamSettings.licence != null)
|
||||
formData.put("licence",streamSettings.licence)
|
||||
formData.put("commentsEnabled",streamSettings.comments.toString())
|
||||
formData.put("nsfw",streamSettings.nsfw.toString())
|
||||
formData.put("downloadEnabled",streamSettings.download.toString())
|
||||
if (streamSettings.saveReplay != null) {
|
||||
formData.put("saveReplay",streamSettings.saveReplay.toString())
|
||||
val privacyReplay = JSONObject()
|
||||
privacyReplay.put("privacy",streamSettings.privacy)
|
||||
formData.put("replaySettings",privacyReplay)
|
||||
}
|
||||
|
||||
data.putString(CONTENT_TYPE,"application/json")
|
||||
data.putString(CONTENT_DATA,formData.toString())
|
||||
println(formData.toString())
|
||||
|
||||
formData += prepareFormData(boundary,"licence",streamSettings.licence.toString(),false)
|
||||
formData += prepareFormData(boundary,"commentsEnabled",streamSettings.comments.toString(),false)
|
||||
formData += prepareFormData(boundary,"nsfw",streamSettings.nsfw.toString(),false)
|
||||
formData += prepareFormData(boundary,"downloadEnabled",streamSettings.download.toString(),streamSettings.saveReplay == null)
|
||||
if (streamSettings.saveReplay != null)
|
||||
formData += prepareFormData(boundary,"saveReplay",streamSettings.saveReplay.toString(),true)
|
||||
data.putString(CONTENT_TYPE,"multipart/form-data; boundary=$boundary")
|
||||
data.putString(CONTENT_DATA,formData)
|
||||
val internalListener = object: InstanceListener {
|
||||
override fun onSuccess(args: Bundle?) {
|
||||
val response = args?.getString(EXTRA_DATA, null)
|
||||
|
@ -507,7 +500,6 @@ object InstanceManager {
|
|||
}
|
||||
}
|
||||
|
||||
@Suppress("UNCHECKED_CAST")
|
||||
private fun <T> extractMapData(response: String, type: T): HashMap<String,T>? {
|
||||
return try {
|
||||
val json = JSONObject(response)
|
||||
|
@ -525,6 +517,21 @@ object InstanceManager {
|
|||
}
|
||||
}
|
||||
|
||||
|
||||
private fun prepareFormData(boundary: String, propertyName: String, property: String, lastData: Boolean): String {
|
||||
val crlf = "\r\n"
|
||||
var formData = "--$boundary$crlf"
|
||||
formData+="Content-Disposition: form-data; name=\"$propertyName\"$crlf$crlf"
|
||||
formData+="$property$crlf"
|
||||
|
||||
if(lastData) {
|
||||
formData += "--$boundary--$crlf"
|
||||
}
|
||||
|
||||
return formData
|
||||
}
|
||||
|
||||
|
||||
interface InstanceListener{
|
||||
fun onSuccess(args: Bundle?)
|
||||
fun onError(error: String?)
|
||||
|
|
Loading…
Reference in New Issue