Feature #3289

Register Movian as .torrent handler

Added by Leonid Protasov over 1 year ago. Updated 7 months ago.

Status:NewStart date:04/26/2017
Priority:NormalDue date:
Assignee:Andreas Smas% Done:

0%

Category:Filesystem
Target version:5.2

Description

On android alot of other players register themself as .torrent file handlers but Movian doesn't do that. You can make following manifest file:

<?xml version="1.0" encoding="utf-8" standalone="no"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.lonelycoder.mediaplayer" platformBuildVersionCode="21" platformBuildVersionName="5.0.1-1624448">
    <uses-feature android:name="android.software.leanback" android:required="false"/>
    <uses-feature android:name="android.hardware.touchscreen" android:required="false"/>
    <uses-permission android:name="android.permission.INTERNET"/>
    <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"/>
    <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
    <application android:banner="@drawable/banner" android:icon="@drawable/ic_launcher" android:label="Movian">
        <service android:label="Movian" android:name="CoreService"/>
        <activity android:configChanges="keyboard|keyboardHidden|orientation|screenLayout|screenSize|smallestScreenSize|uiMode" android:label="Movian" android:name=".GLWActivity">
            <intent-filter>
                <action android:name="android.intent.action.MAIN"/>
                <category android:name="android.intent.category.LAUNCHER"/>
            </intent-filter>
            <intent-filter>
                <action android:name="android.intent.action.MAIN"/>
                <category android:name="android.intent.category.LEANBACK_LAUNCHER"/>
            </intent-filter>
        </activity>
    </application>
</manifest>

For torrent controller app it is:

<?xml version="1.0" encoding="utf-8" standalone="no"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android" android:installLocation="auto" package="ru.vidsoftware.acestreamcontroller.free" platformBuildVersionCode="23" platformBuildVersionName="6.0-2704002">
    <uses-feature android:name="android.software.leanback" android:required="false"/>
    <uses-feature android:name="android.hardware.touchscreen" android:required="false"/>
    <uses-permission android:name="android.permission.INTERNET"/>
    <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
    <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>
    <uses-permission android:name="com.android.email.permission.ACCESS_PROVIDER"/>
    <uses-permission android:name="com.android.vending.BILLING"/>
    <uses-permission android:name="android.permission.GET_ACCOUNTS"/>
    <uses-permission android:name="android.permission.USE_CREDENTIALS"/>
    <uses-permission android:name="android.permission.READ_LOGS"/>
    <uses-permission android:name="android.permission.SYSTEM_ALERT_WINDOW"/>
    <uses-permission android:name="android.permission.ACCESS_WIFI_STATE"/>
    <uses-permission android:name="android.permission.CHANGE_WIFI_MULTICAST_STATE"/>
    <uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED"/>
    <uses-permission android:name="android.permission.WAKE_LOCK"/>
    <uses-permission android:name="android.permission.REQUEST_IGNORE_BATTERY_OPTIMIZATIONS"/>
    <uses-feature android:glEsVersion="0x00020000" android:required="true"/>
    <android:uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"/>
    <uses-permission android:name="com.google.android.c2dm.permission.RECEIVE"/>
    <application android:allowBackup="true" android:backupAgent="ru.vidsoftware.acestreamcontroller.free.AppBackupAgent" android:banner="@drawable/tv_banner" android:icon="@drawable/main" android:label="@string/app_name" android:name="ru.vidsoftware.acestreamcontroller.free.App">
        <meta-data android:name="com.google.android.backup.api_key" android:value="AEdPqrEAAAAITSva1bWLMI33_YG4wMczRD7tDSZkiyMgx0FjMw"/>
        <meta-data android:name="com.google.android.gms.version" android:value="@integer/google_play_services_version"/>
        <receiver android:enabled="true" android:name="com.google.android.gms.analytics.AnalyticsReceiver">
            <intent-filter>
                <action android:name="com.google.android.gms.analytics.ANALYTICS_DISPATCH"/>
            </intent-filter>
        </receiver>
        <service android:enabled="true" android:exported="false" android:name="com.google.android.gms.analytics.AnalyticsService"/>
        <receiver android:exported="true" android:name="com.google.android.gms.analytics.CampaignTrackingReceiver">
            <intent-filter>
                <action android:name="com.android.vending.INSTALL_REFERRER"/>
            </intent-filter>
        </receiver>
        <service android:name="com.google.android.gms.analytics.CampaignTrackingService"/>
        <activity android:configChanges="locale|keyboardHidden|orientation|screenSize" android:label="@string/playback_title" android:name="ru.vidsoftware.acestreamcontroller.free.playback.PlaybackActivity" android:theme="@style/TSC.Theme.Dark.PlaybackActivity"/>
        <activity android:name="ru.vidsoftware.acestreamcontroller.free.DummyActivity">
            <intent-filter>
                <action android:name="android.intent.action.MAIN"/>
            </intent-filter>
        </activity>
        <activity android:configChanges="locale|keyboardHidden|orientation|screenSize" android:exported="false" android:name="ru.vidsoftware.acestreamcontroller.free.PurchasePerformerActivity" android:theme="@style/TSC.Theme.Dark.PurchasePerformerActivity"/>
        <activity android:configChanges="locale|keyboardHidden|orientation|screenSize" android:exported="false" android:label="@string/webpage_activity_title" android:name="ru.vidsoftware.acestreamcontroller.free.WebPageActivity" android:theme="@style/TSC.Theme.Dark.WebPageActivity"/>
        <activity android:configChanges="locale|keyboardHidden|orientation|screenSize" android:exported="false" android:name="ru.vidsoftware.acestreamcontroller.free.ChangelistActivity" android:theme="@style/TSC.Theme.Dark.ChangelistActivity">
            <intent-filter>
                <category android:name="android.intent.category.DEFAULT"/>
                <category android:name="android.intent.category.BROWSABLE"/>
                <action android:name="android.intent.action.VIEW"/>
                <data android:scheme="ru.vidsoftware.acestreamcontroller.free"/>
                <data android:host="ru.vidsoftware.acestreamcontroller.free.ChangelistActivity"/>
            </intent-filter>
        </activity>
        <activity android:configChanges="locale|keyboardHidden|orientation|screenSize" android:exported="false" android:label="@string/nvi_title" android:name="ru.vidsoftware.acestreamcontroller.free.NewVersionInstallerActivity" android:theme="@style/TSC.Theme.Dark.NewVersionInstallerActivity">
            <intent-filter>
                <category android:name="android.intent.category.DEFAULT"/>
                <category android:name="android.intent.category.BROWSABLE"/>
                <action android:name="android.intent.action.VIEW"/>
                <data android:scheme="ru.vidsoftware.acestreamcontroller.free"/>
                <data android:host="ru.vidsoftware.acestreamcontroller.free.NewVersionInstallerActivity"/>
            </intent-filter>
        </activity>
        <activity android:configChanges="locale|keyboardHidden|orientation|screenSize" android:exported="false" android:label="@string/app_name" android:name="ru.vidsoftware.acestreamcontroller.free.IntentHandlerActivity" android:theme="@style/Theme.AppCompat.NoDisplay">
            <intent-filter>
                <category android:name="android.intent.category.DEFAULT"/>
                <category android:name="android.intent.category.BROWSABLE"/>
                <action android:name="android.intent.action.VIEW"/>
                <data android:scheme="ru.vidsoftware.acestreamcontroller.free.IntentHandlerActivity"/>
            </intent-filter>
        </activity>
        <activity android:configChanges="locale|keyboardHidden|orientation|screenSize" android:name="ru.vidsoftware.acestreamcontroller.free.SplashActivity" android:theme="@style/TSC.Theme.Dark.SplashActivity">
            <intent-filter android:label="@string/app_name">
                <action android:name="android.intent.action.MAIN"/>
                <category android:name="android.intent.category.LAUNCHER"/>
                <category android:name="android.intent.category.LEANBACK_LAUNCHER"/>
            </intent-filter>
            <intent-filter>
                <category android:name="android.intent.category.DEFAULT"/>
                <category android:name="android.intent.category.BROWSABLE"/>
                <action android:name="android.intent.action.SEND"/>
                <action android:name="android.intent.action.VIEW"/>
                <data android:scheme="acestream"/>
                <data android:scheme="magnet"/>
                <data android:scheme="acelive"/>
            </intent-filter>
            <intent-filter>
                <category android:name="android.intent.category.DEFAULT"/>
                <category android:name="android.intent.category.BROWSABLE"/>
                <action android:name="android.intent.action.SEND"/>
                <action android:name="android.intent.action.VIEW"/>
                <data android:scheme="acestream"/>
                <data android:scheme="magnet"/>
                <data android:scheme="acelive"/>
                <data android:mimeType="*/*"/>
            </intent-filter>
            <intent-filter>
                <category android:name="android.intent.category.DEFAULT"/>
                <category android:name="android.intent.category.BROWSABLE"/>
                <action android:name="android.intent.action.SEND"/>
                <action android:name="android.intent.action.VIEW"/>
                <data android:scheme="file"/>
                <data android:scheme="http"/>
                <data android:scheme="https"/>
                <data android:host="*"/>
                <data android:pathPattern=".*\\.torrent"/>
                <data android:pathPattern=".*\\.m3u"/>
                <data android:pathPattern=".*\\.m3u8"/>
                <data android:pathPattern=".*\\.acelive"/>
                <data android:pathPattern=".*\\.contentid"/>
            </intent-filter>
            <intent-filter>
                <category android:name="android.intent.category.DEFAULT"/>
                <category android:name="android.intent.category.BROWSABLE"/>
                <action android:name="android.intent.action.SEND"/>
                <action android:name="android.intent.action.VIEW"/>
                <data android:scheme="file"/>
                <data android:scheme="http"/>
                <data android:scheme="https"/>
                <data android:host="*"/>
                <data android:pathPattern=".*\\.torrent"/>
                <data android:pathPattern=".*\\.m3u"/>
                <data android:pathPattern=".*\\.m3u8"/>
                <data android:pathPattern=".*\\.acelive"/>
                <data android:pathPattern=".*\\.contentid"/>
                <data android:mimeType="*/*"/>
            </intent-filter>
            <intent-filter>
                <category android:name="android.intent.category.DEFAULT"/>
                <category android:name="android.intent.category.BROWSABLE"/>
                <action android:name="android.intent.action.SEND"/>
                <action android:name="android.intent.action.VIEW"/>
                <data android:scheme="file"/>
                <data android:scheme="http"/>
                <data android:scheme="https"/>
                <data android:scheme="content"/>
                <data android:mimeType="application/x-bittorrent"/>
                <data android:mimeType="application/x-ts-stream"/>
                <data android:mimeType="application/x-mpegurl"/>
                <data android:mimeType="audio/x-mpegurl"/>
            </intent-filter>
        </activity>
        <activity android:configChanges="locale|keyboardHidden|orientation|screenSize" android:exported="false" android:label="@string/newsource_title" android:name="ru.vidsoftware.acestreamcontroller.free.NewSourceActivity" android:theme="@style/TSC.Theme.Dark.NewSourceActivity"/>
        <activity android:configChanges="locale|keyboardHidden|orientation|screenSize" android:exported="false" android:name="ru.vidsoftware.acestreamcontroller.free.AppLauncherActivity" android:theme="@style/Theme.AppCompat.NoDisplay">
            <intent-filter>
                <category android:name="android.intent.category.DEFAULT"/>
                <category android:name="android.intent.category.BROWSABLE"/>
                <action android:name="android.intent.action.VIEW"/>
                <data android:scheme="ru.vidsoftware.acestreamcontroller.free"/>
                <data android:host="ru.vidsoftware.acestreamcontroller.free.AppLauncherActivity"/>
            </intent-filter>
        </activity>
        <activity android:configChanges="locale|keyboardHidden|orientation|screenSize" android:exported="false" android:label="@string/channels_title" android:name="ru.vidsoftware.acestreamcontroller.free.ChannelsTabActivity" android:theme="@style/TSC.Theme.Dark.ChannelsTabActivity.Medium"/>
        <activity android:configChanges="locale|keyboardHidden|orientation|screenSize" android:exported="false" android:label="@string/history_title" android:name="ru.vidsoftware.acestreamcontroller.free.HistoryActivity" android:theme="@style/TSC.Theme.Dark.HistoryActivity"/>
        <activity android:configChanges="locale|keyboardHidden|orientation|screenSize" android:exported="false" android:name="ru.vidsoftware.acestreamcontroller.free.LicenseInfoActivity" android:theme="@style/TSC.Theme.Dark.LicenseInfoActivity"/>
        <activity android:configChanges="locale|keyboardHidden|orientation|screenSize" android:exported="false" android:name="ru.vidsoftware.acestreamcontroller.free.AboutActivity" android:theme="@style/TSC.Theme.Dark.AboutActivity"/>
        <activity android:configChanges="locale|keyboardHidden|orientation|screenSize" android:exported="false" android:label="@string/channel_epg_title" android:name="ru.vidsoftware.acestreamcontroller.free.ChannelEPGActivity" android:theme="@style/TSC.Theme.Dark.ChannelEPGActivity"/>
        <activity android:configChanges="locale|keyboardHidden|orientation|screenSize" android:exported="false" android:label="@string/settings_title" android:name="ru.vidsoftware.acestreamcontroller.free.settings.SettingsActivity2" android:theme="@style/TSC.Theme.Dark.SettingsActivity"/>
        <activity android:configChanges="locale|keyboardHidden|orientation|screenSize" android:exported="false" android:label="@string/settings_remote_engine_settings_title" android:name="ru.vidsoftware.acestreamcontroller.free.settings.SettingsRemoteEngineActivity" android:theme="@style/TSC.Theme.Dark.SettingsActivity"/>
        <activity android:configChanges="locale|keyboardHidden|orientation|screenSize" android:exported="false" android:label="@string/settings_local_engine_settings_title" android:name="ru.vidsoftware.acestreamcontroller.free.settings.SettingsLocalEngineActivity" android:theme="@style/TSC.Theme.Dark.SettingsActivity"/>
        <activity android:configChanges="locale|keyboardHidden|orientation|screenSize" android:exported="false" android:label="@string/settings_common_engine_settings_title" android:name="ru.vidsoftware.acestreamcontroller.free.settings.SettingsCommonEngineActivity" android:theme="@style/TSC.Theme.Dark.SettingsActivity"/>
        <activity android:configChanges="locale|keyboardHidden|orientation|screenSize" android:exported="false" android:label="@string/settings_misc_behavior_title" android:name="ru.vidsoftware.acestreamcontroller.free.settings.SettingsMiscBehaviorActivity" android:theme="@style/TSC.Theme.Dark.SettingsActivity"/>
        <activity android:configChanges="locale|keyboardHidden|orientation|screenSize" android:exported="false" android:label="@string/settngs_default_player_category_title" android:name="ru.vidsoftware.acestreamcontroller.free.settings.SettingsDefaultPlayerActivity" android:theme="@style/TSC.Theme.Dark.SettingsActivity"/>
        <activity android:configChanges="locale|keyboardHidden|orientation|screenSize" android:exported="false" android:label="@string/settings_misc_tuning_title" android:name="ru.vidsoftware.acestreamcontroller.free.settings.SettingsMiscTuningActivity" android:theme="@style/TSC.Theme.Dark.SettingsActivity"/>
        <activity android:configChanges="locale|keyboardHidden|orientation|screenSize" android:exported="false" android:label="@string/settings_misc_purchases_title" android:name="ru.vidsoftware.acestreamcontroller.free.settings.SettingsMiscPurchasesActivity" android:theme="@style/TSC.Theme.Dark.SettingsActivity"/>
        <activity android:configChanges="keyboard|keyboardHidden|orientation|screenLayout|screenSize|smallestScreenSize|uiMode" android:name="com.google.android.gms.ads.AdActivity" android:theme="@android:style/Theme.Translucent"/>
        <activity android:configChanges="locale|keyboardHidden|orientation|screenSize" android:label="@string/payment_title" android:name="ru.vidsoftware.acestreamcontroller.free.PaymentActivity" android:theme="@style/TSC.Theme.Dark.PaymentActivity"/>
        <activity android:configChanges="locale|keyboardHidden|orientation|screenSize" android:name="ru.vidsoftware.acestreamcontroller.free.engine.android.AceStreamPremiumServiceActivity" android:theme="@style/TSC.Theme.Dark.AceStreamPremiumServiceActivity"/>
        <service android:exported="false" android:name="ru.vidsoftware.acestreamcontroller.free.playback.PlaybackService"/>
        <service android:exported="false" android:name="ru.vidsoftware.acestreamcontroller.free.conproxy.ProxyService"/>
        <service android:exported="false" android:name="ru.vidsoftware.acestreamcontroller.free.osd.OSDServiceImpl"/>
        <service android:exported="false" android:name="ru.vidsoftware.acestreamcontroller.free.license.LicenseService"/>
        <service android:exported="false" android:name="ru.vidsoftware.acestreamcontroller.free.portmapping.PortMapperServiceImpl2"/>
        <provider android:authorities="ru.vidsoftware.acestreamcontroller.free.files" android:exported="true" android:name="ru.vidsoftware.acestreamcontroller.free.FileProvider"/>
        <receiver android:name="ru.vidsoftware.acestreamcontroller.free.job.JobBootReceiver">
            <intent-filter>
                <action android:name="android.intent.action.BOOT_COMPLETED"/>
            </intent-filter>
        </receiver>
        <receiver android:name="ru.vidsoftware.acestreamcontroller.free.job.alarm.AlarmJobReceiver"/>
        <receiver android:enabled="false" android:name="ru.vidsoftware.acestreamcontroller.free.job.alarm.NetworkStateReceiver">
            <intent-filter>
                <action android:name="android.net.conn.CONNECTIVITY_CHANGE"/>
                <action android:name="android.net.wifi.WIFI_STATE_CHANGED"/>
            </intent-filter>
        </receiver>
        <service android:exported="false" android:name="ru.vidsoftware.acestreamcontroller.free.job.alarm.AlarmJobService"/>
        <activity android:name="com.google.android.gms.ads.purchase.InAppPurchaseActivity" android:theme="@style/Theme.IAPTheme"/>
        <provider android:authorities="ru.vidsoftware.acestreamcontroller.free.google_measurement_service" android:exported="false" android:name="com.google.android.gms.measurement.AppMeasurementContentProvider"/>
        <receiver android:enabled="true" android:name="com.google.android.gms.measurement.AppMeasurementReceiver">
            <intent-filter>
                <action android:name="com.google.android.gms.measurement.UPLOAD"/>
            </intent-filter>
        </receiver>
        <service android:enabled="true" android:exported="false" android:name="com.google.android.gms.measurement.AppMeasurementService"/>
    </application>
</manifest>

After making the first one for Movian .torrent files become associated with Movian but it still fails to open them.

History

#2 Updated by Rob Koni over 1 year ago

Handler / intent filter should then also incorporate

SRT / MKV / MP4 / MP3 / AVI / MAGNET / Torrent / MPG / ISO / http(s) for Youtube links in e-mails / VOB / SSA / WAV / WMA / WMV / OPUS etc.

#3 Updated by Leonid Protasov about 1 year ago

  • Priority changed from High to Normal

#4 Updated by Rob Koni 7 months ago

It seems @deank fixed that in his modded Android builds, which can be found on 4PDA

  • Register as handler for: .torrent / .mkv / .mp4 / .mov / .avi / .ts / magnet and other video files from LOCAL and HTTP/HTTPS sources

https://4pda.ru/forum/index.php?showtopic=669064&st=2940#entry72593742

You need an account (generate that via the dedicated 4PDA android app) to download the APK files

Also available in: Atom PDF