Android Open Source - antigravity A D N Passport Utility






From Project

Back to project page antigravity.

License

The source code is released under:

GNU General Public License

If you think the Android project antigravity listed in this page is inappropriate, such as containing malicious code/tools or violating the copyright, please email info at java2s dot com, thanks.

Java Source Code

package net.app.adnlogin;
/*from w w  w.j  av a2  s. co m*/
import android.content.Context;
import android.content.Intent;
import android.content.pm.PackageManager;
import android.content.pm.ResolveInfo;
import android.net.Uri;

import java.util.List;

public class ADNPassportUtility {

    public static final String APP_PACKAGE = "net.app.passport";
    private static final String AUTHORIZE_ACTION = "net.app.adnpassport.authorize";
    private static final String FIND_FRIENDS_ACTION = "net.app.adnpassport.findfriends";
    private static final String RECOMMENDED_USERS_ACTION = "net.app.adnpassport.recommendedusers";
    private static final String INVITE_FRIENDS_ACTION = "net.app.adnpassport.invite";

    /**
     * Check to see if App.net Passport is available for third party application authorization.
     *
     * @param context Context
     * @return true if Passport is available for authorization, false otherwise.
     */
    public static boolean isPassportAuthorizationAvailable(Context context) {
        return isActionAvailable(context, new Intent(AUTHORIZE_ACTION));
    }

    /**
     * Check to see if App.net Passport's Find Friends Activity can be launched.
     *
     * @param context Context
     * @return true if the Find Friends Activity can be launched, false otherwise.
     */
    public static boolean isFindFriendsAvailable(Context context) {
        return isActionAvailable(context, new Intent(FIND_FRIENDS_ACTION));
    }

    /**
     * Check to see if App.net Passport's Recommended Users Activity can be launched.
     *
     * @param context Context
     * @return true if the Recommended Users Activity can be launched, false otherwise.
     */
    public static boolean isRecommendedUsersAvailable(Context context) {
        return isActionAvailable(context, new Intent(RECOMMENDED_USERS_ACTION));
    }

    /**
     * Check to see if App.net Passport's Invite Friends Activity can be launched.
     *
     * @param context Context
     * @return true if the Invite Friends Activity can be launched, false otherwise.
     */
    public static boolean isInviteFriendsAvailable(Context context) {
        return isActionAvailable(context, new Intent(INVITE_FRIENDS_ACTION));
    }

    /**
     * Launch App.net Passport's Find Friends Activity
     *
     * @param context Context
     * @param clientId Your client ID.
     * @return false if The Find Friends Activity is not available, true otherwise.
     */
    public static boolean launchFindFriends(Context context, String clientId) {
        return launchPassportAction(context, clientId, FIND_FRIENDS_ACTION);
    }

    /**
     * Launch App.net Passport's Recommended Users Activity
     *
     * @param context Context
     * @param clientId Your client ID.
     * @return false if The Recommended Users Activity is not available, true otherwise.
     */
    public static boolean launchRecommendedUsers(Context context, String clientId) {
        return launchPassportAction(context, clientId, RECOMMENDED_USERS_ACTION);
    }

    /**
     * Launch App.net Passport's Invite Friends Activity
     *
     * @param context Context
     * @param clientId Your client ID.
     * @return false if The Invite Friends Activity is not available, true otherwise.
     */
    public static boolean launchInviteFriends(Context context, String clientId) {
        return launchPassportAction(context, clientId, INVITE_FRIENDS_ACTION);
    }

    /**
     * Launch Google Play to install App.net Passport.
     *
     * You should use {@link net.app.adnlogin.ADNPassportUtility#isPassportAuthorizationAvailable(android.content.Context)}
     * to check if Passport is installed before calling this method.
     *
     * By registering a BroadcastReceiver for action {@link android.content.Intent#ACTION_PACKAGE_ADDED},
     * you can find out when App.net Passport has successfully been installed and perform follow up
     * tasks, e.g. launch the authorization flow.
     *
     * @param context Context
     */
    public static void launchPassportInstallation(Context context) {
        Intent marketIntent = new Intent(Intent.ACTION_VIEW, Uri.parse(String.format("market://details?id=%s", APP_PACKAGE)));
        marketIntent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK | Intent.FLAG_ACTIVITY_NO_HISTORY | Intent.FLAG_ACTIVITY_EXCLUDE_FROM_RECENTS);
        context.startActivity(marketIntent);
    }

    /**
     * Get an Intent to be used with App.net Passport's third party app authorization flow.
     * From your Activity, pass this Intent to startActivityForResult. In the onActivityResult
     * method, a resultCode of 1 indicates authorization success. The data Intent will contain
     * three String extras: accessToken, userId, and username.
     *
     * @param clientId Your client ID.
     * @param scope The requested scopes (Comma separated, e.g. "basic,write_post,files,stream")
     * @return an Intent to be used for App.net Passport's third party app authorization flow.
     */
    public static Intent getAuthorizationIntent(String clientId, String scope) {
        Intent i = new Intent(AUTHORIZE_ACTION);
        i.putExtra("clientId", clientId);
        i.putExtra("scope", scope);
        return i;
    }

    private static boolean isActionAvailable(Context context, Intent intent) {
        PackageManager packageManager = context.getPackageManager();
        List<ResolveInfo> activities = packageManager.queryIntentActivities(intent, 0);
        return activities.size() > 0;
    }

    private static boolean launchPassportAction(Context context, String clientId, String intentAction) {
        Intent i = new Intent(intentAction);
        if(isActionAvailable(context, i)) {
            i.putExtra("clientId", clientId);
            context.startActivity(i);
            return true;
        }
        return false;
    }
}




Java Source Code List

com.floatboth.antigravity.ADNPrefs.java
com.floatboth.antigravity.AntigravityApplication.java
com.floatboth.antigravity.CanHasCamera.java
com.floatboth.antigravity.DataCache.java
com.floatboth.antigravity.data.ADNAuthError.java
com.floatboth.antigravity.data.ADNAuthResponse.java
com.floatboth.antigravity.data.ADNMeta.java
com.floatboth.antigravity.data.ADNResponse.java
com.floatboth.antigravity.data.Annotation.java
com.floatboth.antigravity.data.Configuration.java
com.floatboth.antigravity.data.DerivedFiles.java
com.floatboth.antigravity.data.Entities.java
com.floatboth.antigravity.data.Entity.java
com.floatboth.antigravity.data.FileAnnotationReplacementValueWrapper.java
com.floatboth.antigravity.data.FileAnnotationReplacementValue.java
com.floatboth.antigravity.data.File.java
com.floatboth.antigravity.data.LinkEntity.java
com.floatboth.antigravity.data.PostConfiguration.java
com.floatboth.antigravity.data.Post.java
com.floatboth.antigravity.data.SupportAnnotationValue.java
com.floatboth.antigravity.data.Thumbnail.java
com.floatboth.antigravity.data.TypedContent.java
com.floatboth.antigravity.net.ADNClient.java
com.floatboth.antigravity.net.ADNSpiceService.java
com.floatboth.antigravity.net.ConfigurationRequest.java
com.floatboth.antigravity.net.CreatePostRequest.java
com.floatboth.antigravity.net.DeleteFileRequest.java
com.floatboth.antigravity.net.LoginRequest.java
com.floatboth.antigravity.net.MyFilesRequest.java
com.floatboth.antigravity.net.UpdateFileRequest.java
com.floatboth.antigravity.net.UploadFileRequest.java
com.floatboth.antigravity.post.LinkPostFactory.java
com.floatboth.antigravity.post.OembedPostFactory.java
com.floatboth.antigravity.post.PlainPostFactory.java
com.floatboth.antigravity.post.PostFactory.java
com.floatboth.antigravity.post.SupportPostFactory.java
com.floatboth.antigravity.ui.AboutActivity.java
com.floatboth.antigravity.ui.BaseActivity.java
com.floatboth.antigravity.ui.FileActivity.java
com.floatboth.antigravity.ui.FileDescriptionHelper.java
com.floatboth.antigravity.ui.FileListAdapter.java
com.floatboth.antigravity.ui.FileListFragment.java
com.floatboth.antigravity.ui.LicenseActivity.java
com.floatboth.antigravity.ui.LoginActivity.java
com.floatboth.antigravity.ui.MainActivity.java
com.floatboth.antigravity.ui.PostActivity.java
com.floatboth.antigravity.ui.UploadActivity.java
net.app.adnlogin.ADNPassportUtility.java