Example usage for android.widget VideoView start

List of usage examples for android.widget VideoView start

Introduction

In this page you can find the example usage for android.widget VideoView start.

Prototype

@Override
    public void start() 

Source Link

Usage

From source file:com.ternup.caddisfly.activity.VideoActivity.java

private void playVideo(File videoFile) {
    DisplayMetrics dm = new DisplayMetrics();
    this.getWindowManager().getDefaultDisplay().getMetrics(dm);
    int height = dm.heightPixels;
    int width = dm.widthPixels;

    final VideoView videoHolder = (VideoView) this.findViewById(R.id.video_player_view);
    videoHolder.setMinimumWidth(width);/*ww w.j  av  a  2  s.c  om*/
    videoHolder.setMinimumHeight(height);

    //getWindow().setFormat(PixelFormat.TRANSLUCENT);
    videoHolder.setMediaController(new MediaController(this));
    videoHolder.setVideoPath(videoFile.getAbsolutePath());
    videoHolder.requestFocus();
    videoHolder.start();

}

From source file:com.yahoo.hakunamatata.fragments.GuideFragment.java

@Override
public void onViewCreated(View view, @Nullable Bundle savedInstanceState) {
    super.onViewCreated(view, savedInstanceState);

    if (bgRes == R.drawable.gd4) {
        getView().findViewById(R.id.image).setVisibility(View.GONE);
        // getView().findViewById(R.id.youtubeplayerfragment_container).setVisibility(View.VISIBLE);
        VideoView videoView = (VideoView) getView().findViewById(R.id.videoview);
        getView().findViewById(R.id.image).setVisibility(View.GONE);
        videoView.setVisibility(View.VISIBLE);
        //if you want the controls to appear
        videoView.setMediaController(new MediaController(getActivity()));
        Uri video = Uri/*from  w w  w.  j a va  2s .c  o  m*/
                .parse("android.resource://" + getActivity().getPackageName() + "/" + R.raw.lionlaughhahahaha); //do not add any extension
        //if your file is named sherif.mp4 and placed in /raw
        //use R.raw.sherif
        videoView.setVideoURI(video);
        videoView.start();
        //            PlayerYouTubeFrag youTubePlayerFragment = PlayerYouTubeFrag.newInstance("https://www.youtube.com/watch?v=VPRuL9ACZeM");
        //            getChildFragmentManager().beginTransaction().add(R.id.youtubeplayerfragment_container, youTubePlayerFragment).commit();
        //            getChildFragmentManager().executePendingTransactions();
        //            youTubePlayerFragment.init();
    } else {
        imageView = (ImageView) getView().findViewById(R.id.image);
        Picasso.with(getActivity().getBaseContext()).load(bgRes).into(imageView);
    }

    //imageView.setBackgroundResource(bgRes);
}

From source file:com.javierarboleda.visualtilestogether.activities.SignInActivity.java

private void initTutorialView() {
    mPager = (ViewPager) findViewById(R.id.tutorial_view_pager);
    mPager.setAdapter(new TutorialImageAdapter(this));
    TabLayout tabLayout = (TabLayout) findViewById(R.id.tutorial_tab_layout);
    tabLayout.setupWithViewPager(mPager, true);

    mTimer = new Timer();
    mTimer.scheduleAtFixedRate(new RemindTask(), 0, 4000);

    mPager.addOnPageChangeListener(new ViewPager.OnPageChangeListener() {
        @Override//from w  w  w  .j  av a  2  s.  c  om
        public void onPageScrolled(int position, float positionOffset, int positionOffsetPixels) {
            mPage = position;
        }

        @Override
        public void onPageSelected(int position) {

        }

        @Override
        public void onPageScrollStateChanged(int state) {

        }
    });

    Animation animation = new AlphaAnimation(0f, 1f);
    animation.setDuration(1400);
    findViewById(R.id.ivTutorial).startAnimation(animation);
    findViewById(R.id.tutorial_view_pager).startAnimation(animation);
    findViewById(R.id.tutorial_tab_layout).startAnimation(animation);
    findViewById(R.id.view_footer).startAnimation(animation);

    final VideoView videoView = (VideoView) findViewById(R.id.vvTutorialVideo);

    videoView.setVideoURI(Uri.parse("android.resource://" + getPackageName() + "/" + R.raw.video_tutorial_1));

    videoView.requestFocus();

    videoView.setOnPreparedListener(new MediaPlayer.OnPreparedListener() {
        @Override
        public void onPrepared(MediaPlayer mediaPlayer) {
            videoView.seekTo(0);
            videoView.start();
        }
    });

    videoView.setOnCompletionListener(new MediaPlayer.OnCompletionListener() {
        @Override
        public void onCompletion(MediaPlayer mediaPlayer) {
            videoView.seekTo(0);
            videoView.start();
        }
    });
}

From source file:org.openhab.habdroid.ui.OpenHABWidgetSettingsAdapter.java

@Override
public View getView(int position, View convertView, ViewGroup parent) {
    /* TODO: This definitely needs some huge refactoring
     *//* w  ww  . j  a v  a  2  s .c o  m*/
    final int pos = position;

    RelativeLayout widgetView;
    TextView labelTextView;
    ImageView roomEditView;
    int widgetLayout = 0;
    OpenHABWidget openHABWidget = getItem(position);
    switch (this.getItemViewType(position)) {
    case TYPE_FRAME:
        widgetLayout = R.layout.openhabwidgetlist_frameitem;
        break;
    case TYPE_GROUP:
        widgetLayout = R.layout.openhabwidget_settings_item;
        break;

    case TYPE_IMAGE:
        widgetLayout = R.layout.openhabwidgetlist_imageitem;
        break;

    case TYPE_CHART:
        widgetLayout = R.layout.openhabwidgetlist_chartitem;
        break;
    case TYPE_VIDEO:
        widgetLayout = R.layout.openhabwidgetlist_videoitem;
        break;
    case TYPE_WEB:
        widgetLayout = R.layout.openhabwidgetlist_webitem;
        break;
    default:
        widgetLayout = R.layout.openhabwidget_settings_item;
        break;
    }
    if (convertView == null) {
        widgetView = new RelativeLayout(getContext());
        String inflater = Context.LAYOUT_INFLATER_SERVICE;
        LayoutInflater vi;
        vi = (LayoutInflater) getContext().getSystemService(inflater);
        vi.inflate(widgetLayout, widgetView, true);
    } else {
        widgetView = (RelativeLayout) convertView;
    }
    switch (getItemViewType(position)) {
    case TYPE_FRAME:
        labelTextView = (TextView) widgetView.findViewById(R.id.framelabel);
        if (labelTextView != null)
            labelTextView.setText(openHABWidget.getLabel());
        widgetView.setClickable(false);
        if (openHABWidget.getLabel().length() > 0) { // hide empty frames
            widgetView.setVisibility(View.VISIBLE);
            labelTextView.setVisibility(View.VISIBLE);
        } else {
            widgetView.setVisibility(View.GONE);
            labelTextView.setVisibility(View.GONE);
        }
        break;
    case TYPE_IMAGE:
        MySmartImageView imageImage = (MySmartImageView) widgetView.findViewById(R.id.imageimage);
        imageImage.setImageUrl(ensureAbsoluteURL(openHABBaseUrl, openHABWidget.getUrl()), false);
        if (openHABWidget.getRefresh() > 0) {
            imageImage.setRefreshRate(openHABWidget.getRefresh());
            refreshImageList.add(imageImage);
        }
        break;
    case TYPE_CHART:
        MySmartImageView chartImage = (MySmartImageView) widgetView.findViewById(R.id.chartimage);
        OpenHABItem chartItem = openHABWidget.getItem();
        Random random = new Random();
        String chartUrl = "";
        if (chartItem.getType().equals("GroupItem")) {
            chartUrl = openHABBaseUrl + "rrdchart.png?groups=" + chartItem.getName() + "&period="
                    + openHABWidget.getPeriod() + "&random=" + String.valueOf(random.nextInt());
        }
        Log.i("OpenHABWidgetAdapter", "Chart url = " + chartUrl);
        chartImage.setImageUrl(chartUrl, false);
        // TODO: This is quite dirty fix to make charts look full screen width on all displays
        ViewGroup.LayoutParams chartLayoutParams = chartImage.getLayoutParams();
        int screenWidth = ((WindowManager) getContext().getSystemService(Context.WINDOW_SERVICE))
                .getDefaultDisplay().getWidth();
        chartLayoutParams.height = (int) (screenWidth / 1.88);
        chartImage.setLayoutParams(chartLayoutParams);
        if (openHABWidget.getRefresh() > 0) {
            chartImage.setRefreshRate(openHABWidget.getRefresh());
            refreshImageList.add(chartImage);
        }
        Log.i("OpenHABWidgetAdapter",
                "chart size = " + chartLayoutParams.width + " " + chartLayoutParams.height);
        break;
    case TYPE_VIDEO:
        VideoView videoVideo = (VideoView) widgetView.findViewById(R.id.videovideo);
        Log.i("OpenHABWidgetAdapter", "Opening video at " + openHABWidget.getUrl());
        // TODO: This is quite dirty fix to make video look maximum available size on all screens
        WindowManager wm = (WindowManager) getContext().getSystemService(Context.WINDOW_SERVICE);
        ViewGroup.LayoutParams videoLayoutParams = videoVideo.getLayoutParams();
        videoLayoutParams.height = (int) (wm.getDefaultDisplay().getWidth() / 1.77);
        videoVideo.setLayoutParams(videoLayoutParams);
        // We don't have any event handler to know if the VideoView is on the screen
        // so we manage an array of all videos to stop them when user leaves the page
        if (!videoWidgetList.contains(videoVideo))
            videoWidgetList.add(videoVideo);
        // Start video
        if (!videoVideo.isPlaying()) {
            videoVideo.setVideoURI(Uri.parse(openHABWidget.getUrl()));
            videoVideo.start();
        }
        Log.i("OpenHABWidgetAdapter", "Video height is " + videoVideo.getHeight());
        break;
    case TYPE_WEB:
        WebView webWeb = (WebView) widgetView.findViewById(R.id.webweb);
        if (openHABWidget.getHeight() > 0) {
            ViewGroup.LayoutParams webLayoutParams = webWeb.getLayoutParams();
            webLayoutParams.height = openHABWidget.getHeight() * 80;
            webWeb.setLayoutParams(webLayoutParams);
        }
        webWeb.setWebViewClient(new WebViewClient());
        webWeb.loadUrl(openHABWidget.getUrl());
        break;

    default:
        labelTextView = (TextView) widgetView.findViewById(R.id.itemlabel);
        roomEditView = (ImageView) widgetView.findViewById(R.id.editimg);
        if (null != roomEditView) {
            roomEditView.setVisibility(View.VISIBLE);
            roomEditView.setOnClickListener(new View.OnClickListener() {

                @Override
                public void onClick(View v) {
                    // TODO Auto-generated method stub

                    if (null != listItemListener)
                        listItemListener.onEditClickListener(pos);
                }
            });
        }
        if (labelTextView != null)
            labelTextView.setText(openHABWidget.getLabel());
        MySmartImageView sliderImage = (MySmartImageView) widgetView.findViewById(R.id.itemimage);
        sliderImage.setImageUrl(openHABBaseUrl + "images/" + openHABWidget.getIcon() + ".png");
        break;
    }
    LinearLayout dividerLayout = (LinearLayout) widgetView.findViewById(R.id.listdivider);
    if (dividerLayout != null) {
        if (position < this.getCount() - 1) {
            if (this.getItemViewType(position + 1) == TYPE_FRAME) {
                dividerLayout.setVisibility(View.GONE); // hide dividers before frame widgets
            } else {
                dividerLayout.setVisibility(View.VISIBLE); // show dividers for all others
            }
        } else { // last widget in the list, hide divider
            dividerLayout.setVisibility(View.GONE);
        }
    }
    return widgetView;
}

From source file:org.quantumbadger.redreader.activities.ImageViewActivity.java

@Override
protected void onCreate(Bundle savedInstanceState) {

    super.onCreate(savedInstanceState);

    final SharedPreferences sharedPreferences = PreferenceManager.getDefaultSharedPreferences(this);
    final boolean solidblack = PrefsUtility.appearance_solidblack(this, sharedPreferences);

    if (solidblack)
        getWindow().setBackgroundDrawable(new ColorDrawable(Color.BLACK));

    final Intent intent = getIntent();

    mUrl = General.uriFromString(intent.getDataString());
    final RedditPost src_post = intent.getParcelableExtra("post");

    if (mUrl == null) {
        General.quickToast(this, "Invalid URL. Trying web browser.");
        revertToWeb();//from  ww  w . jav  a2 s.  c o  m
        return;
    }

    Log.i("ImageViewActivity", "Loading URL " + mUrl.toString());

    final ProgressBar progressBar = new ProgressBar(this, null, android.R.attr.progressBarStyleHorizontal);

    final LinearLayout layout = new LinearLayout(this);
    layout.setOrientation(LinearLayout.VERTICAL);
    layout.addView(progressBar);

    CacheManager.getInstance(this)
            .makeRequest(mRequest = new CacheRequest(mUrl, RedditAccountManager.getAnon(), null,
                    Constants.Priority.IMAGE_VIEW, 0, CacheRequest.DownloadType.IF_NECESSARY,
                    Constants.FileType.IMAGE, false, false, false, this) {

                private void setContentView(View v) {
                    layout.removeAllViews();
                    layout.addView(v);
                    v.getLayoutParams().width = ViewGroup.LayoutParams.MATCH_PARENT;
                    v.getLayoutParams().height = ViewGroup.LayoutParams.MATCH_PARENT;
                }

                @Override
                protected void onCallbackException(Throwable t) {
                    BugReportActivity.handleGlobalError(context.getApplicationContext(),
                            new RRError(null, null, t));
                }

                @Override
                protected void onDownloadNecessary() {
                    AndroidApi.UI_THREAD_HANDLER.post(new Runnable() {
                        @Override
                        public void run() {
                            progressBar.setVisibility(View.VISIBLE);
                            progressBar.setIndeterminate(true);
                        }
                    });
                }

                @Override
                protected void onDownloadStarted() {
                }

                @Override
                protected void onFailure(final RequestFailureType type, Throwable t, StatusLine status,
                        final String readableMessage) {

                    final RRError error = General.getGeneralErrorForFailure(context, type, t, status,
                            url.toString());

                    AndroidApi.UI_THREAD_HANDLER.post(new Runnable() {
                        public void run() {
                            // TODO handle properly
                            mRequest = null;
                            progressBar.setVisibility(View.GONE);
                            layout.addView(new ErrorView(ImageViewActivity.this, error));
                        }
                    });
                }

                @Override
                protected void onProgress(final boolean authorizationInProgress, final long bytesRead,
                        final long totalBytes) {
                    AndroidApi.UI_THREAD_HANDLER.post(new Runnable() {
                        @Override
                        public void run() {
                            progressBar.setVisibility(View.VISIBLE);
                            progressBar.setIndeterminate(authorizationInProgress);
                            progressBar.setProgress((int) ((100 * bytesRead) / totalBytes));
                        }
                    });
                }

                @Override
                protected void onSuccess(final CacheManager.ReadableCacheFile cacheFile, long timestamp,
                        UUID session, boolean fromCache, final String mimetype) {

                    if (mimetype == null
                            || (!Constants.Mime.isImage(mimetype) && !Constants.Mime.isVideo(mimetype))) {
                        revertToWeb();
                        return;
                    }

                    final InputStream cacheFileInputStream;
                    try {
                        cacheFileInputStream = cacheFile.getInputStream();
                    } catch (IOException e) {
                        notifyFailure(RequestFailureType.PARSE, e, null,
                                "Could not read existing cached image.");
                        return;
                    }

                    if (cacheFileInputStream == null) {
                        notifyFailure(RequestFailureType.CACHE_MISS, null, null, "Could not find cached image");
                        return;
                    }

                    if (Constants.Mime.isVideo(mimetype)) {

                        AndroidApi.UI_THREAD_HANDLER.post(new Runnable() {
                            public void run() {

                                if (mIsDestroyed)
                                    return;
                                mRequest = null;

                                try {
                                    final RelativeLayout layout = new RelativeLayout(context);
                                    layout.setGravity(Gravity.CENTER);

                                    final VideoView videoView = new VideoView(ImageViewActivity.this);

                                    videoView.setVideoURI(cacheFile.getUri());
                                    layout.addView(videoView);
                                    setContentView(layout);

                                    layout.getLayoutParams().width = ViewGroup.LayoutParams.MATCH_PARENT;
                                    layout.getLayoutParams().height = ViewGroup.LayoutParams.MATCH_PARENT;
                                    videoView.setLayoutParams(
                                            new RelativeLayout.LayoutParams(ViewGroup.LayoutParams.MATCH_PARENT,
                                                    ViewGroup.LayoutParams.MATCH_PARENT));

                                    videoView.setOnPreparedListener(new MediaPlayer.OnPreparedListener() {
                                        @Override
                                        public void onPrepared(MediaPlayer mp) {
                                            mp.setLooping(true);
                                            videoView.start();
                                        }
                                    });

                                    videoView.setOnErrorListener(new MediaPlayer.OnErrorListener() {
                                        @Override
                                        public boolean onError(final MediaPlayer mediaPlayer, final int i,
                                                final int i1) {
                                            revertToWeb();
                                            return true;
                                        }
                                    });

                                    videoView.setOnTouchListener(new View.OnTouchListener() {
                                        @Override
                                        public boolean onTouch(final View view, final MotionEvent motionEvent) {
                                            finish();
                                            return true;
                                        }
                                    });

                                } catch (OutOfMemoryError e) {
                                    General.quickToast(context, R.string.imageview_oom);
                                    revertToWeb();

                                } catch (Throwable e) {
                                    General.quickToast(context, R.string.imageview_invalid_video);
                                    revertToWeb();
                                }
                            }
                        });

                    } else if (Constants.Mime.isImageGif(mimetype)) {

                        final PrefsUtility.GifViewMode gifViewMode = PrefsUtility
                                .pref_behaviour_gifview_mode(context, sharedPreferences);

                        if (gifViewMode == PrefsUtility.GifViewMode.INTERNAL_BROWSER) {
                            revertToWeb();
                            return;

                        } else if (gifViewMode == PrefsUtility.GifViewMode.EXTERNAL_BROWSER) {
                            AndroidApi.UI_THREAD_HANDLER.post(new Runnable() {
                                @Override
                                public void run() {
                                    LinkHandler.openWebBrowser(ImageViewActivity.this,
                                            Uri.parse(mUrl.toString()));
                                    finish();
                                }
                            });

                            return;
                        }

                        if (AndroidApi.isIceCreamSandwichOrLater()
                                && gifViewMode == PrefsUtility.GifViewMode.INTERNAL_MOVIE) {

                            AndroidApi.UI_THREAD_HANDLER.post(new Runnable() {
                                public void run() {

                                    if (mIsDestroyed)
                                        return;
                                    mRequest = null;

                                    try {
                                        final GIFView gifView = new GIFView(ImageViewActivity.this,
                                                cacheFileInputStream);
                                        setContentView(gifView);
                                        gifView.setOnClickListener(new View.OnClickListener() {
                                            public void onClick(View v) {
                                                finish();
                                            }
                                        });

                                    } catch (OutOfMemoryError e) {
                                        General.quickToast(context, R.string.imageview_oom);
                                        revertToWeb();

                                    } catch (Throwable e) {
                                        General.quickToast(context, R.string.imageview_invalid_gif);
                                        revertToWeb();
                                    }
                                }
                            });

                        } else {

                            gifThread = new GifDecoderThread(cacheFileInputStream,
                                    new GifDecoderThread.OnGifLoadedListener() {

                                        public void onGifLoaded() {
                                            AndroidApi.UI_THREAD_HANDLER.post(new Runnable() {
                                                public void run() {

                                                    if (mIsDestroyed)
                                                        return;
                                                    mRequest = null;

                                                    imageView = new ImageView(context);
                                                    imageView.setScaleType(ImageView.ScaleType.FIT_CENTER);
                                                    setContentView(imageView);
                                                    gifThread.setView(imageView);

                                                    imageView.setOnClickListener(new View.OnClickListener() {
                                                        public void onClick(View v) {
                                                            finish();
                                                        }
                                                    });
                                                }
                                            });
                                        }

                                        public void onOutOfMemory() {
                                            General.quickToast(context, R.string.imageview_oom);
                                            revertToWeb();
                                        }

                                        public void onGifInvalid() {
                                            General.quickToast(context, R.string.imageview_invalid_gif);
                                            revertToWeb();
                                        }
                                    });

                            gifThread.start();

                        }

                    } else {

                        final ImageTileSource imageTileSource;
                        try {

                            final long bytes = cacheFile.getSize();
                            final byte[] buf = new byte[(int) bytes];

                            try {
                                new DataInputStream(cacheFileInputStream).readFully(buf);
                            } catch (IOException e) {
                                throw new RuntimeException(e);
                            }

                            try {
                                imageTileSource = new ImageTileSourceWholeBitmap(buf);

                            } catch (Throwable t) {
                                Log.e("ImageViewActivity", "Exception when creating ImageTileSource", t);
                                General.quickToast(context, R.string.imageview_decode_failed);
                                revertToWeb();
                                return;
                            }

                        } catch (OutOfMemoryError e) {
                            General.quickToast(context, R.string.imageview_oom);
                            revertToWeb();
                            return;
                        }

                        AndroidApi.UI_THREAD_HANDLER.post(new Runnable() {
                            public void run() {

                                if (mIsDestroyed)
                                    return;
                                mRequest = null;
                                mImageViewDisplayerManager = new ImageViewDisplayListManager(imageTileSource,
                                        ImageViewActivity.this);
                                surfaceView = new RRGLSurfaceView(ImageViewActivity.this,
                                        mImageViewDisplayerManager);
                                setContentView(surfaceView);

                                surfaceView.setOnClickListener(new View.OnClickListener() {
                                    public void onClick(View v) {
                                        finish();
                                    }
                                });

                                if (mIsPaused) {
                                    surfaceView.onPause();
                                } else {
                                    surfaceView.onResume();
                                }
                            }
                        });
                    }
                }
            });

    final RedditPreparedPost post = src_post == null ? null
            : new RedditPreparedPost(this, CacheManager.getInstance(this), 0, src_post, -1, false, false, false,
                    false, RedditAccountManager.getInstance(this).getDefaultAccount(), false);

    final FrameLayout outerFrame = new FrameLayout(this);
    outerFrame.addView(layout);

    if (post != null) {

        final SideToolbarOverlay toolbarOverlay = new SideToolbarOverlay(this);

        final BezelSwipeOverlay bezelOverlay = new BezelSwipeOverlay(this,
                new BezelSwipeOverlay.BezelSwipeListener() {

                    public boolean onSwipe(BezelSwipeOverlay.SwipeEdge edge) {

                        toolbarOverlay.setContents(
                                post.generateToolbar(ImageViewActivity.this, false, toolbarOverlay));
                        toolbarOverlay.show(edge == BezelSwipeOverlay.SwipeEdge.LEFT
                                ? SideToolbarOverlay.SideToolbarPosition.LEFT
                                : SideToolbarOverlay.SideToolbarPosition.RIGHT);
                        return true;
                    }

                    public boolean onTap() {

                        if (toolbarOverlay.isShown()) {
                            toolbarOverlay.hide();
                            return true;
                        }

                        return false;
                    }
                });

        outerFrame.addView(bezelOverlay);
        outerFrame.addView(toolbarOverlay);

        bezelOverlay.getLayoutParams().width = android.widget.FrameLayout.LayoutParams.MATCH_PARENT;
        bezelOverlay.getLayoutParams().height = android.widget.FrameLayout.LayoutParams.MATCH_PARENT;

        toolbarOverlay.getLayoutParams().width = android.widget.FrameLayout.LayoutParams.MATCH_PARENT;
        toolbarOverlay.getLayoutParams().height = android.widget.FrameLayout.LayoutParams.MATCH_PARENT;

    }

    setContentView(outerFrame);
}

From source file:org.openhab.habdroid.ui.OpenHABWidgetAdapter.java

@SuppressWarnings("deprecation")
@Override/*from   w w  w  . jav a 2s  .co m*/
public View getView(int position, View convertView, ViewGroup parent) {
    /* TODO: This definitely needs some huge refactoring */
    final RelativeLayout widgetView;
    TextView labelTextView;
    TextView valueTextView;
    int widgetLayout;
    String[] splitString;
    OpenHABWidget openHABWidget = getItem(position);
    int screenWidth = ((WindowManager) getContext().getSystemService(Context.WINDOW_SERVICE))
            .getDefaultDisplay().getWidth();
    switch (this.getItemViewType(position)) {
    case TYPE_FRAME:
        widgetLayout = R.layout.openhabwidgetlist_frameitem;
        break;
    case TYPE_GROUP:
        widgetLayout = R.layout.openhabwidgetlist_groupitem;
        break;
    case TYPE_SECTIONSWITCH:
        widgetLayout = R.layout.openhabwidgetlist_sectionswitchitem;
        break;
    case TYPE_SWITCH:
        widgetLayout = R.layout.openhabwidgetlist_switchitem;
        break;
    case TYPE_ROLLERSHUTTER:
        widgetLayout = R.layout.openhabwidgetlist_rollershutteritem;
        break;
    case TYPE_TEXT:
        widgetLayout = R.layout.openhabwidgetlist_textitem;
        break;
    case TYPE_SLIDER:
        widgetLayout = R.layout.openhabwidgetlist_slideritem;
        break;
    case TYPE_IMAGE:
        widgetLayout = R.layout.openhabwidgetlist_imageitem;
        break;
    case TYPE_SELECTION:
        widgetLayout = R.layout.openhabwidgetlist_selectionitem;
        break;
    case TYPE_SETPOINT:
        widgetLayout = R.layout.openhabwidgetlist_setpointitem;
        break;
    case TYPE_CHART:
        widgetLayout = R.layout.openhabwidgetlist_chartitem;
        break;
    case TYPE_VIDEO:
        widgetLayout = R.layout.openhabwidgetlist_videoitem;
        break;
    case TYPE_VIDEO_MJPEG:
        widgetLayout = R.layout.openhabwidgetlist_videomjpegitem;
        break;
    case TYPE_WEB:
        widgetLayout = R.layout.openhabwidgetlist_webitem;
        break;
    case TYPE_COLOR:
        widgetLayout = R.layout.openhabwidgetlist_coloritem;
        break;
    default:
        widgetLayout = R.layout.openhabwidgetlist_genericitem;
        break;
    }
    if (convertView == null) {
        widgetView = new RelativeLayout(getContext());
        String inflater = Context.LAYOUT_INFLATER_SERVICE;
        LayoutInflater vi;
        vi = (LayoutInflater) getContext().getSystemService(inflater);
        vi.inflate(widgetLayout, widgetView, true);
    } else {
        widgetView = (RelativeLayout) convertView;
    }

    // Process the colour attributes
    Integer iconColor = openHABWidget.getIconColor();
    Integer labelColor = openHABWidget.getLabelColor();
    Integer valueColor = openHABWidget.getValueColor();

    // Process widgets icon image
    MySmartImageView widgetImage = (MySmartImageView) widgetView.findViewById(R.id.widgetimage);
    // Some of widgets, for example Frame doesnt' have an icon, so...
    if (widgetImage != null) {
        if (openHABWidget.getIcon() != null) {
            // This is needed to escape possible spaces and everything according to rfc2396
            String iconUrl = openHABBaseUrl + "images/" + Uri.encode(openHABWidget.getIcon() + ".png");
            //                Log.d(TAG, "Will try to load icon from " + iconUrl);
            // Now set image URL
            widgetImage.setImageUrl(iconUrl, R.drawable.blank_icon, openHABUsername, openHABPassword);
            if (iconColor != null)
                widgetImage.setColorFilter(iconColor);
            else
                widgetImage.clearColorFilter();
        }
    }
    TextView defaultTextView = new TextView(widgetView.getContext());
    // Get TextView for widget label and set it's color
    labelTextView = (TextView) widgetView.findViewById(R.id.widgetlabel);
    // Change label color only for non-frame widgets
    if (labelColor != null && labelTextView != null && this.getItemViewType(position) != TYPE_FRAME) {
        Log.d(TAG, String.format("Setting label color to %d", labelColor));
        labelTextView.setTextColor(labelColor);
    } else if (labelTextView != null && this.getItemViewType(position) != TYPE_FRAME)
        labelTextView.setTextColor(defaultTextView.getTextColors().getDefaultColor());
    // Get TextView for widget value and set it's color
    valueTextView = (TextView) widgetView.findViewById(R.id.widgetvalue);
    if (valueColor != null && valueTextView != null) {
        Log.d(TAG, String.format("Setting value color to %d", valueColor));
        valueTextView.setTextColor(valueColor);
    } else if (valueTextView != null)
        valueTextView.setTextColor(defaultTextView.getTextColors().getDefaultColor());
    defaultTextView = null;
    switch (getItemViewType(position)) {
    case TYPE_FRAME:
        if (labelTextView != null) {
            labelTextView.setText(openHABWidget.getLabel());
            if (valueColor != null)
                labelTextView.setTextColor(valueColor);
        }
        widgetView.setClickable(false);
        if (openHABWidget.getLabel().length() > 0) { // hide empty frames
            widgetView.setVisibility(View.VISIBLE);
            labelTextView.setVisibility(View.VISIBLE);
        } else {
            widgetView.setVisibility(View.GONE);
            labelTextView.setVisibility(View.GONE);
        }
        break;
    case TYPE_GROUP:
        if (labelTextView != null && valueTextView != null) {
            splitString = openHABWidget.getLabel().split("\\[|\\]");
            labelTextView.setText(splitString[0]);
            if (splitString.length > 1) { // We have some value
                valueTextView.setText(splitString[1]);
            } else {
                // This is needed to clean up cached TextViews
                valueTextView.setText("");
            }
        }
        break;
    case TYPE_SECTIONSWITCH:
        splitString = openHABWidget.getLabel().split("\\[|\\]");
        if (labelTextView != null)
            labelTextView.setText(splitString[0]);
        if (splitString.length > 1 && valueTextView != null) { // We have some value
            valueTextView.setText(splitString[1]);
        } else {
            // This is needed to clean up cached TextViews
            valueTextView.setText("");
        }
        RadioGroup sectionSwitchRadioGroup = (RadioGroup) widgetView.findViewById(R.id.sectionswitchradiogroup);
        // As we create buttons in this radio in runtime, we need to remove all
        // exiting buttons first
        sectionSwitchRadioGroup.removeAllViews();
        sectionSwitchRadioGroup.setTag(openHABWidget);
        Iterator<OpenHABWidgetMapping> sectionMappingIterator = openHABWidget.getMappings().iterator();
        while (sectionMappingIterator.hasNext()) {
            OpenHABWidgetMapping widgetMapping = sectionMappingIterator.next();
            SegmentedControlButton segmentedControlButton = (SegmentedControlButton) LayoutInflater
                    .from(sectionSwitchRadioGroup.getContext())
                    .inflate(R.layout.openhabwidgetlist_sectionswitchitem_button, sectionSwitchRadioGroup,
                            false);
            segmentedControlButton.setText(widgetMapping.getLabel());
            segmentedControlButton.setTag(widgetMapping.getCommand());
            if (openHABWidget.getItem() != null && widgetMapping.getCommand() != null) {
                if (widgetMapping.getCommand().equals(openHABWidget.getItem().getState())) {
                    segmentedControlButton.setChecked(true);
                } else {
                    segmentedControlButton.setChecked(false);
                }
            } else {
                segmentedControlButton.setChecked(false);
            }
            segmentedControlButton.setOnClickListener(new OnClickListener() {
                @Override
                public void onClick(View view) {
                    Log.i(TAG, "Button clicked");
                    RadioGroup group = (RadioGroup) view.getParent();
                    if (group.getTag() != null) {
                        OpenHABWidget radioWidget = (OpenHABWidget) group.getTag();
                        SegmentedControlButton selectedButton = (SegmentedControlButton) view;
                        if (selectedButton.getTag() != null) {
                            sendItemCommand(radioWidget.getItem(), (String) selectedButton.getTag());
                        }
                    }
                }
            });
            sectionSwitchRadioGroup.addView(segmentedControlButton);
        }

        sectionSwitchRadioGroup.setOnCheckedChangeListener(new OnCheckedChangeListener() {
            public void onCheckedChanged(RadioGroup group, int checkedId) {
                OpenHABWidget radioWidget = (OpenHABWidget) group.getTag();
                SegmentedControlButton selectedButton = (SegmentedControlButton) group.findViewById(checkedId);
                if (selectedButton != null) {
                    Log.d(TAG, "Selected " + selectedButton.getText());
                    Log.d(TAG, "Command = " + (String) selectedButton.getTag());
                    //                  radioWidget.getItem().sendCommand((String)selectedButton.getTag());
                    sendItemCommand(radioWidget.getItem(), (String) selectedButton.getTag());
                }
            }
        });
        break;
    case TYPE_SWITCH:
        if (labelTextView != null)
            labelTextView.setText(openHABWidget.getLabel());
        SwitchCompat switchSwitch = (SwitchCompat) widgetView.findViewById(R.id.switchswitch);
        if (openHABWidget.hasItem()) {
            if (openHABWidget.getItem().getStateAsBoolean()) {
                switchSwitch.setChecked(true);
            } else {
                switchSwitch.setChecked(false);
            }
        }
        switchSwitch.setTag(openHABWidget.getItem());
        switchSwitch.setOnTouchListener(new OnTouchListener() {
            public boolean onTouch(View v, MotionEvent motionEvent) {
                SwitchCompat switchSwitch = (SwitchCompat) v;
                OpenHABItem linkedItem = (OpenHABItem) switchSwitch.getTag();
                if (motionEvent.getActionMasked() == MotionEvent.ACTION_UP)
                    if (!switchSwitch.isChecked()) {
                        sendItemCommand(linkedItem, "ON");
                    } else {
                        sendItemCommand(linkedItem, "OFF");
                    }
                return false;
            }
        });
        break;
    case TYPE_COLOR:
        if (labelTextView != null)
            labelTextView.setText(openHABWidget.getLabel());
        ImageButton colorUpButton = (ImageButton) widgetView.findViewById(R.id.colorbutton_up);
        ImageButton colorDownButton = (ImageButton) widgetView.findViewById(R.id.colorbutton_down);
        ImageButton colorColorButton = (ImageButton) widgetView.findViewById(R.id.colorbutton_color);
        colorUpButton.setTag(openHABWidget.getItem());
        colorDownButton.setTag(openHABWidget.getItem());
        colorColorButton.setTag(openHABWidget.getItem());
        colorUpButton.setOnTouchListener(new OnTouchListener() {
            public boolean onTouch(View v, MotionEvent motionEvent) {
                ImageButton colorButton = (ImageButton) v;
                OpenHABItem colorItem = (OpenHABItem) colorButton.getTag();
                if (motionEvent.getActionMasked() == MotionEvent.ACTION_UP)
                    sendItemCommand(colorItem, "ON");
                return false;
            }
        });
        colorDownButton.setOnTouchListener(new OnTouchListener() {
            public boolean onTouch(View v, MotionEvent motionEvent) {
                ImageButton colorButton = (ImageButton) v;
                OpenHABItem colorItem = (OpenHABItem) colorButton.getTag();
                if (motionEvent.getActionMasked() == MotionEvent.ACTION_UP)
                    sendItemCommand(colorItem, "OFF");
                return false;
            }
        });
        colorColorButton.setOnTouchListener(new OnTouchListener() {
            public boolean onTouch(View v, MotionEvent motionEvent) {
                ImageButton colorButton = (ImageButton) v;
                OpenHABItem colorItem = (OpenHABItem) colorButton.getTag();
                if (colorItem != null) {
                    if (motionEvent.getActionMasked() == MotionEvent.ACTION_UP) {
                        Log.d(TAG, "Time to launch color picker!");
                        ColorPickerDialog colorDialog = new ColorPickerDialog(widgetView.getContext(),
                                new OnColorChangedListener() {
                                    public void colorChanged(float[] hsv, View v) {
                                        Log.d(TAG, "New color HSV = " + hsv[0] + ", " + hsv[1] + ", " + hsv[2]);
                                        String newColor = String.valueOf(hsv[0]) + ","
                                                + String.valueOf(hsv[1] * 100) + ","
                                                + String.valueOf(hsv[2] * 100);
                                        OpenHABItem colorItem = (OpenHABItem) v.getTag();
                                        sendItemCommand(colorItem, newColor);
                                    }
                                }, colorItem.getStateAsHSV());
                        colorDialog.setTag(colorItem);
                        colorDialog.show();
                    }
                }
                return false;
            }
        });
        break;
    case TYPE_ROLLERSHUTTER:
        if (labelTextView != null)
            labelTextView.setText(openHABWidget.getLabel());
        ImageButton rollershutterUpButton = (ImageButton) widgetView.findViewById(R.id.rollershutterbutton_up);
        ImageButton rollershutterStopButton = (ImageButton) widgetView
                .findViewById(R.id.rollershutterbutton_stop);
        ImageButton rollershutterDownButton = (ImageButton) widgetView
                .findViewById(R.id.rollershutterbutton_down);
        rollershutterUpButton.setTag(openHABWidget.getItem());
        rollershutterStopButton.setTag(openHABWidget.getItem());
        rollershutterDownButton.setTag(openHABWidget.getItem());
        rollershutterUpButton.setOnTouchListener(new OnTouchListener() {
            public boolean onTouch(View v, MotionEvent motionEvent) {
                ImageButton rollershutterButton = (ImageButton) v;
                OpenHABItem rollershutterItem = (OpenHABItem) rollershutterButton.getTag();
                if (motionEvent.getActionMasked() == MotionEvent.ACTION_UP)
                    sendItemCommand(rollershutterItem, "UP");
                return false;
            }
        });
        rollershutterStopButton.setOnTouchListener(new OnTouchListener() {
            public boolean onTouch(View v, MotionEvent motionEvent) {
                ImageButton rollershutterButton = (ImageButton) v;
                OpenHABItem rollershutterItem = (OpenHABItem) rollershutterButton.getTag();
                if (motionEvent.getActionMasked() == MotionEvent.ACTION_UP)
                    sendItemCommand(rollershutterItem, "STOP");
                return false;
            }
        });
        rollershutterDownButton.setOnTouchListener(new OnTouchListener() {
            public boolean onTouch(View v, MotionEvent motionEvent) {
                ImageButton rollershutterButton = (ImageButton) v;
                OpenHABItem rollershutterItem = (OpenHABItem) rollershutterButton.getTag();
                if (motionEvent.getActionMasked() == MotionEvent.ACTION_UP)
                    sendItemCommand(rollershutterItem, "DOWN");
                return false;
            }
        });
        break;
    case TYPE_TEXT:
        splitString = openHABWidget.getLabel().split("\\[|\\]");
        if (labelTextView != null)
            if (splitString.length > 0) {
                labelTextView.setText(splitString[0]);
            } else {
                labelTextView.setText(openHABWidget.getLabel());
            }
        if (valueTextView != null)
            if (splitString.length > 1) {
                // If value is not empty, show TextView
                valueTextView.setVisibility(View.VISIBLE);
                valueTextView.setText(splitString[1]);
            } else {
                // If value is empty, hide TextView to fix vertical alignment of label
                valueTextView.setVisibility(View.GONE);
                valueTextView.setText("");
            }
        break;
    case TYPE_SLIDER:
        splitString = openHABWidget.getLabel().split("\\[|\\]");
        if (labelTextView != null)
            labelTextView.setText(splitString[0]);
        SeekBar sliderSeekBar = (SeekBar) widgetView.findViewById(R.id.sliderseekbar);
        if (openHABWidget.hasItem()) {
            sliderSeekBar.setTag(openHABWidget.getItem());
            sliderSeekBar.setProgress(openHABWidget.getItem().getStateAsFloat().intValue());
            sliderSeekBar.setOnSeekBarChangeListener(new OnSeekBarChangeListener() {
                public void onProgressChanged(SeekBar seekBar, int progress, boolean fromUser) {
                }

                public void onStartTrackingTouch(SeekBar seekBar) {
                    Log.d(TAG, "onStartTrackingTouch position = " + seekBar.getProgress());
                }

                public void onStopTrackingTouch(SeekBar seekBar) {
                    Log.d(TAG, "onStopTrackingTouch position = " + seekBar.getProgress());
                    OpenHABItem sliderItem = (OpenHABItem) seekBar.getTag();
                    //                     sliderItem.sendCommand(String.valueOf(seekBar.getProgress()));
                    if (sliderItem != null && seekBar != null)
                        sendItemCommand(sliderItem, String.valueOf(seekBar.getProgress()));
                }
            });
            if (volumeUpWidget == null) {
                volumeUpWidget = sliderSeekBar;
                volumeDownWidget = sliderSeekBar;
            }
        }
        break;
    case TYPE_IMAGE:
        MySmartImageView imageImage = (MySmartImageView) widgetView.findViewById(R.id.imageimage);
        imageImage.setImageUrl(ensureAbsoluteURL(openHABBaseUrl, openHABWidget.getUrl()), false,
                openHABUsername, openHABPassword);
        //          ViewGroup.LayoutParams imageLayoutParams = imageImage.getLayoutParams();
        //          float imageRatio = imageImage.getDrawable().getIntrinsicWidth()/imageImage.getDrawable().getIntrinsicHeight();
        //          imageLayoutParams.height = (int) (screenWidth/imageRatio);
        //          imageImage.setLayoutParams(imageLayoutParams);
        if (openHABWidget.getRefresh() > 0) {
            imageImage.setRefreshRate(openHABWidget.getRefresh());
            refreshImageList.add(imageImage);
        }
        break;
    case TYPE_CHART:
        MySmartImageView chartImage = (MySmartImageView) widgetView.findViewById(R.id.chartimage);
        //Always clear the drawable so no images from recycled views appear
        chartImage.setImageDrawable(null);
        OpenHABItem chartItem = openHABWidget.getItem();
        Random random = new Random();
        String chartUrl = "";
        if (chartItem != null) {
            if (chartItem.getType().equals("GroupItem")) {
                chartUrl = openHABBaseUrl + "chart?groups=" + chartItem.getName() + "&period="
                        + openHABWidget.getPeriod() + "&random=" + String.valueOf(random.nextInt());
            } else {
                chartUrl = openHABBaseUrl + "chart?items=" + chartItem.getName() + "&period="
                        + openHABWidget.getPeriod() + "&random=" + String.valueOf(random.nextInt());
            }
            if (openHABWidget.getService() != null && openHABWidget.getService().length() > 0) {
                chartUrl += "&service=" + openHABWidget.getService();
            }
        }
        Log.d(TAG, "Chart url = " + chartUrl);
        if (chartImage == null)
            Log.e(TAG, "chartImage == null !!!");
        ViewGroup.LayoutParams chartLayoutParams = chartImage.getLayoutParams();
        chartLayoutParams.height = (int) (screenWidth / 2);
        chartImage.setLayoutParams(chartLayoutParams);
        chartUrl += "&w=" + String.valueOf(screenWidth);
        chartUrl += "&h=" + String.valueOf(screenWidth / 2);
        chartImage.setImageUrl(chartUrl, false, openHABUsername, openHABPassword);
        // TODO: This is quite dirty fix to make charts look full screen width on all displays
        if (openHABWidget.getRefresh() > 0) {
            chartImage.setRefreshRate(openHABWidget.getRefresh());
            refreshImageList.add(chartImage);
        }
        Log.d(TAG, "chart size = " + chartLayoutParams.width + " " + chartLayoutParams.height);
        break;
    case TYPE_VIDEO:
        VideoView videoVideo = (VideoView) widgetView.findViewById(R.id.videovideo);
        Log.d(TAG, "Opening video at " + openHABWidget.getUrl());
        // TODO: This is quite dirty fix to make video look maximum available size on all screens
        WindowManager wm = (WindowManager) getContext().getSystemService(Context.WINDOW_SERVICE);
        ViewGroup.LayoutParams videoLayoutParams = videoVideo.getLayoutParams();
        videoLayoutParams.height = (int) (wm.getDefaultDisplay().getWidth() / 1.77);
        videoVideo.setLayoutParams(videoLayoutParams);
        // We don't have any event handler to know if the VideoView is on the screen
        // so we manage an array of all videos to stop them when user leaves the page
        if (!videoWidgetList.contains(videoVideo))
            videoWidgetList.add(videoVideo);
        // Start video
        if (!videoVideo.isPlaying()) {
            videoVideo.setVideoURI(Uri.parse(openHABWidget.getUrl()));
            videoVideo.start();
        }
        Log.d(TAG, "Video height is " + videoVideo.getHeight());
        break;
    case TYPE_VIDEO_MJPEG:
        Log.d(TAG, "Video is mjpeg");
        ImageView mjpegImage = (ImageView) widgetView.findViewById(R.id.mjpegimage);
        MjpegStreamer mjpegStreamer = new MjpegStreamer(openHABWidget.getUrl(), this.openHABUsername,
                this.openHABPassword, this.getContext());
        mjpegStreamer.setTargetImageView(mjpegImage);
        mjpegStreamer.start();
        if (!mjpegWidgetList.contains(mjpegStreamer))
            mjpegWidgetList.add(mjpegStreamer);
        break;
    case TYPE_WEB:
        WebView webWeb = (WebView) widgetView.findViewById(R.id.webweb);
        if (openHABWidget.getHeight() > 0) {
            ViewGroup.LayoutParams webLayoutParams = webWeb.getLayoutParams();
            webLayoutParams.height = openHABWidget.getHeight() * 80;
            webWeb.setLayoutParams(webLayoutParams);
        }
        webWeb.setWebViewClient(
                new AnchorWebViewClient(openHABWidget.getUrl(), this.openHABUsername, this.openHABPassword));
        webWeb.getSettings().setJavaScriptEnabled(true);
        webWeb.loadUrl(openHABWidget.getUrl());
        break;
    case TYPE_SELECTION:
        int spinnerSelectedIndex = -1;
        if (labelTextView != null)
            labelTextView.setText(openHABWidget.getLabel());
        final Spinner selectionSpinner = (Spinner) widgetView.findViewById(R.id.selectionspinner);
        selectionSpinner.setOnItemSelectedListener(null);
        ArrayList<String> spinnerArray = new ArrayList<String>();
        Iterator<OpenHABWidgetMapping> mappingIterator = openHABWidget.getMappings().iterator();
        while (mappingIterator.hasNext()) {
            OpenHABWidgetMapping openHABWidgetMapping = mappingIterator.next();
            spinnerArray.add(openHABWidgetMapping.getLabel());
            if (openHABWidgetMapping.getCommand() != null && openHABWidget.getItem() != null)
                if (openHABWidgetMapping.getCommand().equals(openHABWidget.getItem().getState())) {
                    spinnerSelectedIndex = spinnerArray.size() - 1;
                }
        }
        ArrayAdapter<String> spinnerAdapter = new ArrayAdapter<String>(this.getContext(),
                android.R.layout.simple_spinner_item, spinnerArray);
        spinnerAdapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
        selectionSpinner.setAdapter(spinnerAdapter);
        selectionSpinner.setTag(openHABWidget);
        if (spinnerSelectedIndex >= 0) {
            Log.d(TAG, "Setting spinner selected index to " + String.valueOf(spinnerSelectedIndex));
            selectionSpinner.setSelection(spinnerSelectedIndex);
        } else {
            Log.d(TAG, "Not setting spinner selected index");
        }
        selectionSpinner.post(new Runnable() {
            @Override
            public void run() {
                selectionSpinner.setOnItemSelectedListener(new OnItemSelectedListener() {
                    public void onItemSelected(AdapterView<?> parent, View view, int index, long id) {
                        Log.d(TAG, "Spinner item click on index " + index);
                        Spinner spinner = (Spinner) parent;
                        String selectedLabel = (String) spinner.getAdapter().getItem(index);
                        Log.d(TAG, "Spinner onItemSelected selected label = " + selectedLabel);
                        OpenHABWidget openHABWidget = (OpenHABWidget) parent.getTag();
                        if (openHABWidget != null) {
                            Log.d(TAG, "Label selected = " + openHABWidget.getMapping(index).getLabel());
                            Iterator<OpenHABWidgetMapping> mappingIterator = openHABWidget.getMappings()
                                    .iterator();
                            while (mappingIterator.hasNext()) {
                                OpenHABWidgetMapping openHABWidgetMapping = mappingIterator.next();
                                if (openHABWidgetMapping.getLabel().equals(selectedLabel)) {
                                    Log.d(TAG, "Spinner onItemSelected found match with "
                                            + openHABWidgetMapping.getCommand());
                                    if (openHABWidget.getItem() != null
                                            && openHABWidget.getItem().getState() != null) {
                                        // Only send the command for selection of selected command will change the state
                                        if (!openHABWidget.getItem().getState()
                                                .equals(openHABWidgetMapping.getCommand())) {
                                            Log.d(TAG,
                                                    "Spinner onItemSelected selected label command != current item state");
                                            sendItemCommand(openHABWidget.getItem(),
                                                    openHABWidgetMapping.getCommand());
                                        }
                                    } else if (openHABWidget.getItem() != null
                                            && openHABWidget.getItem().getState() == null) {
                                        Log.d(TAG,
                                                "Spinner onItemSelected selected label command and state == null");
                                        sendItemCommand(openHABWidget.getItem(),
                                                openHABWidgetMapping.getCommand());
                                    }
                                }
                            }
                        }
                        //               if (!openHABWidget.getItem().getState().equals(openHABWidget.getMapping(index).getCommand()))
                        //                  sendItemCommand(openHABWidget.getItem(),
                        //                        openHABWidget.getMapping(index).getCommand());
                    }

                    public void onNothingSelected(AdapterView<?> arg0) {
                    }
                });
            }
        });
        break;
    case TYPE_SETPOINT:
        splitString = openHABWidget.getLabel().split("\\[|\\]");
        if (labelTextView != null)
            labelTextView.setText(splitString[0]);
        if (valueTextView != null)
            if (splitString.length > 1) {
                // If value is not empty, show TextView
                valueTextView.setVisibility(View.VISIBLE);
                valueTextView.setText(splitString[1]);
            }
        Button setPointMinusButton = (Button) widgetView.findViewById(R.id.setpointbutton_minus);
        Button setPointPlusButton = (Button) widgetView.findViewById(R.id.setpointbutton_plus);
        setPointMinusButton.setTag(openHABWidget);
        setPointPlusButton.setTag(openHABWidget);
        setPointMinusButton.setOnClickListener(new OnClickListener() {
            public void onClick(View v) {
                Log.d(TAG, "Minus");
                OpenHABWidget setPointWidget = (OpenHABWidget) v.getTag();
                float currentValue = setPointWidget.getItem().getStateAsFloat();
                currentValue = currentValue - setPointWidget.getStep();
                if (currentValue < setPointWidget.getMinValue())
                    currentValue = setPointWidget.getMinValue();
                if (currentValue > setPointWidget.getMaxValue())
                    currentValue = setPointWidget.getMaxValue();
                sendItemCommand(setPointWidget.getItem(), String.valueOf(currentValue));

            }
        });
        setPointPlusButton.setOnClickListener(new OnClickListener() {
            public void onClick(View v) {
                Log.d(TAG, "Plus");
                OpenHABWidget setPointWidget = (OpenHABWidget) v.getTag();
                float currentValue = setPointWidget.getItem().getStateAsFloat();
                currentValue = currentValue + setPointWidget.getStep();
                if (currentValue < setPointWidget.getMinValue())
                    currentValue = setPointWidget.getMinValue();
                if (currentValue > setPointWidget.getMaxValue())
                    currentValue = setPointWidget.getMaxValue();
                sendItemCommand(setPointWidget.getItem(), String.valueOf(currentValue));
            }
        });
        if (volumeUpWidget == null) {
            volumeUpWidget = setPointPlusButton;
            volumeDownWidget = setPointMinusButton;
        }
        break;
    default:
        if (labelTextView != null)
            labelTextView.setText(openHABWidget.getLabel());
        break;
    }
    LinearLayout dividerLayout = (LinearLayout) widgetView.findViewById(R.id.listdivider);
    if (dividerLayout != null) {
        if (position < this.getCount() - 1) {
            if (this.getItemViewType(position + 1) == TYPE_FRAME) {
                dividerLayout.setVisibility(View.GONE); // hide dividers before frame widgets
            } else {
                dividerLayout.setVisibility(View.VISIBLE); // show dividers for all others
            }
        } else { // last widget in the list, hide divider
            dividerLayout.setVisibility(View.GONE);
        }
    }
    return widgetView;
}

From source file:usbong.android.utils.UsbongScreenProcessor.java

public void init() {
    //Reference: http://www.anddev.org/tinytut_-_get_resources_by_name__getidentifier_-t460.html; last accessed 14 Sept 2011
    Resources myRes = udtea.getResources();
    Drawable myDrawableImage;//from w  ww. ja  v a  2s .c o m

    //added by Mike, Feb. 13, 2013
    udtea.isAnOptionalNode = UsbongUtils.isAnOptionalNode(udtea.currUsbongNode);

    String myStringToken = "";
    //      if (usedBackButton) {

    //        System.out.println(">>>>>> udtea.currAnswer: "+udtea.currAnswer);

    StringTokenizer st = new StringTokenizer(udtea.currAnswer, ",");
    if ((st != null) && (st.hasMoreTokens())) {
        myStringToken = st.nextToken();
        udtea.currAnswer = udtea.currAnswer.replace(myStringToken + ",", "");
    }

    StringTokenizer st_two = new StringTokenizer(udtea.currAnswer, ";");

    if (st_two != null) {
        if (udtea.currAnswer.length() > 1) {
            myStringToken = st_two.nextToken(); //get next element (i.e. 1 in "Y,1;")                
        } else {
            myStringToken = "";
        }
    }

    if (udtea.currScreen == udtea.MULTIPLE_RADIO_BUTTONS_SCREEN) {
        udtea.setContentView(R.layout.multiple_radio_buttons_screen);
        udtea.initBackNextButtons();
        TextView myMultipleRadioButtonsScreenTextView = (TextView) udtea
                .findViewById(R.id.radio_buttons_textview);
        myMultipleRadioButtonsScreenTextView = (TextView) UsbongUtils.applyTagsInView(
                UsbongDecisionTreeEngineActivity.getInstance(), myMultipleRadioButtonsScreenTextView,
                UsbongUtils.IS_TEXTVIEW, udtea.currUsbongNode);
        RadioGroup radioGroup = (RadioGroup) udtea.findViewById(R.id.multiple_radio_buttons_radiogroup);
        int totalRadioButtonsInContainer = udtea.radioButtonsContainer.size();
        for (int i = 0; i < totalRadioButtonsInContainer; i++) {
            View radioButtonView = new RadioButton(udtea.getBaseContext());
            RadioButton radioButton = (RadioButton) UsbongUtils.applyTagsInView(
                    UsbongDecisionTreeEngineActivity.getInstance(), radioButtonView, UsbongUtils.IS_RADIOBUTTON,
                    udtea.radioButtonsContainer.elementAt(i).toString());
            radioButton.setTextSize(20);
            radioButton.setId(i);
            radioButton.setTextColor(Color.parseColor("#4a452a"));

            int myStringTokenInt;
            try {
                myStringTokenInt = Integer.parseInt(myStringToken);
            } catch (NumberFormatException e) {//if myStringToken is not an int;
                myStringTokenInt = -1;
            }

            if ((!myStringToken.equals("")) && (i == myStringTokenInt)) {
                radioButton.setChecked(true);
            } else {
                radioButton.setChecked(false);
            }

            radioGroup.addView(radioButton);
        }
    } else if (udtea.currScreen == udtea.MULTIPLE_RADIO_BUTTONS_WITH_ANSWER_SCREEN) {
        udtea.setContentView(R.layout.multiple_radio_buttons_screen);
        udtea.initBackNextButtons();
        String myMultipleRadioButtonsWithAnswerScreenStringToken = "";
        //             Log.d(">>>>>>>>udtea.currUsbongNode", udtea.currUsbongNode);
        udtea.currUsbongNodeWithoutAnswer = udtea.currUsbongNode.replace("Answer=", "~");
        StringTokenizer myMultipleRadioButtonsWithAnswerScreenStringTokenizer = new StringTokenizer(
                udtea.currUsbongNodeWithoutAnswer, "~");
        if (myMultipleRadioButtonsWithAnswerScreenStringTokenizer != null) {
            myMultipleRadioButtonsWithAnswerScreenStringToken = myMultipleRadioButtonsWithAnswerScreenStringTokenizer
                    .nextToken();

            while (myMultipleRadioButtonsWithAnswerScreenStringTokenizer.hasMoreTokens()) { //get last element (i.e. 0 in "radioButtonsWithAnswer~You see your teacher approaching you. What do you do?Answer=0")
                myMultipleRadioButtonsWithAnswerScreenStringToken = myMultipleRadioButtonsWithAnswerScreenStringTokenizer
                        .nextToken();
            }
        }
        udtea.myMultipleRadioButtonsWithAnswerScreenAnswer = myMultipleRadioButtonsWithAnswerScreenStringToken
                .toString();
        //             Log.d(">>>>>>>>udtea.myMultipleRadioButtonsWithAnswerScreenAnswer", udtea.myMultipleRadioButtonsWithAnswerScreenAnswer);
        udtea.currUsbongNodeWithoutAnswer = udtea.currUsbongNodeWithoutAnswer.substring(0,
                udtea.currUsbongNodeWithoutAnswer.length()
                        - udtea.myMultipleRadioButtonsWithAnswerScreenAnswer.length() - 1); //do a -1 for the last tilde             
        //             Log.d(">>>>>>>>udtea.currUsbongNodeWithoutAnswer", udtea.currUsbongNodeWithoutAnswer);
        TextView myMultipleRadioButtonsWithAnswerScreenTextView = (TextView) udtea
                .findViewById(R.id.radio_buttons_textview);
        myMultipleRadioButtonsWithAnswerScreenTextView = (TextView) UsbongUtils.applyTagsInView(
                UsbongDecisionTreeEngineActivity.getInstance(), myMultipleRadioButtonsWithAnswerScreenTextView,
                UsbongUtils.IS_TEXTVIEW, udtea.currUsbongNodeWithoutAnswer);
        RadioGroup myMultipleRadioButtonsWithAnswerRadioGroup = (RadioGroup) udtea
                .findViewById(R.id.multiple_radio_buttons_radiogroup);
        int myMultipleRadioButtonsWithAnswerTotalRadioButtonsInContainer = udtea.radioButtonsContainer.size();
        for (int i = 0; i < myMultipleRadioButtonsWithAnswerTotalRadioButtonsInContainer; i++) {
            View radioButtonView = new RadioButton(udtea.getBaseContext());
            RadioButton radioButton = (RadioButton) UsbongUtils.applyTagsInView(
                    UsbongDecisionTreeEngineActivity.getInstance(), radioButtonView, UsbongUtils.IS_RADIOBUTTON,
                    udtea.radioButtonsContainer.elementAt(i).toString());
            radioButton.setTextSize(20);
            radioButton.setId(i);
            radioButton.setTextColor(Color.parseColor("#4a452a"));

            if ((!myStringToken.equals("")) && (i == Integer.parseInt(myStringToken))) {
                radioButton.setChecked(true);
            } else {
                radioButton.setChecked(false);
            }

            myMultipleRadioButtonsWithAnswerRadioGroup.addView(radioButton);
        }
    } else if (udtea.currScreen == udtea.LINK_SCREEN) {
        //use same contentView as multiple_radio_buttons_screen
        udtea.setContentView(R.layout.multiple_radio_buttons_screen);
        udtea.initBackNextButtons();
        TextView myLinkScreenTextView = (TextView) udtea.findViewById(R.id.radio_buttons_textview);
        myLinkScreenTextView = (TextView) UsbongUtils.applyTagsInView(
                UsbongDecisionTreeEngineActivity.getInstance(), myLinkScreenTextView, UsbongUtils.IS_TEXTVIEW,
                udtea.currUsbongNode);

        RadioGroup myLinkScreenRadioGroup = (RadioGroup) udtea
                .findViewById(R.id.multiple_radio_buttons_radiogroup);
        int myLinkScreenTotalRadioButtonsInContainer = udtea.radioButtonsContainer.size();
        for (int i = 0; i < myLinkScreenTotalRadioButtonsInContainer; i++) {
            View radioButtonView = new RadioButton(udtea.getBaseContext());
            RadioButton radioButton = (RadioButton) UsbongUtils.applyTagsInView(
                    UsbongDecisionTreeEngineActivity.getInstance(), radioButtonView, UsbongUtils.IS_RADIOBUTTON,
                    UsbongUtils.trimUsbongNodeName(udtea.radioButtonsContainer.elementAt(i).toString()));

            Log.d(">>>>>radioButton", radioButton.getText().toString());

            //                  radioButton.setChecked(false);
            radioButton.setTextSize(20);
            radioButton.setId(i);
            radioButton.setTextColor(Color.parseColor("#4a452a"));

            if ((!myStringToken.equals("")) && (i == Integer.parseInt(myStringToken))) {
                radioButton.setChecked(true);
            } else {
                radioButton.setChecked(false);
            }

            myLinkScreenRadioGroup.addView(radioButton);
        }
    } else if (udtea.currScreen == udtea.MULTIPLE_CHECKBOXES_SCREEN) {
        udtea.setContentView(R.layout.multiple_checkboxes_screen);
        udtea.initBackNextButtons();
        TextView myMultipleCheckBoxesScreenTextView = (TextView) udtea.findViewById(R.id.checkboxes_textview);
        myMultipleCheckBoxesScreenTextView = (TextView) UsbongUtils.applyTagsInView(
                UsbongDecisionTreeEngineActivity.getInstance(), myMultipleCheckBoxesScreenTextView,
                UsbongUtils.IS_TEXTVIEW, udtea.currUsbongNode);
        LinearLayout myMultipleCheckboxesLinearLayout = (LinearLayout) udtea
                .findViewById(R.id.multiple_checkboxes_linearlayout);
        int totalCheckBoxesInContainer = udtea.checkBoxesContainer.size();
        StringTokenizer myMultipleCheckboxStringTokenizer = new StringTokenizer(myStringToken, ",");
        Vector<String> myCheckedAnswers = new Vector<String>();
        //             int counter=0;             
        while (myMultipleCheckboxStringTokenizer.countTokens() > 0) {
            String myMultipleCheckboxStringToken = myMultipleCheckboxStringTokenizer.nextToken();
            if (myMultipleCheckboxStringToken != null) {
                myCheckedAnswers.add(myMultipleCheckboxStringToken);
            } else {
                break;
            }
            //                counter++;
        }
        for (int i = 0; i < totalCheckBoxesInContainer; i++) {
            CheckBox checkBox = new CheckBox(udtea.getBaseContext());
            //                  checkBox.setText(StringEscapeUtils.unescapeJava(udtea.checkBoxesContainer.elementAt(i).toString()));
            checkBox = (CheckBox) UsbongUtils.applyTagsInView(UsbongDecisionTreeEngineActivity.getInstance(),
                    checkBox, UsbongUtils.IS_CHECKBOX,
                    StringEscapeUtils.unescapeJava(udtea.checkBoxesContainer.elementAt(i).toString()));

            for (int k = 0; k < myCheckedAnswers.size(); k++) {
                try {
                    if (i == Integer.parseInt(myCheckedAnswers.elementAt(k))) {
                        checkBox.setChecked(true);
                    }
                } catch (NumberFormatException e) {//if myCheckedAnswers.elementAt(k) is not an int;
                    continue;
                }
            }

            checkBox.setTextSize(20);
            checkBox.setTextColor(Color.parseColor("#4a452a"));
            myMultipleCheckboxesLinearLayout.addView(checkBox);
        }
    } else if (udtea.currScreen == udtea.AUDIO_RECORD_SCREEN) {
        udtea.setContentView(R.layout.audio_recorder_screen);
        udtea.initRecordAudioScreen();
        udtea.initBackNextButtons();
        TextView myAudioRecorderTextView = (TextView) udtea.findViewById(R.id.audio_recorder_textview);
        myAudioRecorderTextView = (TextView) UsbongUtils.applyTagsInView(
                UsbongDecisionTreeEngineActivity.getInstance(), myAudioRecorderTextView,
                UsbongUtils.IS_TEXTVIEW, udtea.currUsbongNode);
        Button recordButton = (Button) udtea.findViewById(R.id.record_button);
        Button stopButton = (Button) udtea.findViewById(R.id.stop_button);
        Button playButton = (Button) udtea.findViewById(R.id.play_button);
        if (udtea.currLanguageBeingUsed == UsbongUtils.LANGUAGE_FILIPINO) {
            recordButton.setText((String) udtea.getResources().getText(R.string.UsbongRecordTextViewFILIPINO));
            stopButton.setText((String) udtea.getResources().getText(R.string.UsbongStopTextViewFILIPINO));
            playButton.setText((String) udtea.getResources().getText(R.string.UsbongPlayTextViewFILIPINO));
        } else if (udtea.currLanguageBeingUsed == UsbongUtils.LANGUAGE_JAPANESE) {
            recordButton.setText((String) udtea.getResources().getText(R.string.UsbongRecordTextViewJAPANESE));
            stopButton.setText((String) udtea.getResources().getText(R.string.UsbongStopTextViewJAPANESE));
            playButton.setText((String) udtea.getResources().getText(R.string.UsbongPlayTextViewJAPANESE));
        } else { //if (udtea.currLanguageBeingUsed==UsbongUtils.LANGUAGE_ENGLISH) {
            recordButton.setText((String) udtea.getResources().getText(R.string.UsbongRecordTextViewENGLISH));
            stopButton.setText((String) udtea.getResources().getText(R.string.UsbongStopTextViewENGLISH));
            playButton.setText((String) udtea.getResources().getText(R.string.UsbongPlayTextViewENGLISH));
        }
    } else if (udtea.currScreen == udtea.PHOTO_CAPTURE_SCREEN) {
        udtea.setContentView(R.layout.photo_capture_screen);
        if (!udtea.performedCapturePhoto) {
            udtea.initTakePhotoScreen();
        }
        udtea.initBackNextButtons();
        TextView myPhotoCaptureScreenTextView = (TextView) udtea.findViewById(R.id.photo_capture_textview);
        myPhotoCaptureScreenTextView = (TextView) UsbongUtils.applyTagsInView(
                UsbongDecisionTreeEngineActivity.getInstance(), myPhotoCaptureScreenTextView,
                UsbongUtils.IS_TEXTVIEW, udtea.currUsbongNode);
        Button photoCaptureButton = (Button) udtea.findViewById(R.id.photo_capture_button);
        if (udtea.currLanguageBeingUsed == UsbongUtils.LANGUAGE_FILIPINO) {
            photoCaptureButton
                    .setText((String) udtea.getResources().getText(R.string.UsbongTakePhotoTextViewFILIPINO));
        } else if (udtea.currLanguageBeingUsed == UsbongUtils.LANGUAGE_JAPANESE) {
            photoCaptureButton
                    .setText((String) udtea.getResources().getText(R.string.UsbongTakePhotoTextViewJAPANESE));
        } else { //if (udtea.currLanguageBeingUsed==UsbongUtils.LANGUAGE_ENGLISH) {
            photoCaptureButton
                    .setText((String) udtea.getResources().getText(R.string.UsbongTakePhotoTextViewENGLISH));
        }
    } else if (udtea.currScreen == udtea.PAINT_SCREEN) {
        udtea.setContentView(R.layout.paint_screen);
        if (!udtea.performedRunPaint) {
            udtea.initPaintScreen();
        }
        udtea.initBackNextButtons();
        TextView myPaintScreenTextView = (TextView) udtea.findViewById(R.id.paint_textview);
        myPaintScreenTextView = (TextView) UsbongUtils.applyTagsInView(
                UsbongDecisionTreeEngineActivity.getInstance(), myPaintScreenTextView, UsbongUtils.IS_TEXTVIEW,
                udtea.currUsbongNode);
        Button paintButton = (Button) udtea.findViewById(R.id.paint_button);
        if (udtea.currLanguageBeingUsed == UsbongUtils.LANGUAGE_FILIPINO) {
            paintButton.setText((String) udtea.getResources().getText(R.string.UsbongRunPaintTextViewFILIPINO));
        } else if (udtea.currLanguageBeingUsed == UsbongUtils.LANGUAGE_JAPANESE) {
            paintButton.setText((String) udtea.getResources().getText(R.string.UsbongRunPaintTextViewJAPANESE));
        } else { //if (udtea.currLanguageBeingUsed==UsbongUtils.LANGUAGE_ENGLISH) {
            paintButton.setText((String) udtea.getResources().getText(R.string.UsbongRunPaintTextViewENGLISH));
        }
    } else if (udtea.currScreen == udtea.QR_CODE_READER_SCREEN) {
        udtea.setContentView(R.layout.qr_code_reader_screen);
        if (!udtea.performedGetQRCode) {
            udtea.initQRCodeReaderScreen();
        }
        udtea.initBackNextButtons();
        TextView myQRCodeReaderScreenTextView = (TextView) udtea.findViewById(R.id.qr_code_reader_textview);
        myQRCodeReaderScreenTextView = (TextView) UsbongUtils.applyTagsInView(
                UsbongDecisionTreeEngineActivity.getInstance(), myQRCodeReaderScreenTextView,
                UsbongUtils.IS_TEXTVIEW, udtea.currUsbongNode);
        Button qrCodeReaderButton = (Button) udtea.findViewById(R.id.qr_code_reader_button);
        if (udtea.currLanguageBeingUsed == UsbongUtils.LANGUAGE_FILIPINO) {
            qrCodeReaderButton.setText(
                    (String) udtea.getResources().getText(R.string.UsbongQRCodeReaderTextViewFILIPINO));
        } else if (udtea.currLanguageBeingUsed == UsbongUtils.LANGUAGE_JAPANESE) {
            qrCodeReaderButton.setText(
                    (String) udtea.getResources().getText(R.string.UsbongQRCodeReaderTextViewJAPANESE));
        } else { //if (udtea.currLanguageBeingUsed==UsbongUtils.LANGUAGE_ENGLISH) {
            qrCodeReaderButton
                    .setText((String) udtea.getResources().getText(R.string.UsbongQRCodeReaderTextViewENGLISH));
        }
    } else if (udtea.currScreen == udtea.TEXTFIELD_SCREEN) {
        udtea.setContentView(R.layout.textfield_screen);
        udtea.initBackNextButtons();
        TextView myTextFieldScreenTextView = (TextView) udtea.findViewById(R.id.textfield_textview);
        myTextFieldScreenTextView = (TextView) UsbongUtils.applyTagsInView(
                UsbongDecisionTreeEngineActivity.getInstance(), myTextFieldScreenTextView,
                UsbongUtils.IS_TEXTVIEW, udtea.currUsbongNode);
        EditText myTextFieldScreenEditText = (EditText) udtea.findViewById(R.id.textfield_edittext);
        myTextFieldScreenEditText.setText(myStringToken);
    } else if (udtea.currScreen == udtea.TEXTFIELD_WITH_ANSWER_SCREEN) {
        udtea.setContentView(R.layout.textfield_screen);
        udtea.initBackNextButtons();
        String myTextFieldWithAnswerScreenStringToken = "";
        //             Log.d(">>>>>>>>udtea.currUsbongNode", udtea.currUsbongNode);
        udtea.currUsbongNodeWithoutAnswer = udtea.currUsbongNode.replace("Answer=", "~");
        StringTokenizer myTextFieldWithAnswerScreenStringTokenizer = new StringTokenizer(
                udtea.currUsbongNodeWithoutAnswer, "~");
        if (myTextFieldWithAnswerScreenStringTokenizer != null) {
            myTextFieldWithAnswerScreenStringToken = myTextFieldWithAnswerScreenStringTokenizer.nextToken();

            while (myTextFieldWithAnswerScreenStringTokenizer.hasMoreTokens()) { //get last element (i.e. Mike in "textFieldWithAnswer~Who is the founder of Usbong (nickname)?Answer=Mike")
                myTextFieldWithAnswerScreenStringToken = myTextFieldWithAnswerScreenStringTokenizer.nextToken();
            }
        }
        udtea.myTextFieldWithAnswerScreenAnswer = myTextFieldWithAnswerScreenStringToken.toString();
        udtea.currUsbongNodeWithoutAnswer = udtea.currUsbongNodeWithoutAnswer.substring(0,
                udtea.currUsbongNodeWithoutAnswer.length() - udtea.myTextFieldWithAnswerScreenAnswer.length()
                        - 1); //do a -1 for the last tilde             
        TextView myTextFieldWithAnswerScreenTextView = (TextView) udtea.findViewById(R.id.textfield_textview);
        myTextFieldWithAnswerScreenTextView = (TextView) UsbongUtils.applyTagsInView(
                UsbongDecisionTreeEngineActivity.getInstance(), myTextFieldWithAnswerScreenTextView,
                UsbongUtils.IS_TEXTVIEW, udtea.currUsbongNodeWithoutAnswer);
        EditText myTextFieldScreenWithAnswerEditText = (EditText) udtea.findViewById(R.id.textfield_edittext);
        myTextFieldScreenWithAnswerEditText.setText(myStringToken);
    } else if (udtea.currScreen == udtea.TEXTAREA_SCREEN) {
        udtea.setContentView(R.layout.textarea_screen);
        udtea.initBackNextButtons();
        TextView myTextAreaScreenTextView = (TextView) udtea.findViewById(R.id.textarea_textview);
        myTextAreaScreenTextView = (TextView) UsbongUtils.applyTagsInView(
                UsbongDecisionTreeEngineActivity.getInstance(), myTextAreaScreenTextView,
                UsbongUtils.IS_TEXTVIEW, udtea.currUsbongNode);
        EditText myTextAreaScreenEditText = (EditText) udtea.findViewById(R.id.textarea_edittext);
        myTextAreaScreenEditText.setText(myStringToken);
    } else if (udtea.currScreen == udtea.TEXTAREA_WITH_ANSWER_SCREEN) {
        udtea.setContentView(R.layout.textarea_screen);
        udtea.initBackNextButtons();
        String myTextAreaWithAnswerScreenStringToken = "";
        //             Log.d(">>>>>>>>udtea.currUsbongNode", udtea.currUsbongNode);
        udtea.currUsbongNodeWithoutAnswer = udtea.currUsbongNode.replace("Answer=", "~");
        StringTokenizer myTextAreaWithAnswerScreenStringTokenizer = new StringTokenizer(
                udtea.currUsbongNodeWithoutAnswer, "~");
        if (myTextAreaWithAnswerScreenStringTokenizer != null) {
            myTextAreaWithAnswerScreenStringToken = myTextAreaWithAnswerScreenStringTokenizer.nextToken();

            while (myTextAreaWithAnswerScreenStringTokenizer.hasMoreTokens()) { //get last element (i.e. Mike in "textFieldWithAnswer~Who is the founder of Usbong (nickname)?Answer=Mike")
                myTextAreaWithAnswerScreenStringToken = myTextAreaWithAnswerScreenStringTokenizer.nextToken();
            }
        }
        udtea.myTextAreaWithAnswerScreenAnswer = myTextAreaWithAnswerScreenStringToken.toString();
        udtea.currUsbongNodeWithoutAnswer = udtea.currUsbongNodeWithoutAnswer.substring(0,
                udtea.currUsbongNodeWithoutAnswer.length() - udtea.myTextAreaWithAnswerScreenAnswer.length()
                        - 1); //do a -1 for the last tilde             
        TextView myTextAreaWithAnswerScreenTextView = (TextView) udtea.findViewById(R.id.textarea_textview);
        myTextAreaWithAnswerScreenTextView = (TextView) UsbongUtils.applyTagsInView(
                UsbongDecisionTreeEngineActivity.getInstance(), myTextAreaWithAnswerScreenTextView,
                UsbongUtils.IS_TEXTVIEW, udtea.currUsbongNodeWithoutAnswer);
        EditText myTextAreaScreenWithAnswerEditText = (EditText) udtea.findViewById(R.id.textarea_edittext);
        myTextAreaScreenWithAnswerEditText.setText(myStringToken);
    } else if (udtea.currScreen == udtea.TEXTFIELD_WITH_UNIT_SCREEN) {
        udtea.setContentView(R.layout.textfield_with_unit_screen);
        udtea.initBackNextButtons();
        TextView myTextFieldWithUnitScreenTextView = (TextView) udtea.findViewById(R.id.textfield_textview);
        myTextFieldWithUnitScreenTextView = (TextView) UsbongUtils.applyTagsInView(
                UsbongDecisionTreeEngineActivity.getInstance(), myTextFieldWithUnitScreenTextView,
                UsbongUtils.IS_TEXTVIEW, udtea.currUsbongNode);
        EditText myEditText = (EditText) udtea.findViewById(R.id.textfield_edittext);
        myEditText.setInputType(InputType.TYPE_CLASS_NUMBER | InputType.TYPE_NUMBER_FLAG_DECIMAL);
        myEditText.setText(myStringToken);
        TextView myUnitScreenTextView = (TextView) udtea.findViewById(R.id.textfieldunit_textview);
        myUnitScreenTextView.setText(udtea.textFieldUnit);
    } else if (udtea.currScreen == udtea.TEXTFIELD_NUMERICAL_SCREEN) {
        udtea.setContentView(R.layout.textfield_screen);
        udtea.initBackNextButtons();
        TextView myTextFieldNumericalScreenTextView = (TextView) udtea.findViewById(R.id.textfield_textview);
        myTextFieldNumericalScreenTextView = (TextView) UsbongUtils.applyTagsInView(
                UsbongDecisionTreeEngineActivity.getInstance(), myTextFieldNumericalScreenTextView,
                UsbongUtils.IS_TEXTVIEW, udtea.currUsbongNode);
        EditText myTextFieldNumericalScreenEditText = (EditText) udtea.findViewById(R.id.textfield_edittext);
        myTextFieldNumericalScreenEditText
                .setInputType(InputType.TYPE_CLASS_NUMBER | InputType.TYPE_NUMBER_FLAG_DECIMAL);
        myTextFieldNumericalScreenEditText.setText(myStringToken);
    } else if (udtea.currScreen == udtea.CLASSIFICATION_SCREEN) {
        udtea.setContentView(R.layout.classification_screen);
        udtea.initBackNextButtons();
        TextView myClassificationScreenTextView = (TextView) udtea.findViewById(R.id.classification_textview);
        myClassificationScreenTextView = (TextView) UsbongUtils.applyTagsInView(
                UsbongDecisionTreeEngineActivity.getInstance(), myClassificationScreenTextView,
                UsbongUtils.IS_TEXTVIEW, udtea.currUsbongNode);
        LinearLayout myClassificationLinearLayout = (LinearLayout) udtea
                .findViewById(R.id.classification_linearlayout);
        int totalClassificationsInContainer = udtea.classificationContainer.size();
        for (int i = 0; i < totalClassificationsInContainer; i++) {
            TextView myTextView = new TextView(udtea.getBaseContext());
            //consider removing this code below; not needed; Mike, May 23, 2013
            myTextView = (TextView) UsbongUtils.applyTagsInView(UsbongDecisionTreeEngineActivity.getInstance(),
                    myTextView, UsbongUtils.IS_TEXTVIEW, udtea.currUsbongNode);

            int bulletCount = i + 1;
            if (UsbongUtils.USE_UNESCAPE) {
                myTextView.setText(bulletCount + ") " + StringEscapeUtils
                        .unescapeJava(udtea.classificationContainer.elementAt(i).toString()));
            } else {
                myTextView.setText(bulletCount + ") " + UsbongUtils
                        .trimUsbongNodeName(udtea.classificationContainer.elementAt(i).toString()));
            }

            //add 5 so that the text does not touch the left border
            myTextView.setPadding(udtea.padding_in_px, 0, 0, 0);
            myTextView.setTextSize(24);
            //                 myTextView.setTextColor(Color.WHITE);
            myTextView.setTextColor(Color.parseColor("#4a452a"));
            myClassificationLinearLayout.addView(myTextView);
        }
    } else if (udtea.currScreen == udtea.DCAT_SUMMARY_SCREEN) {
        udtea.setContentView(R.layout.dcat_summary_screen);
        udtea.initBackNextButtons();
        TextView myDCATSummaryScreenTextView = (TextView) udtea.findViewById(R.id.dcat_summary_textview);
        myDCATSummaryScreenTextView = (TextView) UsbongUtils.applyTagsInView(
                UsbongDecisionTreeEngineActivity.getInstance(), myDCATSummaryScreenTextView,
                UsbongUtils.IS_TEXTVIEW, udtea.currUsbongNode);
        udtea.myDcatSummaryStringBuffer = new StringBuffer();
        String weightsString = "1.9;2.1;2.6;1.8;2.4;1.8;.7;1.0;1.6;2.6;6.9;5.7;3.3;2.2;3.3;3.3;2;2;1.7;1.9;3.9;1.3;2.5;.8";
        StringTokenizer myWeightsStringTokenizer = new StringTokenizer(weightsString, ";");
        String myWeightString = myWeightsStringTokenizer.nextToken();
        //            
        //            while (st.hasMoreTokens()) {
        //               myStringToken = st.nextToken(); 
        //            }
        //
        double myWeightedScoreInt = 0;
        double myNegotiatedWeightedScoreInt = 0;
        double[][] dcatSum = new double[8][4];
        final int sumWeightedRatingIndex = 0;
        final int sumWeightedScoreIndex = 1;
        final int sumNegotiatedRatingIndex = 2;
        final int sumNegotiatedScoreIndex = 3;
        int currStandard = 0;//standard 1
        //            boolean hasReachedNegotiated=false;
        boolean hasReachedStandardTotal = false;
        LinearLayout myDCATSummaryLinearLayout = (LinearLayout) udtea
                .findViewById(R.id.dcat_summary_linearlayout);
        int totalElementsInDCATSummaryBasedOnUsbongNodeContainer = udtea.usbongNodeContainer.size();
        //              for (int i=0; i<totalElementsInDCATSummaryBasedOnUsbongNodeContainer.usbongNodeContainer; i++) {                 
        for (int i = 0; i < totalElementsInDCATSummaryBasedOnUsbongNodeContainer; i++) {

            TextView myTextView = new TextView(udtea.getBaseContext());
            myTextView.setPadding(udtea.padding_in_px, 0, 0, 0); //add 5 so that the text does not touch the left border
            myTextView.setTextSize(TypedValue.COMPLEX_UNIT_SP, 24);
            myTextView.setTextColor(Color.parseColor("#4a452a"));

            //the only way to check if the element is already the last item in the standard
            //is if the next element in the node container has "STANDARD", but not the first standard
            if ((i + 1 >= totalElementsInDCATSummaryBasedOnUsbongNodeContainer) || (i
                    + 1 < totalElementsInDCATSummaryBasedOnUsbongNodeContainer)
                    && ((udtea.usbongNodeContainer.elementAt(i + 1).toString().contains("STANDARD")))
                    && (!(udtea.usbongNodeContainer.elementAt(i + 1).toString().contains("STANDARD ONE")))) {
                int tempCurrStandard = currStandard + 1; //do a +1 since currStandard begins at 0

                TextView myIssuesTextView = new TextView(udtea.getBaseContext());

                //added by Mike, May 31, 2013
                if (!udtea.usbongAnswerContainer.elementAt(i).toString().contains("dcat_end,")) {

                    String s = udtea.usbongAnswerContainer.elementAt(i).toString().replace(";", "");
                    s = s.replace("A,", "");
                    if (!s.equals("")) {
                        myIssuesTextView = (TextView) UsbongUtils.applyTagsInView(
                                UsbongDecisionTreeEngineActivity.getInstance(), myIssuesTextView,
                                UsbongUtils.IS_TEXTVIEW, "ISSUES: " + s + "{br}");
                    } else {
                        myIssuesTextView = (TextView) UsbongUtils.applyTagsInView(
                                UsbongDecisionTreeEngineActivity.getInstance(), myIssuesTextView,
                                UsbongUtils.IS_TEXTVIEW, "ISSUES: none{br}");
                    }

                    myIssuesTextView.setPadding(udtea.padding_in_px, 0, 0, 0); //add 5 so that the text does not touch the left border
                    myIssuesTextView.setTextSize(TypedValue.COMPLEX_UNIT_SP, 24);
                    myIssuesTextView.setTextColor(Color.parseColor("#4a452a"));
                    myDCATSummaryLinearLayout.addView(myIssuesTextView);
                    udtea.myDcatSummaryStringBuffer.append(myIssuesTextView.getText().toString() + "\n");
                }

                if (myWeightsStringTokenizer.hasMoreElements()) {
                    //get the next weight
                    myWeightString = myWeightsStringTokenizer.nextToken();
                }

                myTextView = (TextView) UsbongUtils.applyTagsInView(
                        UsbongDecisionTreeEngineActivity.getInstance(), myTextView, UsbongUtils.IS_TEXTVIEW,
                        "//--------------------" + " STANDARD " + tempCurrStandard + " (TOTAL){br}"
                                + "Total (Rating): "
                                + String.format("%.2f", dcatSum[currStandard][sumWeightedRatingIndex]) + "{br}"
                                + "Total (Weighted Score): "
                                + String.format("%.2f", dcatSum[currStandard][sumWeightedScoreIndex]) + "{br}"
                                + "Total (Negotiated Rating): "
                                + String.format("%.2f", dcatSum[currStandard][sumNegotiatedRatingIndex])
                                + "{br}" + "Total (Negotiated WS): "
                                + String.format("%.2f", dcatSum[currStandard][sumNegotiatedScoreIndex]) + "{br}"
                                + "//--------------------");
                hasReachedStandardTotal = true;
                currStandard++;
            }

            if (hasReachedStandardTotal) {
                hasReachedStandardTotal = false;
            } else if (udtea.usbongNodeContainer.elementAt(i).toString().contains("ISSUES")) {
                String s = udtea.usbongAnswerContainer.elementAt(i).toString().replace(";", "");
                s = s.replace("A,", "");
                if (!s.equals("")) {
                    myTextView = (TextView) UsbongUtils.applyTagsInView(
                            UsbongDecisionTreeEngineActivity.getInstance(), myTextView, UsbongUtils.IS_TEXTVIEW,
                            "ISSUES: " + s + "{br}");
                } else {
                    myTextView = (TextView) UsbongUtils.applyTagsInView(
                            UsbongDecisionTreeEngineActivity.getInstance(), myTextView, UsbongUtils.IS_TEXTVIEW,
                            "ISSUES: none{br}");
                }

                if (myWeightsStringTokenizer.hasMoreElements()) {
                    //get the next weight
                    myWeightString = myWeightsStringTokenizer.nextToken();
                }
            } else if (udtea.usbongNodeContainer.elementAt(i).toString().contains("Weighted")) {
                TextView myWeightedTextView = new TextView(udtea.getBaseContext());
                myWeightedTextView = (TextView) UsbongUtils.applyTagsInView(
                        UsbongDecisionTreeEngineActivity.getInstance(), myWeightedTextView,
                        UsbongUtils.IS_TEXTVIEW,
                        udtea.usbongNodeContainer.elementAt(i).toString().replace("{br}(Weighted Score)", ""));
                myWeightedTextView.setPadding(udtea.padding_in_px, 0, 0, 0); //add 5 so that the text does not touch the left border
                myWeightedTextView.setTextSize(TypedValue.COMPLEX_UNIT_SP, 24);
                myWeightedTextView.setTextColor(Color.parseColor("#4a452a"));

                myDCATSummaryLinearLayout.addView(myWeightedTextView);
                udtea.myDcatSummaryStringBuffer.append(myWeightedTextView.getText().toString() + "\n");

                int weightedAnswer;
                //added by Mike, July 8, 2013
                try {
                    weightedAnswer = Integer
                            .parseInt(udtea.usbongAnswerContainer.elementAt(i).toString().replace(";", ""));
                } catch (Exception e) { //if there's no answer selected
                    weightedAnswer = 0;
                }
                if (weightedAnswer <= 0) {
                    weightedAnswer = 0;
                }

                //the weight is in double
                myWeightedScoreInt = weightedAnswer * Double.parseDouble(myWeightString);
                if (myWeightedScoreInt <= 0) {
                    myWeightedScoreInt = 0;
                    myTextView.setBackgroundColor(Color.YELLOW);
                }

                dcatSum[currStandard][sumWeightedRatingIndex] += weightedAnswer;
                dcatSum[currStandard][sumWeightedScoreIndex] += myWeightedScoreInt;

                myTextView = (TextView) UsbongUtils.applyTagsInView(
                        UsbongDecisionTreeEngineActivity.getInstance(), myTextView, UsbongUtils.IS_TEXTVIEW,
                        "Weighted: " + myWeightedScoreInt);
            } else if (udtea.usbongNodeContainer.elementAt(i).toString().contains("Negotiated")) {
                //added by Mike, July 8, 2013
                int negotiatedAnswer;
                try {
                    negotiatedAnswer = Integer
                            .parseInt(udtea.usbongAnswerContainer.elementAt(i).toString().replace(";", ""));
                } catch (Exception e) { //if there's no answer selected
                    negotiatedAnswer = 0;
                }
                if (negotiatedAnswer <= 0) {
                    negotiatedAnswer = 0;
                }

                //the weight is in double
                myNegotiatedWeightedScoreInt = negotiatedAnswer * Double.parseDouble(myWeightString);
                if (myNegotiatedWeightedScoreInt <= 0) {
                    myNegotiatedWeightedScoreInt = 0;
                    myTextView.setBackgroundColor(Color.YELLOW);
                }

                dcatSum[currStandard][sumNegotiatedRatingIndex] += negotiatedAnswer;
                dcatSum[currStandard][sumNegotiatedScoreIndex] += myNegotiatedWeightedScoreInt;

                myTextView = (TextView) UsbongUtils.applyTagsInView(
                        UsbongDecisionTreeEngineActivity.getInstance(), myTextView, UsbongUtils.IS_TEXTVIEW,
                        "Negotiated: " + myNegotiatedWeightedScoreInt);
                //                    hasReachedNegotiated=true;
            } else {
                myTextView = (TextView) UsbongUtils.applyTagsInView(
                        UsbongDecisionTreeEngineActivity.getInstance(), myTextView, UsbongUtils.IS_TEXTVIEW,
                        udtea.usbongNodeContainer.elementAt(i).toString() + "{br}");
            }

            //                 if (!hasReachedStandardTotal) {
            myDCATSummaryLinearLayout.addView(myTextView);
            udtea.myDcatSummaryStringBuffer.append(myTextView.getText().toString() + "\n");
            Log.d(">>>>>myTextView.getText().toString()", myTextView.getText().toString());
            //                 }
            //                 else {
            //                    hasReachedStandardTotal=false;
            //                 }
        }
    } else if (udtea.currScreen == udtea.DATE_SCREEN) {
        udtea.setContentView(R.layout.date_screen);
        udtea.initBackNextButtons();
        TextView myDateScreenTextView = (TextView) udtea.findViewById(R.id.date_textview);
        myDateScreenTextView = (TextView) UsbongUtils.applyTagsInView(
                UsbongDecisionTreeEngineActivity.getInstance(), myDateScreenTextView, UsbongUtils.IS_TEXTVIEW,
                udtea.currUsbongNode);
        //Reference: http://code.google.com/p/android/issues/detail?id=2037
        //last accessed: 21 Aug. 2012
        Configuration userConfig = new Configuration();
        Settings.System.getConfiguration(udtea.getContentResolver(), userConfig);
        Calendar date = Calendar.getInstance(userConfig.locale);
        //Reference: http://www.androidpeople.com/android-spinner-default-value;
        //last accessed: 21 Aug. 2012              
        //month-------------------------------
        int month = date.get(Calendar.MONTH); //first month of the year is 0
        Spinner dateMonthSpinner = (Spinner) udtea.findViewById(R.id.date_month_spinner);
        udtea.monthAdapter = ArrayAdapter.createFromResource(((Activity) udtea), R.array.months_array,
                android.R.layout.simple_spinner_item);
        //              udtea.monthAdapter  = ArrayAdapter.createFromResource(
        //                this, R.array.months_array, R.layout.date_textview);
        udtea.monthAdapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
        dateMonthSpinner.setAdapter(udtea.monthAdapter);
        dateMonthSpinner.setSelection(month);
        //              System.out.println(">>>>>>>>>>>>>> month"+month);
        //              Log.d(">>>>>>myStringToken",myStringToken);
        for (int i = 0; i < udtea.monthAdapter.getCount(); i++) {
            //                 Log.d(">>>>>>udtea.monthAdapter ",udtea.monthAdapter .getItem(i).toString());

            if (myStringToken.contains(udtea.monthAdapter.getItem(i).toString())) {
                dateMonthSpinner.setSelection(i);

                //added by Mike, March 4, 2013
                myStringToken = myStringToken.replace(udtea.monthAdapter.getItem(i).toString(), "");
            }
        }
        //-------------------------------------
        //day----------------------------------
        //Reference: http://docs.oracle.com/javase/1.5.0/docs/api/java/util/Calendar.html#MONTH
        //last accessed: 21 Aug 2012
        int day = date.get(Calendar.DAY_OF_MONTH); //first day of the month is 1
        day = day - 1; //do this to offset, when retrieving the day in strings.xml
        Spinner dateDaySpinner = (Spinner) udtea.findViewById(R.id.date_day_spinner);
        udtea.dayAdapter = ArrayAdapter.createFromResource(((Activity) udtea), R.array.day_array,
                android.R.layout.simple_spinner_item);
        udtea.dayAdapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
        dateDaySpinner.setAdapter(udtea.dayAdapter);
        dateDaySpinner.setSelection(day);
        //              System.out.println(">>>>>>>>>>>>>> day"+day);
        //              Log.d(">>>>>myStringToken",myStringToken);
        //              System.out.println(">>>>>>>> myStringToken"+myStringToken);
        StringTokenizer myDateStringTokenizer = new StringTokenizer(myStringToken, ",");
        String myDayStringToken = "";
        if (!myStringToken.equals("")) {
            myDayStringToken = myDateStringTokenizer.nextToken();
        }
        for (int i = 0; i < udtea.dayAdapter.getCount(); i++) {
            if (myDayStringToken.contains(udtea.dayAdapter.getItem(i).toString())) {
                dateDaySpinner.setSelection(i);

                myStringToken = myStringToken.replace(udtea.dayAdapter.getItem(i).toString() + ",", "");
                //                    System.out.println(">>>>>>>>>>>myStringToken: "+myStringToken);
            }
        }
        //-------------------------------------            
        //year---------------------------------
        int year = date.get(Calendar.YEAR);
        EditText myDateYearEditText = (EditText) udtea.findViewById(R.id.date_edittext);
        myDateYearEditText.setInputType(InputType.TYPE_CLASS_NUMBER | InputType.TYPE_NUMBER_FLAG_DECIMAL);
        //added by Mike, March 4, 2013
        if (myStringToken.equals("")) {
            myDateYearEditText.setText("" + year);
        } else {
            myDateYearEditText.setText(myStringToken);
        }
    } else if (udtea.currScreen == udtea.TEXT_DISPLAY_SCREEN) {
        udtea.setContentView(R.layout.text_display_screen);
        udtea.initBackNextButtons();
        TextView myTextDisplayScreenTextView = (TextView) udtea.findViewById(R.id.text_display_textview);
        myTextDisplayScreenTextView = (TextView) UsbongUtils.applyTagsInView(
                UsbongDecisionTreeEngineActivity.getInstance(), myTextDisplayScreenTextView,
                UsbongUtils.IS_TEXTVIEW, udtea.currUsbongNode);

        //         Log.d(">>>>>","inside udtea.currScreen == udtea.TEXT_DISPLAY_SCREEN");
        //         myTextDisplayScreenTextView = (TextView) UsbongUtils.applyHintsInView(UsbongDecisionTreeEngineActivity.getInstance(), myTextDisplayScreenTextView, UsbongUtils.IS_TEXTVIEW);
        //         Log.d(">>>>>","after myTextDisplayScreenTextView");

    } else if (udtea.currScreen == udtea.TIMESTAMP_DISPLAY_SCREEN) {
        udtea.setContentView(R.layout.timestamp_display_screen);
        udtea.initBackNextButtons();
        TextView myTimeDisplayScreenTextView = (TextView) udtea.findViewById(R.id.time_display_textview);
        udtea.timestampString = UsbongUtils.getCurrTimeStamp();
        myTimeDisplayScreenTextView = (TextView) UsbongUtils.applyTagsInView(
                UsbongDecisionTreeEngineActivity.getInstance(), myTimeDisplayScreenTextView,
                UsbongUtils.IS_TEXTVIEW, udtea.currUsbongNode + "{br}" + udtea.timestampString);

    } else if (udtea.currScreen == udtea.SIMPLE_ENCRYPT_SCREEN) {
        udtea.setContentView(R.layout.simple_encrypt_screen);
        udtea.initBackNextButtons();
        TextView myEncryptScreenTextView = (TextView) udtea.findViewById(R.id.encrypt_textview);
        myEncryptScreenTextView = (TextView) UsbongUtils.applyTagsInView(
                UsbongDecisionTreeEngineActivity.getInstance(), myEncryptScreenTextView,
                UsbongUtils.IS_TEXTVIEW, udtea.currUsbongNode);

        String message = "";
        if (udtea.currLanguageBeingUsed == UsbongUtils.LANGUAGE_FILIPINO) {
            message = (String) udtea.getResources().getText(R.string.UsbongEncryptAlertMessageFILIPINO);
        } else if (udtea.currLanguageBeingUsed == UsbongUtils.LANGUAGE_JAPANESE) {
            message = (String) udtea.getResources().getText(R.string.UsbongEncryptAlertMessageJAPANESE);
        } else { //if (udtea.currLanguageBeingUsed==UsbongUtils.LANGUAGE_ENGLISH) {
            message = (String) udtea.getResources().getText(R.string.UsbongEncryptAlertMessageENGLISH);
        }

        new AlertDialog.Builder(udtea).setTitle("Hey!").setMessage(message)
                .setPositiveButton("OK", new DialogInterface.OnClickListener() {
                    @Override
                    public void onClick(DialogInterface dialog, int which) {
                    }
                }).show();

    } else if (udtea.currScreen == udtea.IMAGE_DISPLAY_SCREEN) {
        udtea.setContentView(R.layout.image_display_screen);
        udtea.initBackNextButtons();
        ImageView myImageDisplayScreenImageView = (ImageView) udtea.findViewById(R.id.special_imageview);
        //              if (!UsbongUtils.setImageDisplay(myImageDisplayScreenImageView, myTree+".utree/res/" +UsbongUtils.getResName(udtea.currUsbongNode))) {
        if (!UsbongUtils.setImageDisplay(myImageDisplayScreenImageView, udtea.myTree,
                UsbongUtils.getResName(udtea.currUsbongNode))) {
            //Reference: http://www.anddev.org/tinytut_-_get_resources_by_name__getidentifier_-t460.html; last accessed 14 Sept 2011
            //                 Resources myRes = getResources();
            myDrawableImage = myRes
                    .getDrawable(myRes.getIdentifier("no_image", "drawable", udtea.myPackageName));
            myImageDisplayScreenImageView.setImageDrawable(myDrawableImage);
        }
    } else if (udtea.currScreen == udtea.CLICKABLE_IMAGE_DISPLAY_SCREEN) {
        udtea.setContentView(R.layout.clickable_image_display_screen);
        udtea.initBackNextButtons();
        ImageButton myClickableImageDisplayScreenImageButton = (ImageButton) udtea
                .findViewById(R.id.clickable_image_display_imagebutton);
        if (!UsbongUtils.setClickableImageDisplay(myClickableImageDisplayScreenImageButton, udtea.myTree,
                UsbongUtils.getResName(udtea.currUsbongNode))) {
            //Reference: http://www.anddev.org/tinytut_-_get_resources_by_name__getidentifier_-t460.html; last accessed 14 Sept 2011
            //                 Resources myRes = getResources();
            myDrawableImage = myRes
                    .getDrawable(myRes.getIdentifier("no_image", "drawable", udtea.myPackageName));
            myClickableImageDisplayScreenImageButton.setBackgroundDrawable(myDrawableImage);
        }
        myClickableImageDisplayScreenImageButton.setOnClickListener(new OnClickListener() {
            @Override
            public void onClick(View v) {
                //                      myMessage = UsbongUtils.applyTagsInString(udtea.currUsbongNode).toString();                   

                TextView tv = (TextView) UsbongUtils.applyTagsInView(
                        UsbongDecisionTreeEngineActivity.getInstance(),
                        new TextView(UsbongDecisionTreeEngineActivity.getInstance()), UsbongUtils.IS_TEXTVIEW,
                        udtea.currUsbongNode);
                if (tv.toString().equals("")) {
                    tv.setText("No message.");
                }
                tv.setTextSize((UsbongDecisionTreeEngineActivity.getInstance().getResources()
                        .getDimension(R.dimen.textsize)));

                new AlertDialog.Builder(udtea).setTitle("Hey!")
                        //                     .setMessage(myMessage)
                        .setView(tv).setPositiveButton("OK", new DialogInterface.OnClickListener() {
                            @Override
                            public void onClick(DialogInterface dialog, int which) {
                            }
                        }).show();
            }
        });
    } else if (udtea.currScreen == udtea.TEXT_CLICKABLE_IMAGE_DISPLAY_SCREEN) {
        udtea.setContentView(R.layout.text_clickable_image_display_screen);
        udtea.initBackNextButtons();
        TextView myTextClickableImageDisplayTextView = (TextView) udtea
                .findViewById(R.id.text_clickable_image_display_textview);
        myTextClickableImageDisplayTextView = (TextView) UsbongUtils.applyTagsInView(
                UsbongDecisionTreeEngineActivity.getInstance(), myTextClickableImageDisplayTextView,
                UsbongUtils.IS_TEXTVIEW, udtea.currUsbongNode);
        ImageButton myTextClickableImageDisplayScreenImageButton = (ImageButton) udtea
                .findViewById(R.id.clickable_image_display_imagebutton);
        if (!UsbongUtils.setClickableImageDisplay(myTextClickableImageDisplayScreenImageButton, udtea.myTree,
                UsbongUtils.getResName(udtea.currUsbongNode))) {
            //Reference: http://www.anddev.org/tinytut_-_get_resources_by_name__getidentifier_-t460.html; last accessed 14 Sept 2011
            //                 Resources myRes = getResources();
            myDrawableImage = myRes
                    .getDrawable(myRes.getIdentifier("no_image", "drawable", udtea.myPackageName));
            myTextClickableImageDisplayScreenImageButton.setBackgroundDrawable(myDrawableImage);
        }
        myTextClickableImageDisplayScreenImageButton.setOnClickListener(new OnClickListener() {
            @Override
            public void onClick(View v) {
                //                      myMessage = UsbongUtils.applyTagsInString(udtea.currUsbongNode).toString();                   

                TextView tv = (TextView) UsbongUtils.applyTagsInView(
                        UsbongDecisionTreeEngineActivity.getInstance(), new TextView(udtea),
                        UsbongUtils.IS_TEXTVIEW, UsbongUtils.getAlertName(udtea.currUsbongNode));
                if (tv.toString().equals("")) {
                    tv.setText("No message.");
                }
                tv.setTextSize((UsbongDecisionTreeEngineActivity.getInstance().getResources()
                        .getDimension(R.dimen.textsize)));

                new AlertDialog.Builder(udtea).setTitle("Hey!")
                        //                     .setMessage(myMessage)
                        .setView(tv).setPositiveButton("OK", new DialogInterface.OnClickListener() {
                            @Override
                            public void onClick(DialogInterface dialog, int which) {
                            }
                        }).show();
            }
        });
    } else if (udtea.currScreen == udtea.CLICKABLE_IMAGE_TEXT_DISPLAY_SCREEN) {
        udtea.setContentView(R.layout.clickable_image_text_display_screen);
        udtea.initBackNextButtons();
        TextView myClickableImageTextDisplayTextView = (TextView) udtea
                .findViewById(R.id.clickable_image_text_display_textview);
        myClickableImageTextDisplayTextView = (TextView) UsbongUtils.applyTagsInView(
                UsbongDecisionTreeEngineActivity.getInstance(), myClickableImageTextDisplayTextView,
                UsbongUtils.IS_TEXTVIEW, udtea.currUsbongNode);
        ImageButton myClickableImageTextDisplayScreenImageButton = (ImageButton) udtea
                .findViewById(R.id.clickable_image_display_imagebutton);
        if (!UsbongUtils.setClickableImageDisplay(myClickableImageTextDisplayScreenImageButton, udtea.myTree,
                UsbongUtils.getResName(udtea.currUsbongNode))) {
            //Reference: http://www.anddev.org/tinytut_-_get_resources_by_name__getidentifier_-t460.html; last accessed 14 Sept 2011
            //                 Resources myRes = getResources();
            myDrawableImage = myRes
                    .getDrawable(myRes.getIdentifier("no_image", "drawable", udtea.myPackageName));
            myClickableImageTextDisplayScreenImageButton.setBackgroundDrawable(myDrawableImage);
        }
        myClickableImageTextDisplayScreenImageButton.setOnClickListener(new OnClickListener() {
            @Override
            public void onClick(View v) {
                //                      myMessage = UsbongUtils.applyTagsInString(udtea.currUsbongNode).toString();                   

                TextView tv = (TextView) UsbongUtils.applyTagsInView(
                        UsbongDecisionTreeEngineActivity.getInstance(), new TextView(udtea),
                        UsbongUtils.IS_TEXTVIEW, UsbongUtils.getAlertName(udtea.currUsbongNode));
                if (tv.toString().equals("")) {
                    tv.setText("No message.");
                }
                tv.setTextSize((UsbongDecisionTreeEngineActivity.getInstance().getResources()
                        .getDimension(R.dimen.textsize)));

                new AlertDialog.Builder(udtea).setTitle("Hey!")
                        //                     .setMessage(myMessage)
                        .setView(tv).setPositiveButton("OK", new DialogInterface.OnClickListener() {
                            @Override
                            public void onClick(DialogInterface dialog, int which) {
                            }
                        }).show();
            }
        });
    } else if (udtea.currScreen == udtea.VIDEO_FROM_FILE_SCREEN) {
        udtea.setContentView(R.layout.video_from_file_screen);
        udtea.initBackNextButtons();
        VideoView myVideoFromFileScreenVideoView = (VideoView) udtea
                .findViewById(R.id.video_from_file_videoview);
        myVideoFromFileScreenVideoView.setVideoPath(
                UsbongUtils.getPathOfVideoFile(udtea.myTree, UsbongUtils.getResName(udtea.currUsbongNode)));
        //added by Mike, Sept. 9, 2013
        myVideoFromFileScreenVideoView.setMediaController(new MediaController(((Activity) udtea)));
        myVideoFromFileScreenVideoView.start();
    } else if (udtea.currScreen == udtea.VIDEO_FROM_FILE_WITH_TEXT_SCREEN) {
        udtea.setContentView(R.layout.video_from_file_with_text_screen);
        udtea.initBackNextButtons();
        TextView myVideoFromFileWithTextTextView = (TextView) udtea
                .findViewById(R.id.video_from_file_with_text_textview);
        myVideoFromFileWithTextTextView = (TextView) UsbongUtils.applyTagsInView(
                UsbongDecisionTreeEngineActivity.getInstance(), myVideoFromFileWithTextTextView,
                UsbongUtils.IS_TEXTVIEW, udtea.currUsbongNode);
        VideoView myVideoFromFileWithTextScreenVideoView = (VideoView) udtea
                .findViewById(R.id.video_from_file_with_text_videoview);
        myVideoFromFileWithTextScreenVideoView.setVideoPath(
                UsbongUtils.getPathOfVideoFile(udtea.myTree, UsbongUtils.getResName(udtea.currUsbongNode)));
        myVideoFromFileWithTextScreenVideoView.setMediaController(new MediaController(((Activity) udtea)));
        myVideoFromFileWithTextScreenVideoView.start();
    } else if (udtea.currScreen == udtea.TEXT_IMAGE_DISPLAY_SCREEN) {
        udtea.setContentView(R.layout.text_image_display_screen);
        udtea.initBackNextButtons();
        TextView myTextImageDisplayTextView = (TextView) udtea.findViewById(R.id.text_image_display_textview);
        myTextImageDisplayTextView = (TextView) UsbongUtils.applyTagsInView(
                UsbongDecisionTreeEngineActivity.getInstance(), myTextImageDisplayTextView,
                UsbongUtils.IS_TEXTVIEW, udtea.currUsbongNode);
        ImageView myTextImageDisplayImageView = (ImageView) udtea.findViewById(R.id.image_display_imageview);
        //              if (!UsbongUtils.setImageDisplay(myTextImageDisplayImageView, myTree+".utree/res/" +UsbongUtils.getResName(udtea.currUsbongNode))) {
        if (!UsbongUtils.setImageDisplay(myTextImageDisplayImageView, udtea.myTree,
                UsbongUtils.getResName(udtea.currUsbongNode))) {
            //Reference: http://www.anddev.org/tinytut_-_get_resources_by_name__getidentifier_-t460.html; last accessed 14 Sept 2011
            //                 Resources myRes = getResources();
            myDrawableImage = myRes
                    .getDrawable(myRes.getIdentifier("no_image", "drawable", udtea.myPackageName));
            myTextImageDisplayImageView.setImageDrawable(myDrawableImage);
        }
    } else if (udtea.currScreen == udtea.IMAGE_TEXT_DISPLAY_SCREEN) {
        udtea.setContentView(R.layout.image_text_display_screen);
        udtea.initBackNextButtons();
        TextView myImageTextDisplayTextView = (TextView) udtea.findViewById(R.id.image_text_display_textview);
        myImageTextDisplayTextView = (TextView) UsbongUtils.applyTagsInView(
                UsbongDecisionTreeEngineActivity.getInstance(), myImageTextDisplayTextView,
                UsbongUtils.IS_TEXTVIEW, udtea.currUsbongNode);
        ImageView myImageTextDisplayImageView = (ImageView) udtea.findViewById(R.id.image_display_imageview);

        if (!UsbongUtils.setImageDisplay(myImageTextDisplayImageView, udtea.myTree,
                UsbongUtils.getResName(udtea.currUsbongNode))) {
            //Reference: http://www.anddev.org/tinytut_-_get_resources_by_name__getidentifier_-t460.html; last accessed 14 Sept 2011
            //                 Resources myRes = getResources();
            myDrawableImage = myRes
                    .getDrawable(myRes.getIdentifier("no_image", "drawable", udtea.myPackageName));
            myImageTextDisplayImageView.setImageDrawable(myDrawableImage);
        }
    } else if (udtea.currScreen == udtea.GPS_LOCATION_SCREEN) {
        udtea.setContentView(R.layout.gps_location_screen);
        udtea.initBackNextButtons();
        TextView myGPSLocationTextView = (TextView) udtea.findViewById(R.id.gps_location_textview);
        myGPSLocationTextView = (TextView) UsbongUtils.applyTagsInView(
                UsbongDecisionTreeEngineActivity.getInstance(), myGPSLocationTextView, UsbongUtils.IS_TEXTVIEW,
                udtea.currUsbongNode);
        //         TextView myLongitudeTextView = (TextView)udtea.findViewById(R.id.longitude_textview);
        //         TextView myLatitudeTextView = (TextView)udtea.findViewById(R.id.latitude_textview);
        hasGottenGPSLocation = false;

        locationResult = new LocationResult() {
            @Override
            public void gotLocation(Location location) {
                //Got the location!
                System.out.println(">>>>>>>>>>>>>>>>>location: " + location);
                if (udtea.currScreen == udtea.GPS_LOCATION_SCREEN) {
                    if (location != null) {
                        myLongitude = location.getLongitude() + "";
                        myLatitude = location.getLatitude() + "";

                        myLongitudeTextView = (TextView) udtea.findViewById(R.id.longitude_textview);
                        myLatitudeTextView = (TextView) udtea.findViewById(R.id.latitude_textview);

                        hasGottenGPSLocation = true;

                        udtea.runOnUiThread(new Runnable() {
                            @Override
                            public void run() {
                                myLongitudeTextView.setText("long: " + myLongitude);
                                myLatitudeTextView.setText("lat: " + myLatitude);
                            }
                        });
                    } else {
                        Toast.makeText(UsbongDecisionTreeEngineActivity.getInstance(),
                                "Error getting location. Please make sure you are not inside a building.",
                                Toast.LENGTH_SHORT).show();
                    }
                } else {
                    hasGottenGPSLocation = true; //to stop the cycling progress bar
                }
            }
        };
        //         myLoadingProgressBar =  new ProgressBar(udtea);
        //         myLoadingProgressBar.setIndeterminate(false);
        //         myLoadingProgressBar.setProgressStyle(ProgressDialog.STYLE_SPINNER);         

        udtea.myLocation = new FedorMyLocation();
        udtea.myLocation.getLocation(udtea, locationResult);

        myLoadingProgressBar = (ProgressBar) udtea.findViewById(R.id.progressBar);
        new ProgressTask().execute();

    } else if (udtea.currScreen == udtea.YES_NO_DECISION_SCREEN) {
        udtea.setContentView(R.layout.yes_no_decision_screen);
        udtea.initBackNextButtons();
        TextView myYesNoDecisionScreenTextView = (TextView) udtea.findViewById(R.id.yes_no_decision_textview);
        myYesNoDecisionScreenTextView = (TextView) UsbongUtils.applyTagsInView(
                UsbongDecisionTreeEngineActivity.getInstance(), myYesNoDecisionScreenTextView,
                UsbongUtils.IS_TEXTVIEW, udtea.currUsbongNode);
        RadioButton myYesRadioButton = (RadioButton) udtea.findViewById(R.id.yes_radiobutton);
        myYesRadioButton.setText(udtea.yesStringValue);
        myYesRadioButton.setTextSize(20);
        RadioButton myNoRadioButton = (RadioButton) udtea.findViewById(R.id.no_radiobutton);
        myNoRadioButton.setText(udtea.noStringValue);
        myNoRadioButton.setTextSize(20);
        if (myStringToken.equals("N")) {
            myNoRadioButton.setChecked(true);
        } else if ((myStringToken.equals("Y"))) {
            myYesRadioButton.setChecked(true);
        }
    } else if (udtea.currScreen == udtea.SEND_TO_CLOUD_BASED_SERVICE_SCREEN) {
        udtea.setContentView(R.layout.yes_no_decision_screen);
        udtea.initBackNextButtons();
        TextView mySendToCloudBasedServiceScreenTextView = (TextView) udtea
                .findViewById(R.id.yes_no_decision_textview);
        mySendToCloudBasedServiceScreenTextView = (TextView) UsbongUtils.applyTagsInView(
                UsbongDecisionTreeEngineActivity.getInstance(), mySendToCloudBasedServiceScreenTextView,
                UsbongUtils.IS_TEXTVIEW, udtea.currUsbongNode);
        RadioButton mySendToCloudBasedServiceScreenYesRadioButton = (RadioButton) udtea
                .findViewById(R.id.yes_radiobutton);
        mySendToCloudBasedServiceScreenYesRadioButton.setText(udtea.yesStringValue);
        mySendToCloudBasedServiceScreenYesRadioButton.setTextSize(20);
        RadioButton mySendToCloudBasedServiceScreenNoRadioButton = (RadioButton) udtea
                .findViewById(R.id.no_radiobutton);
        mySendToCloudBasedServiceScreenNoRadioButton.setText(udtea.noStringValue);
        mySendToCloudBasedServiceScreenNoRadioButton.setTextSize(20);
        if (myStringToken.equals("N")) {
            mySendToCloudBasedServiceScreenNoRadioButton.setChecked(true);
        } else if ((myStringToken.equals("Y"))) {
            mySendToCloudBasedServiceScreenYesRadioButton.setChecked(true);
        }
    } else if (udtea.currScreen == udtea.SEND_TO_WEBSERVER_SCREEN) {
        udtea.setContentView(R.layout.send_to_webserver_screen);
        udtea.initBackNextButtons();
        TextView mySendToWebserverScreenTextView = (TextView) udtea
                .findViewById(R.id.send_to_webserver_textview);
        mySendToWebserverScreenTextView = (TextView) UsbongUtils.applyTagsInView(
                UsbongDecisionTreeEngineActivity.getInstance(), mySendToWebserverScreenTextView,
                UsbongUtils.IS_TEXTVIEW, udtea.currUsbongNode);
        TextView myWebserverURLScreenTextView = (TextView) udtea.findViewById(R.id.webserver_url_textview);

        if (!UsbongUtils.getDestinationServerURL().toString().equals("")) {
            myWebserverURLScreenTextView.setText("[" + UsbongUtils.getDestinationServerURL() + "]");
        } else {
            myWebserverURLScreenTextView.setText("[Warning: No URL specified in Settings.]");
        }

        RadioButton mySendToWebserverYesRadioButton = (RadioButton) udtea.findViewById(R.id.yes_radiobutton);
        mySendToWebserverYesRadioButton.setText(udtea.yesStringValue);
        mySendToWebserverYesRadioButton.setTextSize(20);
        RadioButton mySendToWebserverNoRadioButton = (RadioButton) udtea.findViewById(R.id.no_radiobutton);
        mySendToWebserverNoRadioButton.setText(udtea.noStringValue);
        mySendToWebserverNoRadioButton.setTextSize(20);
        if (myStringToken.equals("N")) {
            mySendToWebserverNoRadioButton.setChecked(true);
        } else if ((myStringToken.equals("Y"))) {
            mySendToWebserverYesRadioButton.setChecked(true);
        }
    } else if (udtea.currScreen == udtea.END_STATE_SCREEN) {
        udtea.setContentView(R.layout.end_state_screen);
        TextView endStateTextView = (TextView) udtea.findViewById(R.id.end_state_textview);
        if (udtea.currLanguageBeingUsed == UsbongUtils.LANGUAGE_FILIPINO) {
            endStateTextView
                    .setText((String) udtea.getResources().getText(R.string.UsbongEndStateTextViewFILIPINO));
        } else if (udtea.currLanguageBeingUsed == UsbongUtils.LANGUAGE_JAPANESE) {
            endStateTextView
                    .setText((String) udtea.getResources().getText(R.string.UsbongEndStateTextViewJAPANESE));
        } else { //if (udtea.currLanguageBeingUsed==UsbongUtils.LANGUAGE_ENGLISH) {
            endStateTextView
                    .setText((String) udtea.getResources().getText(R.string.UsbongEndStateTextViewENGLISH));
        }
        udtea.initBackNextButtons();
    }
    View myLayout = udtea.findViewById(R.id.parent_layout_id);
    if (!UsbongUtils.setBackgroundImage(myLayout, udtea.myTree, "bg")) {
        myLayout.setBackgroundResource(R.drawable.bg);//default bg
    }

    if ((!udtea.usedBackButton) && (!udtea.hasReturnedFromAnotherActivity)) {
        udtea.usbongNodeContainer.addElement(udtea.currUsbongNode);
        udtea.usbongNodeContainerCounter++;
    } else {
        udtea.usedBackButton = false;
        udtea.hasReturnedFromAnotherActivity = false;
    }
}

From source file:im.neon.adapters.VectorMediasViewerAdapter.java

/**
 * Play a video./*w ww . j a va 2  s  .co m*/
 * @param pageView the pageView
 * @param videoView the video view
 * @param videoUrl the video Url
 * @param videoMimeType the video mimetype
 */
private void playVideo(View pageView, VideoView videoView, String videoUrl, String videoMimeType) {
    // init the video view only if there is a valid file
    // check if the media has been downloaded
    File srcFile = mMediasCache.mediaCacheFile(videoUrl, videoMimeType);

    if ((null != srcFile) && srcFile.exists()) {
        try {
            stopPlayingVideo();
            String extension = MimeTypeMap.getSingleton().getExtensionFromMimeType(videoMimeType);

            if (null != extension) {
                extension += "." + extension;
            }

            // copy the media to ensure that it is deleted while playing
            File dstFile = new File(mContext.getCacheDir(), "sliderMedia" + extension);
            if (dstFile.exists()) {
                dstFile.delete();
            }

            // Copy source file to destination
            FileInputStream inputStream = null;
            FileOutputStream outputStream = null;
            try {
                // create only the
                if (!dstFile.exists()) {
                    dstFile.createNewFile();

                    inputStream = new FileInputStream(srcFile);
                    outputStream = new FileOutputStream(dstFile);

                    byte[] buffer = new byte[1024 * 10];
                    int len;
                    while ((len = inputStream.read(buffer)) != -1) {
                        outputStream.write(buffer, 0, len);
                    }
                }
            } catch (Exception e) {
                Log.e(LOG_TAG, "## playVideo() : failed " + e.getMessage());
                dstFile = null;
            } finally {
                // Close resources
                try {
                    if (inputStream != null)
                        inputStream.close();
                    if (outputStream != null)
                        outputStream.close();
                } catch (Exception e) {
                    Log.e(LOG_TAG, "## playVideo() : failed " + e.getMessage());
                }
            }

            // update the source
            videoView.setVideoPath(dstFile.getAbsolutePath());
            // hide the thumbnail
            displayVideoThumbnail(pageView, false);

            // let's playing
            mPlayingVideoView = videoView;
            videoView.start();

        } catch (Exception e) {
            Log.e(LOG_TAG, "## playVideo() : videoView.start(); failed " + e.getMessage());
        }
    }
}

From source file:com.nttec.everychan.ui.gallery.GalleryActivity.java

private void setVideo(final GalleryItemViewTag tag, final File file) {
    runOnUiThread(new Runnable() {
        @Override/*from w w w.  j  a va2s .  c  om*/
        public void run() {
            setOnClickView(tag, getString(R.string.gallery_tap_to_play), new View.OnClickListener() {
                @Override
                public void onClick(View v) {
                    if (!settings.useInternalVideoPlayer()) {
                        openExternal();
                    } else {
                        recycleTag(tag, false);
                        tag.thumbnailView.setVisibility(View.GONE);
                        View videoContainer = inflater.inflate(R.layout.gallery_videoplayer, tag.layout);
                        final VideoView videoView = (VideoView) videoContainer
                                .findViewById(R.id.gallery_video_view);
                        final TextView durationView = (TextView) videoContainer
                                .findViewById(R.id.gallery_video_duration);

                        videoView.setOnPreparedListener(new MediaPlayer.OnPreparedListener() {
                            @Override
                            public void onPrepared(final MediaPlayer mp) {
                                mp.setLooping(true);

                                durationView.setText("00:00 / " + formatMediaPlayerTime(mp.getDuration()));

                                tag.timer = new Timer();
                                tag.timer.schedule(new TimerTask() {
                                    @Override
                                    public void run() {
                                        runOnUiThread(new Runnable() {
                                            @Override
                                            public void run() {
                                                try {
                                                    durationView.setText(
                                                            formatMediaPlayerTime(mp.getCurrentPosition())
                                                                    + " / "
                                                                    + formatMediaPlayerTime(mp.getDuration()));
                                                } catch (Exception e) {
                                                    Logger.e(TAG, e);
                                                    tag.timer.cancel();
                                                }
                                            }
                                        });
                                    }
                                }, 1000, 1000);

                                videoView.start();
                            }
                        });
                        videoView.setOnErrorListener(new MediaPlayer.OnErrorListener() {
                            @Override
                            public boolean onError(MediaPlayer mp, int what, int extra) {
                                Logger.e(TAG, "(Video) Error code: " + what);
                                if (tag.timer != null)
                                    tag.timer.cancel();
                                showError(tag, getString(R.string.gallery_error_play));
                                return true;
                            }
                        });

                        if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.ECLAIR) {
                            CompatibilityImpl.setVideoViewZOrderOnTop(videoView);
                        }
                        videoView.setVideoPath(file.getAbsolutePath());
                    }
                }

            });
        }
    });
}