Move to new pattern for how files-expanded-changed is fired.

Also remove event that's not listened to.

Release-Notes: skip
Change-Id: I86fe6a27760fd22cfe055d223a56673f4036c4e0
diff --git a/polygerrit-ui/app/elements/change/gr-file-list/gr-file-list.ts b/polygerrit-ui/app/elements/change/gr-file-list/gr-file-list.ts
index d9a16e23..881ee49 100644
--- a/polygerrit-ui/app/elements/change/gr-file-list/gr-file-list.ts
+++ b/polygerrit-ui/app/elements/change/gr-file-list/gr-file-list.ts
@@ -156,7 +156,7 @@
 
 declare global {
   interface HTMLElementEventMap {
-    'num-files-shown-changed': ValueChangedEvent<number>;
+    'files-shown-changed': ValueChangedEvent<number>;
     'files-expanded-changed': ValueChangedEvent<FilesExpandedState>;
     'diff-prefs-changed': ValueChangedEvent<DiffPreferencesInfo>;
   }
@@ -168,7 +168,7 @@
 export class GrFileList extends LitElement {
   /**
    * @event files-expanded-changed
-   * @event num-files-shown-changed
+   * @event files-shown-changed
    * @event diff-prefs-changed
    */
   @query('#diffPreferencesDialog')
@@ -198,8 +198,19 @@
   @property({type: Boolean})
   editMode?: boolean;
 
-  @property({type: String, attribute: 'files-expanded'})
-  filesExpanded = FilesExpandedState.NONE;
+  private _filesExpanded = FilesExpandedState.NONE;
+
+  get filesExpanded() {
+    return this._filesExpanded;
+  }
+
+  set filesExpanded(filesExpanded: FilesExpandedState) {
+    if (this._filesExpanded === filesExpanded) return;
+    const oldFilesExpanded = this._filesExpanded;
+    this._filesExpanded = filesExpanded;
+    fire(this, 'files-expanded-changed', {value: this._filesExpanded});
+    this.requestUpdate('filesExpanded', oldFilesExpanded);
+  }
 
   // Private but used in tests.
   @state()
@@ -740,12 +751,8 @@
       this.shownFiles = this.computeFilesShown();
     }
     if (changedProperties.has('expandedFiles')) {
-      changedProperties.set('filesExpanded', this.filesExpanded);
       this.expandedFilesChanged(changedProperties.get('expandedFiles'));
     }
-    if (changedProperties.has('filesExpanded')) {
-      fire(this, 'files-expanded-changed', {value: this.filesExpanded});
-    }
   }
 
   override connectedCallback() {
@@ -2060,7 +2067,6 @@
 
   private incrementNumFilesShown() {
     this.numFilesShown += this.fileListIncrement;
-    fire(this, 'num-files-shown-changed', {value: this.numFilesShown});
   }
 
   private computeFileListControlClass() {
@@ -2092,7 +2098,6 @@
 
   private showAllFiles() {
     this.numFilesShown = this.files.length;
-    fire(this, 'num-files-shown-changed', {value: this.numFilesShown});
   }
 
   /**