/* @file ListerHandler.java * * @author marco corvi * @date dec 2011 * * @brief TopoDroid handler for a data lister * -------------------------------------------------------- * Copyright This sowftare is distributed under GPL-3.0 or later * See the file COPYING. * -------------------------------------------------------- */ package com.topodroid.DistoX; import android.os.Handler; import android.os.Message; import android.os.Bundle; public class ListerHandler extends Handler { static final String LISTER_DATA_NUMBER = "LISTER_DATA_NUMBER"; static final String LISTER_DATA_STATUS = "LISTER_DATA_STATUS"; static final String LISTER_DATA_BLOCK_ID = "LISTER_DATA_BLOCK_ID"; static final String LISTER_DATA_AZIMUTH = "LISTER_DATA_AZIMUTH"; static final String LISTER_DATA_FIXED_EXTEND = "LISTER_DATA_FIXED_EXTEND"; static final int LISTER_REFRESH = 1; static final int LISTER_UPDATE = 2; static final int LISTER_STATUS = 3; static final int LISTER_REF_AZIMUTH = 4; ILister mLister = null; // default cstr ListerHandler( ) { mLister = null; } ListerHandler( ILister lister ) { mLister = lister; } void refreshDisplay( int nr, boolean toast ) { if ( mLister != null ) mLister.refreshDisplay( nr, toast ); } @Override public void handleMessage( Message msg ) { if ( mLister == null ) return; Bundle bundle = msg.getData(); switch ( msg.what ) { case LISTER_REFRESH: int nr = bundle.getInt( LISTER_DATA_NUMBER ); mLister.refreshDisplay( nr, false ); break; case LISTER_STATUS: int status = bundle.getInt( LISTER_DATA_STATUS ); mLister.setConnectionStatus( status ); break; case LISTER_UPDATE: long blk_id = bundle.getLong( LISTER_DATA_BLOCK_ID ); mLister.updateBlockList( blk_id ); break; case LISTER_REF_AZIMUTH: float azimuth = bundle.getFloat( LISTER_DATA_AZIMUTH ); long fixed_extend = bundle.getLong( LISTER_DATA_FIXED_EXTEND ); mLister.setRefAzimuth( azimuth, fixed_extend ); break; } } }