package com.kaltura.playersdk.actionHandlers;
import com.kaltura.playersdk.actionHandlers.ShareStrategies.EmailShareStrategy;
import com.kaltura.playersdk.actionHandlers.ShareStrategies.FacebookShareStrategy;
import com.kaltura.playersdk.actionHandlers.ShareStrategies.GooglePlusShareStrategy;
import com.kaltura.playersdk.actionHandlers.ShareStrategies.LinkedinShareStrategy;
import com.kaltura.playersdk.actionHandlers.ShareStrategies.SmsShareStrategy;
import com.kaltura.playersdk.actionHandlers.ShareStrategies.TwitterShareStrategy;
import org.json.JSONException;
import org.json.JSONObject;
import static com.kaltura.playersdk.utils.LogUtils.LOGW;
/**
* Created by itayi on 3/5/15.
*/
public class ShareStrategyFactory {
public static final String TAG = ShareStrategyFactory.class.getSimpleName();
public static ShareManager.KPShareStrategy getStrategy(JSONObject dataSource){
ShareManager.SharingType sharingKeyEnum = getType(dataSource);
if(sharingKeyEnum != null) {
switch (sharingKeyEnum) {
case SHARE_FACEBOOK:
return new FacebookShareStrategy();
case SHARE_EMAIL:
return new EmailShareStrategy();
case SHARE_TWITTER:
return new TwitterShareStrategy();
case SHARE_GOOGLE_PLUS:
return new GooglePlusShareStrategy();
case SHARE_LINKEDIN:
return new LinkedinShareStrategy();
case SHARE_SMS:
return new SmsShareStrategy();
}
}
LOGW(TAG, "couldn't find a strategy");
return null;
}
public static ShareManager.SharingType getType(JSONObject dataSource){
String strategyName;
try {
strategyName = dataSource.getString("id");
} catch (JSONException e) {
LOGW(TAG, "Error parsing Json object");
return null;
}
return ShareManager.SharingType.fromString(strategyName);
}
}