package org.superdry.sample.tasker.bundle;
import org.superdry.sample.tasker.Constants;
import android.content.Context;
import android.os.Bundle;
import android.text.TextUtils;
public final class PluginBundleManager {
private static final String PACKAGE_NAME = PluginBundleManager.class.getPackage().getName();
public static final String BUNDLE_EXTRA_BOOLEAN_STATE = PACKAGE_NAME + ".extra.BOOLEAN_STATE";
public static final String BUNDLE_EXTRA_STRING_MESSAGE = PACKAGE_NAME + ".extra.STRING_MESSAGE";
public static final String BUNDLE_EXTRA_INT_VERSION_CODE = PACKAGE_NAME + ".extra.INT_VERSION_CODE";
public static boolean isActionBundleValid(final Bundle bundle) {
if (null == bundle)
return false;
if (!bundle.containsKey(BUNDLE_EXTRA_STRING_MESSAGE))
return false;
if (!bundle.containsKey(BUNDLE_EXTRA_INT_VERSION_CODE))
return false;
if (2 != bundle.keySet().size())
return false;
if (TextUtils.isEmpty(bundle.getString(BUNDLE_EXTRA_STRING_MESSAGE)))
return false;
if (bundle.getInt(BUNDLE_EXTRA_INT_VERSION_CODE, 0) != bundle.getInt(BUNDLE_EXTRA_INT_VERSION_CODE, 1))
return false;
return true;
}
public static boolean isStateBundleValid(final Bundle bundle) {
if (null == bundle)
return false;
if (!bundle.containsKey(BUNDLE_EXTRA_BOOLEAN_STATE))
return false;
if (!bundle.containsKey(BUNDLE_EXTRA_INT_VERSION_CODE))
return false;
if (2 != bundle.keySet().size())
return false;
if (bundle.getBoolean(BUNDLE_EXTRA_BOOLEAN_STATE, true) != bundle.getBoolean(BUNDLE_EXTRA_BOOLEAN_STATE, false))
return false;
if (bundle.getInt(BUNDLE_EXTRA_INT_VERSION_CODE, 0) != bundle.getInt(BUNDLE_EXTRA_INT_VERSION_CODE, 1))
return false;
return true;
}
public static Bundle generateBundle(final Context context, final String message) {
final Bundle result = new Bundle();
result.putInt(BUNDLE_EXTRA_INT_VERSION_CODE, Constants.getVersionCode(context));
result.putString(BUNDLE_EXTRA_STRING_MESSAGE, message);
return result;
}
public static Bundle generateBundle(final Context context, final boolean isDisplayOn) {
final Bundle result = new Bundle();
result.putInt(BUNDLE_EXTRA_INT_VERSION_CODE, Constants.getVersionCode(context));
result.putBoolean(BUNDLE_EXTRA_BOOLEAN_STATE, isDisplayOn);
return result;
}
}