Java tutorial
/* * Copyright (C) 2005-2015 Alfresco Software Limited. * * This file is part of Alfresco Mobile for Android. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ package org.alfresco.mobile.android.application.managers; import java.io.File; import org.alfresco.mobile.android.application.R; import org.alfresco.mobile.android.platform.AlfrescoNotificationManager; import org.alfresco.mobile.android.platform.intent.PrivateRequestCode; import org.alfresco.mobile.android.platform.security.DataProtectionManager; import android.content.ActivityNotFoundException; import android.content.Context; import android.content.Intent; import android.support.v4.app.Fragment; import android.support.v4.app.FragmentActivity; public class DataProtectionManagerImpl extends DataProtectionManager { // //////////////////////////////////////////////////// // CONSTRUCTORS // //////////////////////////////////////////////////// public static DataProtectionManagerImpl getInstance(Context context) { synchronized (LOCK) { if (mInstance == null) { mInstance = new DataProtectionManagerImpl(context.getApplicationContext()); } return (DataProtectionManagerImpl) mInstance; } } protected DataProtectionManagerImpl(Context applicationContext) { super(applicationContext); } // //////////////////////////////////////////////////// // Utility // //////////////////////////////////////////////////// private Intent createActionIntent(FragmentActivity activity, int intentAction, File f) { Intent intentI = null; switch (intentAction) { case DataProtectionManager.ACTION_SEND_ALFRESCO: intentI = ActionUtils.createSendFileToAlfrescoIntent(activity, f); break; case DataProtectionManager.ACTION_SEND: intentI = ActionUtils.createSendIntent(activity, f); break; case DataProtectionManager.ACTION_VIEW: intentI = ActionUtils.createViewIntent(activity, f); break; default: break; } if (intentI != null) { setRequiredDataProtectionFile(f); } return intentI; } public void executeAction(FragmentActivity activity, int intentAction, File f) { try { if (intentAction == DataProtectionManager.ACTION_NONE || intentAction == 0) { return; } Intent i = createActionIntent(activity, intentAction, f); if (i.resolveActivity(activity.getPackageManager()) == null) { AlfrescoNotificationManager.getInstance(activity).showAlertCrouton(activity, activity.getString(R.string.feature_disable)); } else { activity.startActivityForResult(i, PrivateRequestCode.DECRYPTED); } } catch (ActivityNotFoundException e) { } } public void executeAction(Fragment fragment, int intentAction, File f) { try { if (intentAction == DataProtectionManager.ACTION_NONE || intentAction == 0) { return; } Intent i = createActionIntent(fragment.getActivity(), intentAction, f); if (i.resolveActivity(fragment.getActivity().getPackageManager()) == null) { AlfrescoNotificationManager.getInstance(fragment.getActivity()) .showAlertCrouton(fragment.getActivity(), fragment.getString(R.string.feature_disable)); } else { fragment.startActivityForResult(i, PrivateRequestCode.DECRYPTED); } } catch (ActivityNotFoundException e) { } } }