xref: /aosp_15_r20/development/tools/ota_analysis/src/views/PackageAnalysis.vue (revision 90c8c64db3049935a07c6143d7fd006e26f8ecca)
1*90c8c64dSAndroid Build Coastguard Worker<template>
2*90c8c64dSAndroid Build Coastguard Worker  <v-row>
3*90c8c64dSAndroid Build Coastguard Worker    <v-col
4*90c8c64dSAndroid Build Coastguard Worker      cols="12"
5*90c8c64dSAndroid Build Coastguard Worker      md="6"
6*90c8c64dSAndroid Build Coastguard Worker    >
7*90c8c64dSAndroid Build Coastguard Worker      <BaseFile
8*90c8c64dSAndroid Build Coastguard Worker        label="Please drag and drop an OTA package or Select one"
9*90c8c64dSAndroid Build Coastguard Worker        @file-select="unpackOTA"
10*90c8c64dSAndroid Build Coastguard Worker      />
11*90c8c64dSAndroid Build Coastguard Worker      <PayloadDetail
12*90c8c64dSAndroid Build Coastguard Worker        v-if="zipFile && payload"
13*90c8c64dSAndroid Build Coastguard Worker        :zipFile="zipFile"
14*90c8c64dSAndroid Build Coastguard Worker        :payload="payload"
15*90c8c64dSAndroid Build Coastguard Worker      />
16*90c8c64dSAndroid Build Coastguard Worker    </v-col>
17*90c8c64dSAndroid Build Coastguard Worker    <v-divider
18*90c8c64dSAndroid Build Coastguard Worker      vertical
19*90c8c64dSAndroid Build Coastguard Worker    />
20*90c8c64dSAndroid Build Coastguard Worker    <v-col
21*90c8c64dSAndroid Build Coastguard Worker      cols="12"
22*90c8c64dSAndroid Build Coastguard Worker      md="6"
23*90c8c64dSAndroid Build Coastguard Worker    >
24*90c8c64dSAndroid Build Coastguard Worker      <PayloadComposition
25*90c8c64dSAndroid Build Coastguard Worker        v-if="zipFile && payload.manifest"
26*90c8c64dSAndroid Build Coastguard Worker        :manifest="payload.manifest"
27*90c8c64dSAndroid Build Coastguard Worker      />
28*90c8c64dSAndroid Build Coastguard Worker    </v-col>
29*90c8c64dSAndroid Build Coastguard Worker  </v-row>
30*90c8c64dSAndroid Build Coastguard Worker</template>
31*90c8c64dSAndroid Build Coastguard Worker
32*90c8c64dSAndroid Build Coastguard Worker<script>
33*90c8c64dSAndroid Build Coastguard Workerimport BaseFile from '@/components/BaseFile.vue'
34*90c8c64dSAndroid Build Coastguard Workerimport PayloadDetail from '@/components/PayloadDetail.vue'
35*90c8c64dSAndroid Build Coastguard Workerimport PayloadComposition from '@/components/PayloadComposition.vue'
36*90c8c64dSAndroid Build Coastguard Workerimport { Payload } from '@/services/payload.js'
37*90c8c64dSAndroid Build Coastguard Worker
38*90c8c64dSAndroid Build Coastguard Workerexport default {
39*90c8c64dSAndroid Build Coastguard Worker  components: {
40*90c8c64dSAndroid Build Coastguard Worker    BaseFile,
41*90c8c64dSAndroid Build Coastguard Worker    PayloadDetail,
42*90c8c64dSAndroid Build Coastguard Worker    PayloadComposition,
43*90c8c64dSAndroid Build Coastguard Worker  },
44*90c8c64dSAndroid Build Coastguard Worker  data() {
45*90c8c64dSAndroid Build Coastguard Worker    return {
46*90c8c64dSAndroid Build Coastguard Worker      zipFile: null,
47*90c8c64dSAndroid Build Coastguard Worker      payload: null,
48*90c8c64dSAndroid Build Coastguard Worker    }
49*90c8c64dSAndroid Build Coastguard Worker  },
50*90c8c64dSAndroid Build Coastguard Worker  methods: {
51*90c8c64dSAndroid Build Coastguard Worker    async unpackOTA(files) {
52*90c8c64dSAndroid Build Coastguard Worker      this.zipFile = files[0]
53*90c8c64dSAndroid Build Coastguard Worker      try {
54*90c8c64dSAndroid Build Coastguard Worker        this.payload = new Payload(this.zipFile)
55*90c8c64dSAndroid Build Coastguard Worker        await this.payload.init()
56*90c8c64dSAndroid Build Coastguard Worker      } catch (err) {
57*90c8c64dSAndroid Build Coastguard Worker        alert('Please check if this is a correct OTA package (.zip).')
58*90c8c64dSAndroid Build Coastguard Worker        console.log(err)
59*90c8c64dSAndroid Build Coastguard Worker      }
60*90c8c64dSAndroid Build Coastguard Worker    },
61*90c8c64dSAndroid Build Coastguard Worker  },
62*90c8c64dSAndroid Build Coastguard Worker}
63*90c8c64dSAndroid Build Coastguard Worker</script>
64