// Path: backbone/src/main/java/org/researchstack/backbone/utils/ObservableUtils.java
// public class ObservableUtils {
//     private ObservableUtils() {
//     }
// 
//     public static <T> Observable.Transformer<T, T> applyDefault() {
//         return observable -> observable.subscribeOn(Schedulers.io())
//                 .observeOn(AndroidSchedulers.mainThread());
//     }
// }
// 
// Path: backbone/src/main/java/org/researchstack/backbone/utils/ResUtils.java
// public class ResUtils {
// 
//     private ResUtils() {
//     }
// 
//     //-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
//     // Resource Names
//     //-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
// 
//     /**
//      * Should this be here or should {@link StorageAccess} have the
//      * ability to write files to SDCard
//      *
//      * @return of SD-Card storage folder name (used to save and share consent-PDF)
//      */
//     @Deprecated
//     public static String getExternalSDAppFolder() {
//         return "demo_researchstack";
//     }
// 
//     @Deprecated
//     public static String getHTMLFilePath(String docName) {
//         return getRawFilePath(docName, "html");
//     }
// 
//     @Deprecated
//     public static String getPDFFilePath(String docName) {
//         return getRawFilePath(docName, "pdf");
//     }
// 
//     @Deprecated
//     public static String getRawFilePath(String docName, String postfix) {
//         return "file:///android_res/raw/" + docName + "." + postfix;
//     }
// 
//     public static int getDrawableResourceId(Context context, String name) {
//         return getDrawableResourceId(context, name, 0);
//     }
// 
//     public static int getDrawableResourceId(Context context, String name, int defaultResId) {
//         if (name == null || name.length() == 0) {
//             return defaultResId;
//         } else {
//             int resId = context.getResources().getIdentifier(name, "drawable", context.getPackageName());
//             return resId != 0 ? resId : defaultResId;
//         }
//     }
// 
// 
//     public static int getRawResourceId(Context context, String name) {
//         return context.getResources().getIdentifier(name, "raw", context.getPackageName());
//     }
// 
// }


import android.content.Context;
import android.content.Intent;
import android.net.Uri;
import android.os.Environment;
import android.support.annotation.NonNull;
import org.researchstack.backbone.ui.ViewWebDocumentActivity;
import org.researchstack.backbone.utils.LogExt;
import org.researchstack.backbone.utils.ObservableUtils;
import org.researchstack.backbone.utils.ResUtils;
import org.researchstack.skin.R;
import org.researchstack.skin.ResourceManager;
import java.io.File;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import rx.Observable;
package org.researchstack.skin.utils;





public class ConsentFormUtils {

    private ConsentFormUtils() {
    }

    public static void viewConsentForm(Context context) {
        String path = ResourceManager.getInstance().getConsentHtml().getAbsolutePath();
        String title = context.getString(R.string.rsb_consent);
        Intent intent = ViewWebDocumentActivity.newIntentForPath(context, title, path);
        context.startActivity(intent);
    }

    @Deprecated
    public static void shareConsentForm(Context context) {
        Observable.create(subscriber -> {
            File consentFile = ConsentFormUtils.getConsentFormFileFromExternalStorage(context);
            subscriber.onNext(consentFile);
// Path: backbone/src/main/java/org/researchstack/backbone/utils/ObservableUtils.java
// public class ObservableUtils {
//     private ObservableUtils() {
//     }
// 
//     public static <T> Observable.Transformer<T, T> applyDefault() {
//         return observable -> observable.subscribeOn(Schedulers.io())
//                 .observeOn(AndroidSchedulers.mainThread());
//     }
// }
// 
// Path: backbone/src/main/java/org/researchstack/backbone/utils/ResUtils.java
// public class ResUtils {
// 
//     private ResUtils() {
//     }
// 
//     //-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
//     // Resource Names
//     //-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
// 
//     /**
//      * Should this be here or should {@link StorageAccess} have the
//      * ability to write files to SDCard
//      *
//      * @return of SD-Card storage folder name (used to save and share consent-PDF)
//      */
//     @Deprecated
//     public static String getExternalSDAppFolder() {
//         return "demo_researchstack";
//     }
// 
//     @Deprecated
//     public static String getHTMLFilePath(String docName) {
//         return getRawFilePath(docName, "html");
//     }
// 
//     @Deprecated
//     public static String getPDFFilePath(String docName) {
//         return getRawFilePath(docName, "pdf");
//     }
// 
//     @Deprecated
//     public static String getRawFilePath(String docName, String postfix) {
//         return "file:///android_res/raw/" + docName + "." + postfix;
//     }
// 
//     public static int getDrawableResourceId(Context context, String name) {
//         return getDrawableResourceId(context, name, 0);
//     }
// 
//     public static int getDrawableResourceId(Context context, String name, int defaultResId) {
//         if (name == null || name.length() == 0) {
//             return defaultResId;
//         } else {
//             int resId = context.getResources().getIdentifier(name, "drawable", context.getPackageName());
//             return resId != 0 ? resId : defaultResId;
//         }
//     }
// 
// 
//     public static int getRawResourceId(Context context, String name) {
//         return context.getResources().getIdentifier(name, "raw", context.getPackageName());
//     }
// 
// }


// Path: skin/src/main/java/org/researchstack/skin/utils/ConsentFormUtils.java
import android.content.Context;
import android.content.Intent;
import android.net.Uri;
import android.os.Environment;
import android.support.annotation.NonNull;
import org.researchstack.backbone.ui.ViewWebDocumentActivity;
import org.researchstack.backbone.utils.LogExt;
import org.researchstack.backbone.utils.ObservableUtils;
import org.researchstack.backbone.utils.ResUtils;
import org.researchstack.skin.R;
import org.researchstack.skin.ResourceManager;
import java.io.File;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import rx.Observable;

package org.researchstack.skin.utils;





public class ConsentFormUtils {

    private ConsentFormUtils() {
    }

    public static void viewConsentForm(Context context) {
        String path = ResourceManager.getInstance().getConsentHtml().getAbsolutePath();
        String title = context.getString(R.string.rsb_consent);
        Intent intent = ViewWebDocumentActivity.newIntentForPath(context, title, path);
        context.startActivity(intent);
    }

    @Deprecated
    public static void shareConsentForm(Context context) {
        Observable.create(subscriber -> {
            File consentFile = ConsentFormUtils.getConsentFormFileFromExternalStorage(context);
            subscriber.onNext(consentFile);
        }).compose(ObservableUtils.applyDefault()).subscribe(o -> {