Android Open Source - geoar-app Plugin Dialog Fragment






From Project

Back to project page geoar-app.

License

The source code is released under:

Apache License

If you think the Android project geoar-app listed in this page is inappropriate, such as containing malicious code/tools or violating the copyright, please email info at java2s dot com, thanks.

Java Source Code

/**
 * Copyright 2012 52North Initiative for Geospatial Open Source Software GmbH
 */*from w w  w.  j  a  va2 s .c  o  m*/
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 *    http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */
package org.n52.geoar.newdata;

import org.n52.geoar.R;
import org.n52.geoar.ar.view.IntroController;

import android.app.Activity;
import android.app.AlertDialog;
import android.app.Dialog;
import android.content.DialogInterface;
import android.graphics.Bitmap;
import android.os.Bundle;
import android.support.v4.app.DialogFragment;
import android.support.v4.app.FragmentActivity;
import android.view.LayoutInflater;
import android.view.View;
import android.widget.ImageView;
import android.widget.TextView;

public class PluginDialogFragment extends DialogFragment {

  public static PluginDialogFragment newInstance(PluginHolder plugin) {
    PluginDialogFragment df = new PluginDialogFragment();
    Bundle args = new Bundle();

    args.putParcelable("plugin", plugin);
    df.setArguments(args);
    return df;
  }

  @Override
  public Dialog onCreateDialog(Bundle savedInstanceState) {
    // get parameters
    Bundle args = getArguments();
    final PluginHolder plugin = args.getParcelable("plugin");

    // inflate layout
    LayoutInflater inflater = getActivity().getLayoutInflater();
    View view = inflater.inflate(R.layout.fragment_plugin_dialog, null);

    final ImageView imageView = (ImageView) view
        .findViewById(R.id.imageView);

    ((TextView) view.findViewById(R.id.textViewName)).setText(plugin
        .getName());
    ((TextView) view.findViewById(R.id.textViewPublisher)).setText(plugin
        .getPublisher() != null ? plugin.getPublisher()
        : getString(R.string.unknown_publisher));
    ((TextView) view.findViewById(R.id.textViewVersion)).setText(plugin
        .getVersion() != null ? "" + plugin.getVersion()
        : getString(R.string.no_value));

    ((TextView) view.findViewById(R.id.textViewDescription)).setText(plugin
        .getDescription() != null ? plugin.getDescription()
        : getString(R.string.no_value));

    TextView textViewDataSources = (TextView) view
        .findViewById(R.id.textViewDataSources);
    if (plugin instanceof InstalledPluginHolder) {

      String dsText = "";
      for (DataSourceHolder dataSource : ((InstalledPluginHolder) plugin)
          .getDataSources()) {
        if (!dsText.isEmpty())
          dsText += "\n";
        dsText += dataSource.getName();
      }
      textViewDataSources.setText(dsText);
    } else {
      textViewDataSources.setText(R.string.no_value);
    }

    // dialogButton.setAnimation(getActivity().findViewById(android.R.drawable.stat_sys_download));
    Dialog dsDialog = new AlertDialog.Builder(getActivity())
        .setTitle(plugin.getName())
        .setPositiveButton(R.string.add,
            new DialogInterface.OnClickListener() {
              @Override
              public void onClick(DialogInterface dialog,
                  int which) {
                if (plugin instanceof InstalledPluginHolder) {
                  ((InstalledPluginHolder) plugin)
                      .setChecked(true);
                  IntroController.finishTaskIfActive(R.string.intro_task_2);
                  IntroController.notify(R.string.intro_desc_3_1);
                } else if (plugin instanceof PluginDownloadHolder) {
                  PluginDownloader
                      .downloadPlugin((PluginDownloadHolder) plugin);
                  IntroController.finishTaskIfActive(R.string.intro_task_1);
                  IntroController.notify(R.string.intro_desc_2_1);
                }
              }
            }).setNegativeButton(R.string.cancel, null)
        .setView(view).create();

    // Asynchronously load and display plugin icon
    Thread imageThread = new Thread(new Runnable() {
      @Override
      public void run() {
        final Bitmap pluginIcon = plugin.getPluginIcon();
        Activity activity = getActivity();
        if (activity != null) {
          activity.runOnUiThread(new Runnable() {
            @Override
            public void run() {
              if (pluginIcon != null)
                imageView.setImageBitmap(pluginIcon);
            }
          });
        }
      }
    });
    imageThread.start();

    return dsDialog;
  }
}




Java Source Code List

.DataSourcesOverlay.java
.VisualizationOverlayItem.java
org.n52.geoar.AboutDialog.java
org.n52.geoar.DataSourceListAdapter.java
org.n52.geoar.GeoARActivity.java
org.n52.geoar.GeoARApplication.java
org.n52.geoar.ar.view.ARFragment.java
org.n52.geoar.ar.view.ARObject.java
org.n52.geoar.ar.view.ARView.java
org.n52.geoar.ar.view.DataSourceVisualizationHandler.java
org.n52.geoar.ar.view.IntroController.java
org.n52.geoar.ar.view.IntroViewer.java
org.n52.geoar.ar.view.gl.ARSurfaceViewRenderer.java
org.n52.geoar.ar.view.gl.ARSurfaceView.java
org.n52.geoar.ar.view.gl.GLESCamera.java
org.n52.geoar.ar.view.gl.MultisampleConfigs.java
org.n52.geoar.ar.view.gl.SurfaceTopology.java
org.n52.geoar.ar.view.overlay.ARCanvasSurfaceView.java
org.n52.geoar.ar.view.overlay.GUIDrawable.java
org.n52.geoar.ar.view.overlay.Radar.java
org.n52.geoar.exception.UnsupportedGeometryType.java
org.n52.geoar.map.view.DataSourceOverlayHandler.java
org.n52.geoar.map.view.GeoARMapView.java
org.n52.geoar.map.view.MapActivityContext.java
org.n52.geoar.map.view.MapFragment.java
org.n52.geoar.map.view.overlay.DataSourceOverlay.java
org.n52.geoar.map.view.overlay.DataSourcePointOverlay.java
org.n52.geoar.map.view.overlay.DataSourcePolygonOverlay.java
org.n52.geoar.map.view.overlay.DataSourcePolylineOverlay.java
org.n52.geoar.map.view.overlay.DataSourcesOverlay.java
org.n52.geoar.map.view.overlay.OverlayType.java
org.n52.geoar.map.view.overlay.PointOverlayType.java
org.n52.geoar.map.view.overlay.PolygonOverlayType.java
org.n52.geoar.map.view.overlay.PolylineOverlayType.java
org.n52.geoar.newdata.CheckList.java
org.n52.geoar.newdata.DataCache.java
org.n52.geoar.newdata.DataSourceHolder.java
org.n52.geoar.newdata.DataSourceInstanceHolder.java
org.n52.geoar.newdata.DataSourceInstanceSettingsDialogActivity.java
org.n52.geoar.newdata.InstalledPluginHolder.java
org.n52.geoar.newdata.PluginActivityContext.java
org.n52.geoar.newdata.PluginContext.java
org.n52.geoar.newdata.PluginDialogFragment.java
org.n52.geoar.newdata.PluginDownloadHolder.java
org.n52.geoar.newdata.PluginDownloader.java
org.n52.geoar.newdata.PluginFragment.java
org.n52.geoar.newdata.PluginGridAdapter.java
org.n52.geoar.newdata.PluginHolder.java
org.n52.geoar.newdata.PluginLoader.java
org.n52.geoar.newdata.PluginLogger.java
org.n52.geoar.newdata.PluginStateInputStream.java
org.n52.geoar.newdata.Tile.java
org.n52.geoar.settings.DateTimeSettingsViewField.java
org.n52.geoar.settings.DateUtils.java
org.n52.geoar.settings.NumberSettingsViewField.java
org.n52.geoar.settings.SettingsException.java
org.n52.geoar.settings.SettingsHelper.java
org.n52.geoar.settings.SettingsViewField.java
org.n52.geoar.settings.SettingsView.java
org.n52.geoar.settings.SpinnerSettingsViewField.java
org.n52.geoar.settings.StringSettingsViewField.java
org.n52.geoar.tracking.camera.CameraView.java
org.n52.geoar.tracking.camera.RealityCamera.java
org.n52.geoar.tracking.location.AdaptiveLowPassSensorBuffer.java
org.n52.geoar.tracking.location.LocationHandler.java
org.n52.geoar.tracking.location.LowPassSensorBuffer.java
org.n52.geoar.tracking.location.MeanSensorBuffer.java
org.n52.geoar.tracking.location.SensorBuffer.java
org.n52.geoar.view.InfoView.java
org.n52.geoar.view.geoar.CalibrationControlView.java
org.n52.geoar.view.geoar.Settings.java
org.n52.geoar.view.geoar.gl.mode.BilligerColorShader.java
org.n52.geoar.view.geoar.gl.mode.BilligerLightShader.java
org.n52.geoar.view.geoar.gl.mode.BilligerTextureShader.java
org.n52.geoar.view.geoar.gl.mode.BoundingBox.java
org.n52.geoar.view.geoar.gl.mode.FeatureShader.java
org.n52.geoar.view.geoar.gl.mode.PhongFeatureShader.java
org.n52.geoar.view.geoar.gl.mode.RenderFeature2.java
org.n52.geoar.view.geoar.gl.mode.Spatial.java
org.n52.geoar.view.geoar.gl.mode.TextureFeatureShader.java
org.n52.geoar.view.geoar.gl.mode.Texture.java
org.n52.geoar.view.geoar.gl.mode.features.CubeFeature2.java
org.n52.geoar.view.geoar.gl.mode.features.FlatCircleFeature.java
org.n52.geoar.view.geoar.gl.mode.features.HeightMapFeature.java
org.n52.geoar.view.geoar.gl.mode.features.NewGridFeature.java
org.n52.geoar.view.geoar.gl.mode.features.ReferencedGridFeature.java
org.n52.geoar.view.geoar.gl.mode.features.SphereFeature.java
org.n52.geoar.view.geoar.gl.mode.features.TriangleFeature.java