예제 #1
0
  @Override
  public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setHasOptionsMenu(true);
    getActivity().setTitle(R.string.brygds_title);

    // se om användaren har valt källa an
    // gör: onActivityResult-ta emot och fetcha eller avsluta
    // AskPasswordActivity-fråga efter table name och spara i prefs samt setResult.
    SharedPreferences prefs =
        getActivity().getSharedPreferences(MY_PREFS_NAME, Context.MODE_PRIVATE);
    String table = prefs.getString("table", null);
    if (prefs.getBoolean("error", false)) { // fel förra gången?
      Intent i = new Intent(getActivity(), ErrorReportActivity.class);
      startActivityForResult(i, ERROR_REPORT);
      // getActivity().finish();
      // return;
    } else if (table == null) { // fråga efter password
      Intent i = new Intent(getActivity(), AskPasswordActivity.class);
      startActivityForResult(i, ASK_PASSWORD);
    } else { // hämta data
      BrygdLab.setSourceIsDemo(table.equals("demo"));
      new FetchItemsTask().execute();
    }

    mBrygds =
        BrygdLab.get(getActivity())
            .getBrygds(); // mBrygds kommer alltid att vara null här men måste anropas innan
                          // BrygdLab.set...
    setListAdapter(null); // visa timglas

    // initiera bakgrundstråden med loopern. i konstruktorn skicka Handler som är associerad till
    // UI-tråden.
    // registrera callback för downloaded vertig.

    mThumbnailThread =
        new ThumbnailDownloader<ImageView>(getActivity().getExternalCacheDir(), new Handler());
    mThumbnailThread.setListener(
        new ThumbnailDownloader.Listener<ImageView>() {
          public void onThumbnailDownloaded(ImageView imageView, Bitmap thumbnail) {
            if (isVisible()) {
              imageView.setImageBitmap(thumbnail);
            }
          }
        });
    mThumbnailThread.start();
    mThumbnailThread.getLooper();
  }
예제 #2
0
  @Override
  public void onActivityResult(int requestCode, int resultCode, Intent data) {
    if (requestCode == ERROR_REPORT) {
      getActivity().finish(); // döda hela appen.
    } else if (requestCode == ASK_PASSWORD) {
      if (resultCode == Activity.RESULT_CANCELED) {
        getActivity().finish(); // döda hela appen.
      } else {
        SharedPreferences prefs =
            getActivity().getSharedPreferences(MY_PREFS_NAME, Context.MODE_PRIVATE);
        String table = prefs.getString("table", null);
        BrygdLab.setSourceIsDemo(table.equals("demo"));
        new FetchItemsTask().execute();
      }
      // return;
    }

    //            if (requestCode == ADD_BEER && resultCode == Activity.RESULT_OK) {
    // Activity.RESULT_FIRST_USER är om brygd har sparats.
    // Toast.makeText(getActivity(), "onActivityResult" + requestCode + "," + resultCode + "," +
    // data, Toast.LENGTH_LONG).show();
    // om ny brygd har sparats. dvs valt ny brygd i action bar och sedan sparat innan back-knappen
    // tryckts.
    else if (resultCode == BrygdFragment.RESULT_BRYGD_SAVED) {
      new FetchItemsTask().execute();
    }
    // om en brygd har editerats så har även modellen lästs in på nytt, i så fall uppdatera.
    else {
      ArrayList<Brygd> mBrygds2 = BrygdLab.get(getActivity()).getBrygds();
      if (mBrygds != mBrygds2) {
        Log.d(TAG, "inte samma brygds, call notifyDataSetChanged");
        mBrygds = mBrygds2;
        setListAdapter(new BrygdAdapter(mBrygds2));
        //                ((BrygdAdapter)getListAdapter()).notifyDataSetChanged();
      }
    }
  }
예제 #3
0
 @Override
 protected void onPostExecute(ArrayList<Brygd> brygds) {
   // try {Thread.sleep(5000);} catch (InterruptedException e) {}
   Log.d(TAG, "onPostExecute, brygds.length = " + brygds.size());
   mBrygds = brygds;
   BrygdAdapter adapter = new BrygdAdapter(mBrygds);
   setListAdapter(adapter);
   Log.d(TAG, "onPostExecute, nu är adaptern satt, getCount = " + adapter.getCount());
   BrygdLab.setBrygds(brygds);
   /*
               if (getActivity() != null) {
                   Toast.makeText(getActivity(), "Öllistan uppdaterad.", Toast.LENGTH_LONG).show();
               }
   */
 }