Monthly Archives: August 2015

Android beta 2.7.4 with a surprise!

Posted by Popcorn-Time on August 21, 2015
New features / No Comments

Hi Androiders,

We’ve just released a new Android version, beta 2.7.4!

Here’s your regular change log:

1. Updated VLC sources (better player support)
2. Added new VPN support logic
3. Bug fixes from user reports

And the surprise?

Well, since our user-base has become huge (we love you guys!) and one VPN company can no longer provide good, solid enough VPN support for all dedicated users and since your anonymity is of top priority for us and the ultimate solution we’ve been working on for months which will provide you all free protection with no problem is not yet ready, we’ve decided to open our API to third party VPN companies (experimental) to integrate with! In the meantime we have one company who has integrated already (Anonymous VPN) and we’re hoping that in the near future many more will integrate and thus will offer competitive subscriptions and, bottom line, the best support and protection for our awesome users!

 

VPN Companies, You can find the API documentation here.
* Any VPN company who would like to integrate our API and needs help with this, please contact us on this email: thetime4popcorn@gmail.com

VPN Providers integration guide (Experimental)

Posted by Popcorn-Time on August 21, 2015
New features / No Comments

Integrate Your Android VPN client with Popcorn Time in 5 simple steps:

 

1. Import the popcorn-api.aar to your project.

2. Add “popcorn-api” module to your project’s dependencies

3. Create a class which extends PopcornVpnReceiver. For example:

public class SimplePopcornVpnReceiver extends PopcornVpnReceiver {

    @Override
    protected int getVpnStatus(@NonNull Context context) {
//        Return current state of vpn client (VpnClient.STATUS_CONNECTED, VpnClient.STATUS_DISCONNECTED)
        return VpnClient.STATUS_DISCONNECTED;
    }

    @Override
    protected void onVpnConnect(@NonNull Context context) {
        // Called when popcorn app tell vpn client to connect vpn
    }

    @Override
    protected void onVpnDisconnect(@NonNull Context context) {
        // Called when popcorn app tell vpn client to disconnect vpn
    }
}

 

4. Add PopcornVpnReceiver to manifest:

<receiver android:name=".SimplePopcornVpnReceiver"
android:exported="true">
<intent-filter>
<action android:name="se.popcorn_time.api.action.APP"/>
</intent-filter>
</receiver>

Now your VPN client can receive messages from Popcorn Time.
5. It is recommended to report back to Popcorn Time about status changes. for example:

VpnClient vpnClient = PopcornVpnApi.createClient(getBaseContext());
if (connected) {
   vpnClient.setStatus(VpnClient.STATUS_CONNECTED);
}
else {
   vpnClient.setStatus(VpnClient.STATUS_DISCONNECTED);
}
PopcornVpnApi.sendStatus(getBaseContext(), vpnClient);

 

Integrate Your Desktop VPN client with Popcorn Time in 3 simple steps:

 
1. Import the vpnIntegration.h and vpnIntegration.cpp files to your Qt project, or port the named pipes (Windows) or Unix Domain Sockets (Mac OS X) Qt handlers to plain C/C++.

2. Use

TVpnIntegration::setVpnInstalled( true )

to set your VPN application executable (for VPN service detection).
Don’t forget to call

TVpnIntegration::setVpnInstalled( false )

on VPN client uninstall.

3. Use Qt signals

TVpnIntegrationServer::connectCommand() 
TVpnIntegrationServer::disconnectCommand()

as control source from integrated application, and

TVpnIntegrationServer::onNotifyConnectionStatus( bool )
TVpnIntegrationServer::onAuthFailed()

as data feed to integrated application.

That’s all! Now your VPN client is fully integrated with Popcorn Time!
You can find the full app source code here

A quick post to introduce beta 2.7.3 for Android!

Posted by Popcorn-Time on August 06, 2015
New features / No Comments

Hi People,

As some of you may have noticed, we released beta 2.7.3 for Android about a week ago.

The main change in this version, is that we created a feature which will enable the user to choose the app’s download location whether it’ll download the content to the device’s internal memory, or external SD card. This solves the issue of “not enough space” some users were having.
To choose app’s download location, a user must go to settings menu and there under downloads section, choose cache folder and choose the location which has more space.

Other than that we:

1. Added to player swipe control for volume, brightness and seek.
2. Added double tap option for play/pause video
3. Improved preparing and buffering speed
4. Added content providers
5. Fixed some crashes from crash reports

And we’re feeling good :)