タイニー番組ナビゲータ本体
Revision | 133036ab8a7b9daaf24672798967e0ffdd9060f8 (tree) |
---|---|
Time | 2018-08-12 23:03:36 |
Author | Masahiko Kimura <mkimura@u01....> |
Commiter | Masahiko Kimura |
1.6.7 (2018/8/12):
1. [タイトル一覧]RD-X8でタブをクリックすると異常終了する問題の対応
@@ -438,7 +438,13 @@ public abstract class AbsTitleListView extends JPanel { | ||
438 | 438 | |
439 | 439 | titleUpdating = true; |
440 | 440 | String device_id = getSelectedDeviceId(); |
441 | + if (device_id == null) | |
442 | + return; | |
443 | + | |
441 | 444 | String device_name = rec.getDeviceName(device_id); |
445 | + if (device_name == null) | |
446 | + return; | |
447 | + | |
442 | 448 | String folder_name = getSelectedFolderName(); |
443 | 449 | |
444 | 450 | if (force){ |
@@ -465,9 +471,8 @@ public abstract class AbsTitleListView extends JPanel { | ||
465 | 471 | updateDeviceInfoLabel(); |
466 | 472 | } |
467 | 473 | |
468 | - if (titles){ | |
469 | - String devId = getSelectedDeviceId(); | |
470 | - | |
474 | + String devId = getSelectedDeviceId(); | |
475 | + if (titles && devId != null){ | |
471 | 476 | StWin.appendMessage(MSGID+"レコーダからタイトル一覧を取得します(force=" + String.valueOf(force) + ",details=" + String.valueOf(details) + "):"+devId); |
472 | 477 | if (rec.GetRdTitles(devId, force, details, devId.equals(HDDRecorder.DEVICE_ALL))){ |
473 | 478 | MWin.appendMessage(MSGID+"レコーダからタイトル一覧が正常に取得できました:"+devId); |
@@ -521,9 +526,8 @@ public abstract class AbsTitleListView extends JPanel { | ||
521 | 526 | updateDeviceInfoLabel(); |
522 | 527 | } |
523 | 528 | |
524 | - if (titles){ | |
525 | - String devId = getSelectedDeviceId(); | |
526 | - | |
529 | + String devId = getSelectedDeviceId(); | |
530 | + if (titles && devId != null){ | |
527 | 531 | StWin.appendMessage(MSGID+"レコーダからタイトル一覧を取得します(force=" + String.valueOf(force) + ",details=" + String.valueOf(details) + "):"+devId); |
528 | 532 | if (rec.GetRdTitles(devId, force, details, devId.equals(HDDRecorder.DEVICE_ALL))){ |
529 | 533 | // MWin.appendMessage(MSGID+"レコーダからタイトル一覧が正常に取得できました:"+devId); |
@@ -583,7 +587,8 @@ public abstract class AbsTitleListView extends JPanel { | ||
583 | 587 | no++; |
584 | 588 | } |
585 | 589 | |
586 | - combo.setSelectedIndex(idx); | |
590 | + if (no > 0) | |
591 | + combo.setSelectedIndex(idx); | |
587 | 592 | combo.setEnabled( combo.getItemCount() > 0 ); |
588 | 593 | deviceUpdating = false; |
589 | 594 | } |
@@ -599,7 +604,7 @@ public abstract class AbsTitleListView extends JPanel { | ||
599 | 604 | String s = "残量(DR):"; |
600 | 605 | |
601 | 606 | String device_id = getSelectedDeviceId(); |
602 | - DeviceInfo info = rec.GetRDDeviceInfo(device_id); | |
607 | + DeviceInfo info = device_id != null ? rec.GetRDDeviceInfo(device_id) : null; | |
603 | 608 | if (info != null){ |
604 | 609 | int allsize = info.getAllSize(); |
605 | 610 | int freesize = info.getFreeSize(); |
@@ -622,7 +627,9 @@ public abstract class AbsTitleListView extends JPanel { | ||
622 | 627 | return; |
623 | 628 | |
624 | 629 | String device_id = getSelectedDeviceId(); |
625 | - String device_name = "[" + rec.getDeviceName(device_id) + "]"; | |
630 | + String device_name = device_id != null ? rec.getDeviceName(device_id) : null; | |
631 | + if (device_name != null) | |
632 | + device_name = "[" + device_name + "]"; | |
626 | 633 | |
627 | 634 | JComboBoxPanel combo = jCBXPanel_folder; |
628 | 635 | ArrayList<TextValueSet> tvs = rec.getFolderList(); |
@@ -640,7 +647,8 @@ public abstract class AbsTitleListView extends JPanel { | ||
640 | 647 | no++; |
641 | 648 | } |
642 | 649 | |
643 | - combo.setSelectedIndex(idx); | |
650 | + if (no > 0) | |
651 | + combo.setSelectedIndex(idx); | |
644 | 652 | combo.setEnabled( combo.getItemCount() > 0 ); |
645 | 653 | } |
646 | 654 |
@@ -791,7 +799,7 @@ public abstract class AbsTitleListView extends JPanel { | ||
791 | 799 | return; |
792 | 800 | |
793 | 801 | String folder_name = getSelectedFolderName(); |
794 | - String folder_id = text2value(rec.getFolderList(), folder_name); | |
802 | + String folder_id = folder_name != null ? text2value(rec.getFolderList(), folder_name) : ""; | |
795 | 803 | |
796 | 804 | // ジャンルが選択されている場合、そのジャンルに属するタイトル以外はスキップする |
797 | 805 | String genre_name = (String)jCBXPanel_genre.getSelectedItem(); |
@@ -990,7 +998,7 @@ public abstract class AbsTitleListView extends JPanel { | ||
990 | 998 | |
991 | 999 | HDDRecorder rec = getSelectedRecorder(); |
992 | 1000 | String folder_name = getSelectedFolderName(); |
993 | - String folder_id = text2value(rec.getFolderList(), folder_name); | |
1001 | + String folder_id = folder_name != null ? text2value(rec.getFolderList(), folder_name) : ""; | |
994 | 1002 | |
995 | 1003 | editFolderName(folder_id, folder_name); |
996 | 1004 | } |
@@ -1075,6 +1083,9 @@ public abstract class AbsTitleListView extends JPanel { | ||
1075 | 1083 | HDDRecorder rec = getSelectedRecorder(); |
1076 | 1084 | |
1077 | 1085 | String folder_name = getSelectedFolderName(); |
1086 | + if (folder_name == null) | |
1087 | + return; | |
1088 | + | |
1078 | 1089 | Matcher ma = Pattern.compile("^\\[(.*)\\] (.*)$").matcher(folder_name); |
1079 | 1090 | final String device_name = ma.find() ? ma.group(1) : ""; |
1080 | 1091 | final String device_id = rec.getDeviceID(device_name); |
@@ -5,7 +5,7 @@ import java.util.regex.Pattern; | ||
5 | 5 | |
6 | 6 | |
7 | 7 | public class VersionInfo { |
8 | - private static final String Version = "タイニー番組ナビゲータ for DBR-T2007 3.22.18β+1.6.6"; | |
8 | + private static final String Version = "タイニー番組ナビゲータ for DBR-T2007 3.22.18β+1.6.7"; | |
9 | 9 | |
10 | 10 | private static final String OSname = System.getProperty("os.name"); |
11 | 11 | private static final String OSvers = System.getProperty("os.version"); |