Android Open Source - PhoneProfiles_Eclipse Applications Preference Dialog






From Project

Back to project page PhoneProfiles_Eclipse.

License

The source code is released under:

Apache License

If you think the Android project PhoneProfiles_Eclipse 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

package sk.henrichg.phoneprofiles;
//from   w w w.  j  a  v a  2  s.  c o  m
import android.app.Dialog;
import android.content.Context;
import android.content.DialogInterface;
import android.widget.AdapterView;
import android.widget.AdapterView.OnItemClickListener;
import android.widget.LinearLayout;
import android.widget.ListView;
import android.os.AsyncTask;
//import android.preference.Preference;
//import android.preference.Preference.OnPreferenceChangeListener;
import android.view.View;
import android.content.DialogInterface.OnDismissListener;
import android.content.DialogInterface.OnShowListener;


public class ApplicationsPreferenceDialog extends Dialog 
                       implements OnShowListener,
                            OnDismissListener
{

  private ApplicationsPreference applicationsPreference;
  private ApplicationsPreferenceAdapter applicationsPreferenceAdapter;
  
  private String packageName;

  private Context _context;
  
  private ListView listView;
  private LinearLayout linlaProgress;
  
  public ApplicationsPreferenceDialog(Context context) {
    super(context);
  }
  
  public ApplicationsPreferenceDialog(Context context, ApplicationsPreference preference, String packageName)
  {
    super(context);
    
    applicationsPreference = preference;
    this.packageName = packageName;

    _context = context;
    
    setContentView(R.layout.activity_applications_pref_dialog);
    
    linlaProgress = (LinearLayout)findViewById(R.id.applications_pref_dlg_linla_progress);
    listView = (ListView)findViewById(R.id.applications_pref_dlg_listview);
    
    applicationsPreferenceAdapter = new ApplicationsPreferenceAdapter(this, _context, packageName); 
  
    listView.setOnItemClickListener(new OnItemClickListener() {
      public void onItemClick(AdapterView<?> parent, View v, int position, long id) {
        doOnItemSelected(position);
      }

    });

/*    applicationPreference.setOnPreferenceChangeListener(new OnPreferenceChangeListener() {
      public boolean onPreferenceChange(Preference preference, Object newValue) {
      }  
    }); */

    setOnShowListener(this);
  }

  
  public void onShow(DialogInterface dialog) {

    if (EditorProfilesActivity.getApplicationsCache() == null)
      EditorProfilesActivity.createApplicationsCache();
    
    if (!EditorProfilesActivity.getApplicationsCache().isCached())
    {
      new AsyncTask<Void, Integer, Void>() {
  
        @Override
        protected void onPreExecute()
        {
          super.onPreExecute();
          linlaProgress.setVisibility(View.VISIBLE);
        }
        
        @Override
        protected Void doInBackground(Void... params) {
          ApplicationsCache applicationsCahce = EditorProfilesActivity.getApplicationsCache();
          applicationsCahce.getApplicationsList(_context);
          
          return null;
        }
        
        @Override
        protected void onPostExecute(Void result)
        {
          super.onPostExecute(result);
          
          listView.setAdapter(applicationsPreferenceAdapter);
          linlaProgress.setVisibility(View.GONE);
          ApplicationsCache applicationsCahce = EditorProfilesActivity.getApplicationsCache();
          if (applicationsCahce.isCached())
          {
            for (int position = 0; position < applicationsCahce.getLength()-1; position++)
            {
              if (applicationsCahce.getPackageName(position).equals(packageName))
              {
                listView.setSelection(position);
                listView.setItemChecked(position, true);
                listView.smoothScrollToPosition(position);
                break;
              }
            }
          }
        }
        
      }.execute();
    }
    else
    {
      listView.setAdapter(applicationsPreferenceAdapter);
      ApplicationsCache applicationsCahce = EditorProfilesActivity.getApplicationsCache();
      if (applicationsCahce.isCached())
      {
        for (int position = 0; position < applicationsCahce.getLength()-1; position++)
        {
          if (applicationsCahce.getPackageName(position).equals(packageName))
          {
            listView.setSelection(position);
            listView.setItemChecked(position, true);
            listView.smoothScrollToPosition(position);
            break;
          }
        }
      }
    }

  }
  
  public void doOnItemSelected(int position)
  {
    String packageName = applicationsPreferenceAdapter.getApplicationPackageName(position);
    applicationsPreference.setPackageName(packageName);
    ApplicationsPreferenceDialog.this.dismiss();
  }

  @Override
  public void onDismiss(DialogInterface dialog) {
    ApplicationsCache applicationsCahce = EditorProfilesActivity.getApplicationsCache();
    applicationsCahce.cancelCaching();
  }

}




Java Source Code List

sk.henrichg.phoneprofiles.ActivateProfileActivity.java
sk.henrichg.phoneprofiles.ActivateProfileHelper.java
sk.henrichg.phoneprofiles.ActivateProfileListAdapter.java
sk.henrichg.phoneprofiles.ActivateProfileListFragment.java
sk.henrichg.phoneprofiles.ApplicationsCache.java
sk.henrichg.phoneprofiles.ApplicationsPreferenceAdapter.java
sk.henrichg.phoneprofiles.ApplicationsPreferenceDialog.java
sk.henrichg.phoneprofiles.ApplicationsPreference.java
sk.henrichg.phoneprofiles.BackgroundActivateProfileActivity.java
sk.henrichg.phoneprofiles.BitmapManipulator.java
sk.henrichg.phoneprofiles.BootUpReceiver.java
sk.henrichg.phoneprofiles.BrightnessDialogPreference.java
sk.henrichg.phoneprofiles.BrightnessView.java
sk.henrichg.phoneprofiles.DashClockBroadcastReceiver.java
sk.henrichg.phoneprofiles.DataWrapper.java
sk.henrichg.phoneprofiles.DatabaseHandler.java
sk.henrichg.phoneprofiles.EditorProfileListAdapter.java
sk.henrichg.phoneprofiles.EditorProfileListFragment.java
sk.henrichg.phoneprofiles.EditorProfilesActivity.java
sk.henrichg.phoneprofiles.ExecuteRadioProfilePrefsService.java
sk.henrichg.phoneprofiles.ExecuteVolumeProfilePrefsService.java
sk.henrichg.phoneprofiles.FirstStartService.java
sk.henrichg.phoneprofiles.GUIData.java
sk.henrichg.phoneprofiles.GlobalData.java
sk.henrichg.phoneprofiles.IconWidgetProvider.java
sk.henrichg.phoneprofiles.ImageViewPreferenceAdapter.java
sk.henrichg.phoneprofiles.ImageViewPreferenceDialog.java
sk.henrichg.phoneprofiles.ImageViewPreference.java
sk.henrichg.phoneprofiles.KeyguardService.java
sk.henrichg.phoneprofiles.Keyguard.java
sk.henrichg.phoneprofiles.LocaleChangedReceiver.java
sk.henrichg.phoneprofiles.NumberPickerPreference.java
sk.henrichg.phoneprofiles.OneRowWidgetProvider.java
sk.henrichg.phoneprofiles.PackageReplacedReceiver.java
sk.henrichg.phoneprofiles.PhoneCallBroadcastReceiver.java
sk.henrichg.phoneprofiles.PhoneCallReceiver.java
sk.henrichg.phoneprofiles.PhoneProfilesDashClockExtension.java
sk.henrichg.phoneprofiles.PhoneProfilesHelper.java
sk.henrichg.phoneprofiles.PhoneProfilesPreferencesActivity.java
sk.henrichg.phoneprofiles.PhoneProfilesPreferencesFragment.java
sk.henrichg.phoneprofiles.ProfileDurationAlarmBroadcastReceiver.java
sk.henrichg.phoneprofiles.ProfileListWidgetFactory.java
sk.henrichg.phoneprofiles.ProfileListWidgetProvider.java
sk.henrichg.phoneprofiles.ProfileListWidgetService.java
sk.henrichg.phoneprofiles.ProfilePreferenceAdapter.java
sk.henrichg.phoneprofiles.ProfilePreferenceDialog.java
sk.henrichg.phoneprofiles.ProfilePreference.java
sk.henrichg.phoneprofiles.ProfilePreferencesFragmentActivity.java
sk.henrichg.phoneprofiles.ProfilePreferencesFragment.java
sk.henrichg.phoneprofiles.ProfilePreferencesIndicator.java
sk.henrichg.phoneprofiles.Profile.java
sk.henrichg.phoneprofiles.ReceiversService.java
sk.henrichg.phoneprofiles.RefreshGUIBroadcastReceiver.java
sk.henrichg.phoneprofiles.RemoteExportDataActivity.java
sk.henrichg.phoneprofiles.RemoveBrightnessViewBroadcastReceiver.java
sk.henrichg.phoneprofiles.ScreenOnOffBroadcastReceiver.java
sk.henrichg.phoneprofiles.ShortcutCreatorActivity.java
sk.henrichg.phoneprofiles.ShortcutCreatorListFragment.java
sk.henrichg.phoneprofiles.ShortcutProfileListAdapter.java
sk.henrichg.phoneprofiles.UpgradePPHelperActivity.java
sk.henrichg.phoneprofiles.VolumeDialogPreference.java