Skip to content

Commit f12214e

Browse files
author
Jacob Mansfield
committed
Replace magic numbers with easily-identifiable variables
1 parent 44850e0 commit f12214e

File tree

5 files changed

+78
-52
lines changed

5 files changed

+78
-52
lines changed

app/src/main/java/ie/macinnes/tvheadend/migrate/MigrateUtils.java

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -30,6 +30,9 @@
3030

3131
public class MigrateUtils {
3232
public static final String TAG = MigrateUtils.class.getName();
33+
private static final int VERSION_14 = 14;
34+
private static final int VERSION_38 = 38;
35+
private static final int VERSION_79 = 79;
3336

3437
public static void doMigrate(Context context) {
3538
Log.d(TAG, "doMigrate()");
@@ -52,13 +55,13 @@ public static void doMigrate(Context context) {
5255

5356
// Run any migrations
5457
if (currentApplicationVersion != lastInstalledApplicationVersion) {
55-
if (lastInstalledApplicationVersion <= 14) {
58+
if (lastInstalledApplicationVersion <= VERSION_14) {
5659
migrateAccountsPortName(context);
5760
}
58-
if (lastInstalledApplicationVersion <= 38) {
61+
if (lastInstalledApplicationVersion <= VERSION_38) {
5962
migrateAccountHtspPort(context);
6063
}
61-
if (lastInstalledApplicationVersion <= 79) {
64+
if (lastInstalledApplicationVersion <= VERSION_79) {
6265
migrateSetupCompleted(context);
6366
}
6467
}

app/src/main/java/ie/macinnes/tvheadend/player/EventLogger.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -68,6 +68,7 @@
6868
TIME_FORMAT.setMaximumFractionDigits(2);
6969
TIME_FORMAT.setGroupingUsed(false);
7070
}
71+
private static final int STEREO_AUDIO = 2;
7172

7273
private final MappingTrackSelector trackSelector;
7374
private final Timeline.Window window;
@@ -433,7 +434,7 @@ private static String getFormatSupportString(int formatSupport) {
433434
}
434435

435436
private static String getAdaptiveSupportString(int trackCount, int adaptiveSupport) {
436-
if (trackCount < 2) {
437+
if (trackCount < STEREO_AUDIO) {
437438
return "N/A";
438439
}
439440
switch (adaptiveSupport) {

app/src/main/java/ie/macinnes/tvheadend/player/HtspDataSource.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -40,6 +40,7 @@
4040

4141
public class HtspDataSource implements DataSource, Subscriber.Listener {
4242
private static final String TAG = HtspDataSource.class.getName();
43+
private static final int FIFTEEN_MB = 15*1024*1024;
4344

4445
public static class Factory implements DataSource.Factory {
4546
private static final String TAG = Factory.class.getName();
@@ -79,7 +80,7 @@ public HtspDataSource(Context context, SimpleHtspConnection connection, String s
7980
mConnection = connection;
8081
mStreamProfile = streamProfile;
8182

82-
mBuffer = ByteBuffer.allocate(15728640); // 15 MB
83+
mBuffer = ByteBuffer.allocate(FIFTEEN_MB); // 15 MB
8384
mBuffer.limit(0);
8485

8586
mSubscriber = new Subscriber(mConnection, this);

app/src/main/java/ie/macinnes/tvheadend/player/ShieldVideoRenderer.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -34,6 +34,7 @@
3434

3535
public class ShieldVideoRenderer extends MediaCodecVideoRenderer {
3636
private static final String TAG = ShieldVideoRenderer.class.getName();
37+
private static final int THIRTEEN_MINUTES = 13 * 60 * 1000;
3738

3839
private long startTime;
3940
private boolean enabled;
@@ -56,7 +57,7 @@ public void render(long positionUs, long elapsedRealtimeUs) throws ExoPlaybackEx
5657
long currentTime = System.currentTimeMillis();
5758
long diffMs = currentTime - startTime;
5859

59-
if(enabled && diffMs > 13 * 60 * 1000) {
60+
if(enabled && diffMs > THIRTEEN_MINUTES) {
6061
Log.d(TAG, "Resetting codecs as nVidia Shield workaround");
6162
releaseCodec();
6263
}

app/src/main/java/ie/macinnes/tvheadend/sync/EpgSyncTask.java

Lines changed: 66 additions & 46 deletions
Original file line numberDiff line numberDiff line change
@@ -40,7 +40,6 @@
4040
import java.util.ArrayList;
4141
import java.util.Arrays;
4242
import java.util.HashSet;
43-
import java.util.Iterator;
4443
import java.util.List;
4544
import java.util.Queue;
4645
import java.util.Set;
@@ -63,6 +62,27 @@ public class EpgSyncTask implements HtspMessage.Listener, Authenticator.Listener
6362
"eventAdd", "eventUpdate", "eventDelete",
6463
"initialSyncCompleted",
6564
}));
65+
private static final String CHANNEL_ID_KEY = "channelId";
66+
private static final String CHANNEL_NUMBER_KEY = "channelNumber";
67+
private static final String CHANNEL_NUMBER_MINOR_KEY = "channelNumberMinor";
68+
private static final String CHANNEL_NAME_KEY = "channelName";
69+
private static final String CHANNEL_ICON_KEY = "channelIcon";
70+
71+
private static final String PROGRAM_DESCRIPTION_KEY = "description";
72+
private static final String PROGRAM_SUMMARY_KEY = "summary";
73+
private static final String PROGRAM_TITLE_KEY = "title";
74+
private static final String PROGRAM_EPISODE_TITLE_KEY = "subtitle";
75+
private static final String PROGRAM_CONTENT_TYPE_KEY = "contentType";
76+
private static final String PROGRAM_AGE_RATING_KEY = "ageRating";
77+
private static final String PROGRAM_START_TIME_KEY = "start";
78+
private static final String PROGRAM_FINISH_TIME_KEY = "stop";
79+
private static final String PROGRAM_SEASON_NUMBER_KEY = "seasonNumber";
80+
private static final String PROGRAM_EPISODE_NUMBER_KEY = "episodeNumber";
81+
private static final String PROGRAM_IMAGE = "image";
82+
83+
private static final String EVENT_ID_KEY = "eventId";
84+
85+
private static final int TWO_HOURS = 2*60*60;
6686

6787
/**
6888
* A listener for EpgSync events
@@ -174,7 +194,7 @@ public void onAuthenticationStateChange(@NonNull Authenticator.State state) {
174194

175195
if (mQuickSync) {
176196
// Quick sync ignores the epg time preference, and syncs 2 hours of data
177-
epgMaxTime = 7200;
197+
epgMaxTime = TWO_HOURS;
178198
}
179199

180200
epgMaxTime = epgMaxTime + (System.currentTimeMillis() / 1000L);
@@ -244,19 +264,19 @@ private ContentValues channelToContentValues(@NonNull HtspMessage message) {
244264

245265
values.put(TvContract.Channels.COLUMN_INPUT_ID, TvContractUtils.getInputId());
246266
values.put(TvContract.Channels.COLUMN_TYPE, TvContract.Channels.TYPE_OTHER);
247-
values.put(TvContract.Channels.COLUMN_ORIGINAL_NETWORK_ID, message.getInteger("channelId"));
267+
values.put(TvContract.Channels.COLUMN_ORIGINAL_NETWORK_ID, message.getInteger(CHANNEL_ID_KEY));
248268

249-
if (message.containsKey("channelNumber") && message.containsKey("channelNumberMinor")) {
250-
final int channelNumber = message.getInteger("channelNumber");
251-
final int channelNumberMinor = message.getInteger("channelNumberMinor");
269+
if (message.containsKey(CHANNEL_NUMBER_KEY) && message.containsKey(CHANNEL_NUMBER_MINOR_KEY)) {
270+
final int channelNumber = message.getInteger(CHANNEL_NUMBER_KEY);
271+
final int channelNumberMinor = message.getInteger(CHANNEL_NUMBER_MINOR_KEY);
252272
values.put(TvContract.Channels.COLUMN_DISPLAY_NUMBER, channelNumber + "." + channelNumberMinor);
253-
} else if (message.containsKey("channelNumber")) {
254-
final int channelNumber = message.getInteger("channelNumber");
273+
} else if (message.containsKey(CHANNEL_NUMBER_KEY)) {
274+
final int channelNumber = message.getInteger(CHANNEL_NUMBER_KEY);
255275
values.put(TvContract.Channels.COLUMN_DISPLAY_NUMBER, String.valueOf(channelNumber));
256276
}
257277

258-
if (message.containsKey("channelName")) {
259-
values.put(TvContract.Channels.COLUMN_DISPLAY_NAME, message.getString("channelName"));
278+
if (message.containsKey(CHANNEL_NAME_KEY)) {
279+
values.put(TvContract.Channels.COLUMN_DISPLAY_NAME, message.getString(CHANNEL_NAME_KEY));
260280
}
261281

262282
// TODO
@@ -266,7 +286,7 @@ private ContentValues channelToContentValues(@NonNull HtspMessage message) {
266286
}
267287

268288
private void handleChannelAddUpdate(@NonNull HtspMessage message) {
269-
final int channelId = message.getInteger("channelId");
289+
final int channelId = message.getInteger(CHANNEL_ID_KEY);
270290
final ContentValues values = channelToContentValues(message);
271291
final Uri channelUri = TvContractUtils.getChannelUri(mContext, channelId);
272292

@@ -298,8 +318,8 @@ private void handleChannelAddUpdate(@NonNull HtspMessage message) {
298318
flushPendingChannelOps();
299319
}
300320

301-
if (message.containsKey("channelIcon")) {
302-
mPendingChannelLogoFetches.add(new PendingChannelLogoFetch(channelId, Uri.parse(message.getString("channelIcon"))));
321+
if (message.containsKey(CHANNEL_ICON_KEY)) {
322+
mPendingChannelLogoFetches.add(new PendingChannelLogoFetch(channelId, Uri.parse(message.getString(CHANNEL_ICON_KEY))));
303323
}
304324

305325
mSeenChannels.add(channelId);
@@ -433,78 +453,78 @@ protected void deleteChannels() {
433453
private ContentValues eventToContentValues(@NonNull HtspMessage message) {
434454
ContentValues values = new ContentValues();
435455

436-
values.put(TvContract.Programs.COLUMN_CHANNEL_ID, TvContractUtils.getChannelId(mContext, message.getInteger("channelId")));
437-
values.put(TvContract.Programs.COLUMN_INTERNAL_PROVIDER_DATA, String.valueOf(message.getInteger("eventId")));
456+
values.put(TvContract.Programs.COLUMN_CHANNEL_ID, TvContractUtils.getChannelId(mContext, message.getInteger(CHANNEL_ID_KEY)));
457+
values.put(TvContract.Programs.COLUMN_INTERNAL_PROVIDER_DATA, String.valueOf(message.getInteger(EVENT_ID_KEY)));
438458

439459
// COLUMN_TITLE, COLUMN_EPISODE_TITLE, and COLUMN_SHORT_DESCRIPTION are used in the
440460
// Live Channels app EPG Grid. COLUMN_LONG_DESCRIPTION appears unused.
441461
// On Sony TVs, COLUMN_LONG_DESCRIPTION is used for the "more info" display.
442462

443-
if (message.containsKey("title")) {
463+
if (message.containsKey(PROGRAM_TITLE_KEY)) {
444464
// The title of this TV program.
445-
values.put(TvContract.Programs.COLUMN_TITLE, message.getString("title"));
465+
values.put(TvContract.Programs.COLUMN_TITLE, message.getString(PROGRAM_TITLE_KEY));
446466
}
447467

448-
if (message.containsKey("subtitle")) {
468+
if (message.containsKey(PROGRAM_EPISODE_TITLE_KEY)) {
449469
// The episode title of this TV program for episodic TV shows.
450-
values.put(TvContract.Programs.COLUMN_EPISODE_TITLE, message.getString("subtitle"));
470+
values.put(TvContract.Programs.COLUMN_EPISODE_TITLE, message.getString(PROGRAM_EPISODE_TITLE_KEY));
451471
}
452472

453-
if (message.containsKey("summary") && message.containsKey("description")) {
473+
if (message.containsKey(PROGRAM_SUMMARY_KEY) && message.containsKey(PROGRAM_DESCRIPTION_KEY)) {
454474
// If we have both summary and description... use them both
455-
values.put(TvContract.Programs.COLUMN_SHORT_DESCRIPTION, message.getString("summary"));
456-
values.put(TvContract.Programs.COLUMN_LONG_DESCRIPTION, message.getString("description"));
475+
values.put(TvContract.Programs.COLUMN_SHORT_DESCRIPTION, message.getString(PROGRAM_SUMMARY_KEY));
476+
values.put(TvContract.Programs.COLUMN_LONG_DESCRIPTION, message.getString(PROGRAM_DESCRIPTION_KEY));
457477

458-
} else if (message.containsKey("summary") && !message.containsKey("description")) {
478+
} else if (message.containsKey(PROGRAM_SUMMARY_KEY) && !message.containsKey(PROGRAM_DESCRIPTION_KEY)) {
459479
// If we have only summary, use it.
460-
values.put(TvContract.Programs.COLUMN_SHORT_DESCRIPTION, message.getString("summary"));
480+
values.put(TvContract.Programs.COLUMN_SHORT_DESCRIPTION, message.getString(PROGRAM_SUMMARY_KEY));
461481

462-
} else if (!message.containsKey("summary") && message.containsKey("description")) {
482+
} else if (!message.containsKey(PROGRAM_SUMMARY_KEY) && message.containsKey(PROGRAM_DESCRIPTION_KEY)) {
463483
// If we have only description, use it.
464-
values.put(TvContract.Programs.COLUMN_SHORT_DESCRIPTION, message.getString("description"));
484+
values.put(TvContract.Programs.COLUMN_SHORT_DESCRIPTION, message.getString(PROGRAM_DESCRIPTION_KEY));
465485
}
466486

467-
if (message.containsKey("contentType")) {
487+
if (message.containsKey(PROGRAM_CONTENT_TYPE_KEY)) {
468488
values.put(TvContract.Programs.COLUMN_CANONICAL_GENRE,
469-
DvbMappings.ProgramGenre.get(message.getInteger("contentType")));
489+
DvbMappings.ProgramGenre.get(message.getInteger(PROGRAM_CONTENT_TYPE_KEY)));
470490
}
471491

472-
if (message.containsKey("ageRating")) {
473-
final int ageRating = message.getInteger("ageRating");
492+
if (message.containsKey(PROGRAM_AGE_RATING_KEY)) {
493+
final int ageRating = message.getInteger(PROGRAM_AGE_RATING_KEY);
474494
if (ageRating >= 4 && ageRating <= 18) {
475495
TvContentRating rating = TvContentRating.createRating("com.android.tv", "DVB", "DVB_" + ageRating);
476496
values.put(TvContract.Programs.COLUMN_CONTENT_RATING, rating.flattenToString());
477497
}
478498
}
479499

480-
if (message.containsKey("start")) {
481-
values.put(TvContract.Programs.COLUMN_START_TIME_UTC_MILLIS, message.getLong("start") * 1000);
500+
if (message.containsKey(PROGRAM_START_TIME_KEY)) {
501+
values.put(TvContract.Programs.COLUMN_START_TIME_UTC_MILLIS, message.getLong(PROGRAM_START_TIME_KEY) * 1000);
482502
}
483503

484-
if (message.containsKey("stop")) {
485-
values.put(TvContract.Programs.COLUMN_END_TIME_UTC_MILLIS, message.getLong("stop") * 1000);
504+
if (message.containsKey(PROGRAM_FINISH_TIME_KEY)) {
505+
values.put(TvContract.Programs.COLUMN_END_TIME_UTC_MILLIS, message.getLong(PROGRAM_FINISH_TIME_KEY) * 1000);
486506
}
487507

488508
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.N) {
489-
if (message.containsKey("seasonNumber")) {
490-
values.put(TvContract.Programs.COLUMN_SEASON_DISPLAY_NUMBER, message.getInteger("seasonNumber"));
509+
if (message.containsKey(PROGRAM_SEASON_NUMBER_KEY)) {
510+
values.put(TvContract.Programs.COLUMN_SEASON_DISPLAY_NUMBER, message.getInteger(PROGRAM_SEASON_NUMBER_KEY));
491511
}
492512

493-
if (message.containsKey("episodeNumber")) {
494-
values.put(TvContract.Programs.COLUMN_EPISODE_DISPLAY_NUMBER, message.getInteger("episodeNumber"));
513+
if (message.containsKey(PROGRAM_EPISODE_NUMBER_KEY)) {
514+
values.put(TvContract.Programs.COLUMN_EPISODE_DISPLAY_NUMBER, message.getInteger(PROGRAM_EPISODE_NUMBER_KEY));
495515
}
496516
} else {
497-
if (message.containsKey("seasonNumber")) {
498-
values.put(TvContract.Programs.COLUMN_SEASON_NUMBER, message.getInteger("seasonNumber"));
517+
if (message.containsKey(PROGRAM_SEASON_NUMBER_KEY)) {
518+
values.put(TvContract.Programs.COLUMN_SEASON_NUMBER, message.getInteger(PROGRAM_SEASON_NUMBER_KEY));
499519
}
500520

501-
if (message.containsKey("episodeNumber")) {
502-
values.put(TvContract.Programs.COLUMN_EPISODE_NUMBER, message.getInteger("episodeNumber"));
521+
if (message.containsKey(PROGRAM_EPISODE_NUMBER_KEY)) {
522+
values.put(TvContract.Programs.COLUMN_EPISODE_NUMBER, message.getInteger(PROGRAM_EPISODE_NUMBER_KEY));
503523
}
504524
}
505525

506-
if (message.containsKey("image")) {
507-
values.put(TvContract.Programs.COLUMN_POSTER_ART_URI, message.getString("image"));
526+
if (message.containsKey(PROGRAM_IMAGE)) {
527+
values.put(TvContract.Programs.COLUMN_POSTER_ART_URI, message.getString(PROGRAM_IMAGE));
508528
} else if(mSharedPreferences.getBoolean(Constants.KEY_EPG_DEFAULT_POSTER_ART_ENABLED, false)) {
509529
values.put(TvContract.Programs.COLUMN_POSTER_ART_URI, "android.resource://" + BuildConfig.APPLICATION_ID + "/" + R.drawable.default_event_icon);
510530
}
@@ -517,8 +537,8 @@ private void handleEventAddUpdate(@NonNull HtspMessage message) {
517537
// once there are no pending operations
518538
flushPendingChannelOps();
519539

520-
final int channelId = message.getInteger("channelId");
521-
final int eventId = message.getInteger("eventId");
540+
final int channelId = message.getInteger(CHANNEL_ID_KEY);
541+
final int eventId = message.getInteger(EVENT_ID_KEY);
522542
final ContentValues values = eventToContentValues(message);
523543
final Uri eventUri = TvContractUtils.getProgramUri(mContext, channelId, eventId);
524544

0 commit comments

Comments
 (0)