Hi,

I'm trying exactly the same, but no luck.
Does somebody know anything on this?

Thanks

Arkaitz

On Feb 14, 7:01 am, Matt <[email protected]> wrote:
> I am a bit stuck here.  I think I am missing something obvious but
> just can't figure out what it is.  I have been trying to load the
> original source code for "Alarm Clock" into Eclipse, but the code
> shows an error inDigitalClock.java - "mContextcannot be resolved".
> I have looked in a number of releases, and paste the code in exactly,
> but always the same error - "mContextcannot be resolved".
>
> I have tried to "fix" the code various ways but to no avail.  But then
> this is the working original source code, so of course should not
> requiring fixing .....
>
> Any ideas would be appreciated.
>
> Thanks,
> Matt
>
> Here is theDigitalClock.java code.
> ===============
>
> /*
>  * Copyright (C) 2008 The Android Open Source Project
>  *
>  * 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 com.tencentapps.betteralarm;
>
> import android.content.BroadcastReceiver;
> import android.content.Context;
> import android.content.Intent;
> import android.content.IntentFilter;
> import android.content.res.Resources;
> import android.database.ContentObserver;
> import android.graphics.drawable.AnimationDrawable;
> import android.graphics.drawable.Drawable;
> import android.os.Handler;
> import android.provider.Settings;
> import android.text.format.DateFormat;
> import android.util.AttributeSet;
> import android.view.View;
> import android.widget.LinearLayout;
> import android.widget.TextView;
>
> import java.util.Calendar;
>
> import com.tencentapps.betteralarm.R;
> import com.tencentapps.betteralarm.R.color;
> import com.tencentapps.betteralarm.R.drawable;
> import com.tencentapps.betteralarm.R.id;
>
> /**
>  * Displays the time
>  */
> public classDigitalClockextends LinearLayout {
>
>     private final static String M12 = "h:mm";
>
>     private Calendar mCalendar;
>     private String mFormat;
>     private TextView mTimeDisplay;
>     private AmPm mAmPm;
>     private boolean mAnimate;
>     private ContentObserver mFormatChangeObserver;
>     private boolean mLive = true;
>     private boolean mAttached;
>
>     /* called by system on minute ticks */
>     private final Handler mHandler = new Handler();
>     private final BroadcastReceiver mIntentReceiver = new
> BroadcastReceiver() {
>             @Override
>             public void onReceive(Context context, Intent intent) {
>                 if (mLive && intent.getAction().equals(
>                             Intent.ACTION_TIMEZONE_CHANGED)) {
>                     mCalendar = Calendar.getInstance();
>                 }
>                 updateTime();
>             }
>         };
>
>     static class AmPm {
>         private int mColorOn, mColorOff;
>
>         private LinearLayout mAmPmLayout;
>         private TextView mAm, mPm;
>
>         AmPm(View parent) {
>             mAmPmLayout = (LinearLayout)
> parent.findViewById(R.id.am_pm);
>             mAm = (TextView)mAmPmLayout.findViewById(R.id.am);
>             mPm = (TextView)mAmPmLayout.findViewById(R.id.pm);
>
>             Resources r = parent.getResources();
>             mColorOn = r.getColor(R.color.ampm_on);
>             mColorOff = r.getColor(R.color.ampm_off);
>         }
>
>         void setShowAmPm(boolean show) {
>             mAmPmLayout.setVisibility(show ? View.VISIBLE :
> View.GONE);
>         }
>
>         void setIsMorning(boolean isMorning) {
>             mAm.setTextColor(isMorning ? mColorOn : mColorOff);
>             mPm.setTextColor(isMorning ? mColorOff : mColorOn);
>         }
>     }
>
>     private class FormatChangeObserver extends ContentObserver {
>         public FormatChangeObserver() {
>             super(new Handler());
>         }
>         @Override
>         public void onChange(boolean selfChange) {
>             setDateFormat();
>             updateTime();
>         }
>     }
>
>     publicDigitalClock(Context context) {
>         this(context, null);
>     }
>
>     publicDigitalClock(Context context, AttributeSet attrs) {
>         super(context, attrs);
>     }
>
>     @Override
>     protected void onFinishInflate() {
>         super.onFinishInflate();
>
>         mTimeDisplay = (TextView) findViewById(R.id.timeDisplay);
>         mAmPm = new AmPm(this);
>         mCalendar = Calendar.getInstance();
>
>         setDateFormat();
>     }
>
>     @Override
>     protected void onAttachedToWindow() {
>         super.onAttachedToWindow();
>
>         if (Log.LOGV) Log.v("onAttachedToWindow " + this);
>
>         if (mAttached) return;
>         mAttached = true;
>
>         if (mAnimate) {
>             setBackgroundResource(R.drawable.animate_circle);
>             /* Start the animation (looped playback by default). */
>             ((AnimationDrawable) getBackground()).start();
>         }
>
>         if (mLive) {
>             /* monitor time ticks, time changed, timezone */
>             IntentFilter filter = new IntentFilter();
>             filter.addAction(Intent.ACTION_TIME_TICK);
>             filter.addAction(Intent.ACTION_TIME_CHANGED);
>             filter.addAction(Intent.ACTION_TIMEZONE_CHANGED);
>            mContext.registerReceiver(mIntentReceiver, filter, null,
> mHandler);
>         }
>
>         /* monitor 12/24-hour display preference */
>         mFormatChangeObserver = new FormatChangeObserver();
>        mContext.getContentResolver().registerContentObserver(
>                 Settings.System.CONTENT_URI, true,
> mFormatChangeObserver);
>
>         updateTime();
>     }
>
>     @Override
>     protected void onDetachedFromWindow() {
>         super.onDetachedFromWindow();
>
>         if (!mAttached) return;
>         mAttached = false;
>
>         Drawable background = getBackground();
>         if (background instanceof AnimationDrawable) {
>             ((AnimationDrawable) background).stop();
>         }
>
>         if (mLive) {
>            mContext.unregisterReceiver(mIntentReceiver);
>         }
>        mContext.getContentResolver().unregisterContentObserver(
>                 mFormatChangeObserver);
>     }
>
>     void updateTime(Calendar c) {
>         mCalendar = c;
>         updateTime();
>     }
>
>     private void updateTime() {
>         if (mLive) {
>             mCalendar.setTimeInMillis(System.currentTimeMillis());
>         }
>
>         CharSequence newTime = DateFormat.format(mFormat, mCalendar);
>         mTimeDisplay.setText(newTime);
>         mAmPm.setIsMorning(mCalendar.get(Calendar.AM_PM) == 0);
>     }
>
>     private void setDateFormat() {
>         mFormat = Alarms.get24HourMode(mContext) ? Alarms.M24 : M12;
>         mAmPm.setShowAmPm(mFormat == M12);
>     }
>
>     void setAnimate() {
>         mAnimate = true;
>     }
>
>     void setLive(boolean live) {
>         mLive = live;
>     }
>
> }
>
>

-- 
You received this message because you are subscribed to the Google
Groups "Android Developers" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to
[email protected]
For more options, visit this group at
http://groups.google.com/group/android-developers?hl=en

Reply via email to